您的位置:首页 > 编程语言 > ASP

MemScale: Active Low-Power Modes for Main Memory(2011 ASPLOS)

2015-10-15 14:03 661 查看
MemScale: Active Low-Power Modes for Main Memory

MemScale:是根据当前memory的带宽,由操作系统来决定memory subsystem的DVFS/DFS模式的能耗节省策略,它会使应用性能的降低在它所能接受的范围内。其中memory controller使用DVFS,memory channels和memory devices使用DFS

面临的问题:以前的时候在datacenter中能耗差不多与操作者和环境有很大的关系,所以人们就致力于研究datacenter的基础架构,这样导致现在的设备有80%以上的能耗是服务器自身消耗的。当时的processor在服务器能耗中占有很大的比例,但是随着人们对processor的进一步研究,现在processor在能耗中占得比重已经不是那么的多了,相对来说因为多核的产生对memory的带宽和容量的要求越来越高memory占有的比重就变得越来越多(差不多可以达到整个能耗的40%,等于甚至超过processor的比例),在此之前的研究都是集中在DRAM的low-power
states上,但是lower-power states都idle period有很高的要求,即使是在lightly load的时候也很难达到要求,因为能耗管理都是基于粗粒度的,deep idle lower-power states很难在不大量降低性能的前提下起作用。

解决的方案:正是面临上面的问题,所以提出了MemScale,在满足应用的性能的要求的前提下,一系列的low-power modes 硬件机制和软件策略来节约能耗。

现在的memory subsystem:



传统的memory subsystem在三种不同负载的能耗图:



其中将memory subsystem的能耗分为三个主要部分:MC、DRAM、register/PLL,其中DRAM又可以分为四个方面:backgroud、activation/pre-charge、read/write、terminate。

从上面的能耗比例图可以得出结论:

1.background在能耗中占有重要的比例

2.Act/Pre和W/R只是在MEM中占的比重大

3.通常的时候Register/PLL会被研究者忽略,但是这方面的能耗也是占有很大比例的

4.MC在以前的研究中也没有考虑过但是他也是占有很大比例的

实现机制:

1.硬件和软件机制:能够动态的改变MC、DIMM的频率;目前商业的DIMM都能够支持不同的频率,现在只有在重启的时候才能改变频率,将会制作出在precharge或者是自我刷新的时候就可以改变频率,我们跟倾向于在precharge powerdown的时候就对频率进行在校验,因为这会比在自我刷新的时候花费更少的时间。对于性能的分析是基于各种参数的计数,如TIC(Total Instruction Commited)、TTM(Total LLC Miss)、BTO(Bank Transaction
outstanding)、BTC(Bank Transaction Counter)、CTO、CTC、RBHC(Row Buffer Hit Counter)、OBMC(Open Buffer Miss Counter)、CBMC(Closed Buffer Miss Counter)、EPDC(Exit PowerDown Counter),以及用在Power modeling中的PTC(Precharge Time Counter)、PTCKEL(Precharge Time With CKE Low)、POCC(Page
Open/Closed Counter)。在这些参数中只有CTO、BTO、PTC、PTCKEL、POCC这些是不能得到的。

能耗管理策略:



实验:因为现在的memory device还不能改变frequency,而且需要的一些counter的参数还不能直接获得,所以实验方面使用的是模拟实验。模拟实验分为两步,第一,使用M5对workload进行追踪,第二,用自己的更加detail的memory subsystem模拟器对追踪的数据进行replay来观察结果

实验结果对比:

Fast-PD:当一个rank中的所有的bank都关闭的时候就迅速的将状态转换到fast-exit precharge powerdown state;

Slow-PD:将rank转换到slow-exit precharge powerdown state;

Decoupled:是一种decoupled DIMM方法,将低频率的memory device与高频率的memory device结合在一起;

Static:在workload开始之前就静态的选定memory subsystem中的各种组件的频率;

MemScale(MemEnergy):在决定频率的时候只考虑memory的能耗而不考虑整个系统的能耗;

MemScale+Fast-PD:将MemScale与Fast-PD的策略结合起来一起考虑;

结果:



论文的三个创新点:

1.第一次提出了基于main memory active low-power mode;

2.第一次在分析main memory的时候将memory controller 考虑到范围里面;

3.第一次使用OS来控制整个过程;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: