论文部分内容阅读
现代计算机系统的设计中,能耗已经成为越来越重要的因素,而存储能耗是其中不可忽略的重要部分。动态随机存储器(DRAM)作为当今主流的主存,是一种易失性存储器,由刷新引起的静态功耗较高,严重制约了存储系统的发展。相变存储器(PCM)是近年来涌现出的新的存储技术,它能够在现代计算机系统中承担重要角色。PCM的静态功耗大约只有DRAM的千分之一,存储密度大约为DRAM的4倍,而且,与DRAM一样,PCM也是按位进行访问,这些特性也决定了PCM可以作为主存的潜质。然而,PCM有两个最大的缺点导致PCM难以完全取代DRAM来单独作为主存。首先,PCM的物理特性使得PCM写操作的耗时和耗能比读操作要高很多。另一方面,PCM的写次数非常有限,这使得它的寿命非常有限。因此,综合考虑到DRAM较快的读写速度以及PCM高密度、低静态功耗的特点,现有的研究主要集中在如何设计更加合理高效的混合存储架构(DRAM+PCM)上。现有的解决方案主要可以分为两种,一种思路是使用容量较小的DRAM作为缓存,PCM作为主存,这样既发挥了PCM静态功耗低的优势又掩盖了其写操作高延迟的缺陷,但在这种架构下,一旦运行一些局部访问性很低的程序,那么频繁的缓存替换将会带来巨额的开销,这也会大大影响系统的效率。第二种思路则是PCM与DRAM共同作为主存,构成统一的内存地址空间,由操作系统中的同一页表来进行地址转换,该方法并没有增加额外的硬件,因此对现有系统影响较小。同时,相较于第一种思路,它可以提供更高的存储空间,因此现有的许多研究主要基于该种架构。混合主存系统作为上层Cache与物理外存的中间缓存,选择合理的页面替换算法对于系统的性能至关重要,但在混合主存架构下,算法的设计还需要在保证性能的情况下,将读频繁的页放到PCM中,将写频繁的页放到DRAM中,因此传统的页面替换算法并不能直接适用,因此设计对于页面替换算法的设计与研究成为混合主存系统的研究重点之一。本文首先对于写操作的预测机制进行了分析,对时间局部性和写频率的效果进行综合比较,本文发现在大多数情况下,写频率对于未来的预测要好于时间局部性,因此本文在利用时间局部性的同时利用读写频率来预测PCM的写操作,基于此本文提出了一种高效的页面替换算法。对于PCM中的页面采取主动替换的方式将合适的页面替换到DRAM中去,对于DRAM中的页采用被动的方式,当DRAM没有空闲页时才调用改进的CLOCK算法,找到最近写频率较低的页调入到PCM中。另一方面本文对于调入到PCM中的页也提出了一种损耗均衡算法,保证PCM中的页面能够均衡写入。为了评估页面替换算法和损耗均衡算法的性能,本文使用了GEM5模拟器,它是一款高度可配置的体系结构模拟器,为了有效进行实验,对GEM5模拟器源代码进行修改,使其符合混合存储架构的研究需要,并能够实现页面的迁移。实验结果表明,本文提出的算法可以有效地减少PCM的写次数,减少程序执行时间,提高PCM的寿命。