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

来源:互联网 发布:linux系统编程 编辑:程序博客网 时间:2024/06/05 00:49

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来控制整个过程;



0 0
原创粉丝点击