论文部分内容阅读
制造工艺的持续发展,为芯片提供了指数级增长的可用晶体管,单个芯片上甚至可以容纳数10亿个晶体管,因而处理器能耗和热密度逼近其物理极限,成为限制处理器性能提升的主要瓶颈。如何组织利用这些晶体管资源,将之转化为适应未来应用的有效计算性能成为一个的难题。线延时相对开关延时的不断增加,芯片热密度逼近制冷极限,线路的复杂性使得简单增加现有处理器的设计成为泡影,设计人员不得不放弃传统通过增加单芯片性能的方式,转而采用多核架构提升处理器的性能。同时,已有的研究表明不同应用对资源的需求存在较大差异,通过资源重构可以获得显著的效益。近年来,有关多核多线程的动态重构成为该领域中的一个研究热点。本文对基于多核多线程架构的动态资源管理进行了深入的研究,主要工作包括:(1)通过阅读多核多线程领域专家的文献和相关的技术文档,本文对CMP、SMT、细/粗粒度多线程等多核结构及亟待解决的关键问题以及各种架构的优劣等各方面进行了系统的分析和阐述。在实际的处理器产品中,通常不会只采用某种单一的处理架构,而采用多种架构混合的方式,以达到处理器与多级Cache及存储的最佳匹配,根据当前商用处理器的结构,CMP与SMT的混合架构将在很长一段时间占据处理器领域的主流位置。(2)目前,关于SMT的资源重分配算法主要有以下几种,以L1/L2Cache的缺失率或者系统的IPC为重划分指标,控制数据通路资源在不同线程之间的分配;或者通过多种分配方案测试,动态追踪系统需求的最佳资源匹配。这两种方案或分配算法与目标相关性不大,或需要很长时间才能找到最佳分配方案。本文中提出以资源利用率为衡量标准,并设置线程的资源吸收壁,保证线程免于饥饿。(3)核内资源动态管理大都限于SMT处理器,但SMT不具有扩展性,直接移植到其它架构中效果往往不如人意。本文中提出一种基于CMT架构的动态资源管理算法,该方案能够动态的调整线程的资源分配量,在保证性能基础上考虑关闭多余资源,以达到节能降耗目的,并综合考虑了多核多线程结构对系统的总体吞吐量的影响。为了更准确的验证本文提出的动态重构方案,使用Simics和GEMS模拟出全系统SPARC平台,并用SPEC OMP基准测试程序验证。结果表明在4核*4线程环境下,我们的方案比传统静态划分方案的功耗降低了18.13%,同时性能提升40.1%。