论文部分内容阅读
随着多核系统片上集成的CPU核数的增多,系统对Cache的访存需求也急剧增加,因此,片上Cache的容量也势必会增大,从而其消耗的能量也越来越多。能量的巨额消耗,会引起系统温度的上升,温度的上升又会影响系统的性能。所以,巨大的能量消耗也成为了系统性能提高的一个瓶颈。因此,面向低功耗的Cache设计成为了当前多核研究的热点之一。而在系统运行过程当中,不同的Cache划分方法对Cache能耗的影响也举足轻重,所以面向低功耗的Cache划分方法的研究也成了多核Cache划分中的一个重点。 本文针对当前二级Cache划分算法以及低功耗技术的研究现状进行分析发现,目前的Cache划分算法主要是面向公平性、性能或者QoS的,很少考虑到功耗问题。面向公平性的Cache划分算法主要是为了实现系统各核Cache资源划分的公平性,面向性能的划分算法主要是以提高系统整体吞吐率为目标,而面向QOS的Cache划分则主要是考虑Cache某一方面的服务质量。综上所述,目前对Cache划分算法的研究虽然比较成熟,但是结合Cache划分来考虑降低功耗的算法少之又少,同时考虑公平性和低功耗的更是鲜而有之。仅有的一些面向低功耗的Cache划分也是在性能折损的基础上进行的,并没有对划分算法本身进行实质性的改进。 针对以上情况,本文结合系统访存的时间局部性和空间局部性的特点及现有Cache划分算法提出了面向低功耗的多核Cache动态混合划分算法(LPHP)以及兼顾公平性的LP-PF算法。两种算法都是动态划分算法,动态跟踪系统对二级Cache的访存情况,将对二级Cache访问差异度较大的线程合并为一个划分单位,同时运用私有和共享两种资源分配方式来实施Cache划分,从而实现在执行同一个应用时,使用更少的Cache列,关闭剩余Cache列,来达到降低系统功耗的目的。LPHP通过混合划分增加可关闭的Cache列来达到降低功耗的目的,符合当前多核发展的低功耗趋势。鉴于公平性对Cache划分总体效果的重要性,LP-PF还兼顾了划分的公平性。本文通过多核系统模拟器Simics来实现对多核系统Cache访存状况的模拟,结合SPEC2000测试用例,分别模拟了基于LRU替换策略的均分算法,LP-CP算法,I-F CP算法以及本文中设计的LPHP和LP-PF算法,并对各算法进行了对比验证。实验结果表明,在16核处理器系统中,本文设计实现的LPHP算法与基于传统LRU替换策略的均分算法相比,功耗降低了20.3%;与LP-CP算法相比,功耗降低了12.77%。由此可以看出,LPHP的低功耗特性效果明显。LP-PF算法的公平性比LPHP算法提高了51.58%,性能损失非常小;比面向公平性的I-F CP算法,功耗降低了11.71%,公平性提高了18.87%。因此,本文提出的LP-PF算法无论是在降低系统功耗方面还是提升系统公平性方面都有很大的提高。