论文部分内容阅读
新型非易失存储器件(Non-Volatile-Memory,NVM)具有高密度、低延迟、低能耗、非易失、字节粒度寻址等众多优势。NVM因此能够同时弥补DRAM和闪存介质的缺点,已被学术界和工业界广泛研究。基于NVM的特征,将NVM挂载在内存总线上与DRAM和CPU缓存一起构成混合内存的层次架构能为应用同时提供大容量、低能耗、高性能的存储服务。然而,当前传统内存层次架构中的软硬件系统设计与混合内存层次架构的新特征不匹配,不能充分发挥混合内存层次架构的优势。因此,本文以高性能、低能耗为目标,围绕混合内存层次架构的新特征,研究架构中的每个部分(即CPU缓存、易失性内存、持久化内存)中影响性能和能耗的关键问题。本文的主要贡献如下。 1、本文提出并实现了感知混合内存的CPU动态缓存划分技术——HAP(Hybridmemory Aware Partition,HAP)。HAP逻辑上将缓存的空间划分为NVM数据区和DRAM数据区。根据访存行为,HAP动态调整NVM数据区的大小,实时保证了CPU访问数据的高性能。此外,HAP还提出“2次机会”机制,给予缓存中NVM的脏数据第二次留在缓存中的机会,进一步减少了频繁写回NVM数据导致的开销。本文采用了多种负载从多种角度评价HAP的有效性和敏感性。实验结果表明,与不感知混合内存的缓存机制LRU相比,HAP平均提高了46.7%的访存性能,同时减少了21.9%的内存能耗。 2、本文提出了初始放置和动态迁移相结合的数据放置技术——2PP(2-Phases Placement,2PP)。2PP首先根据线下获得的数据放置策略文件,在软件层将数据分配到合适的介质中。其次,2PP在内存控制器层监控少量初始放置可能发生错误的内存页,并适时迁移。2PP采用数据的全局访问特征指导数据放置,避免了由于错误预测数据的访问特征导致的不必要迁移。另外,2PP采用更加有效的指标——数据读写比例,来决定数据的合适的放置介质。本文采用了多种负载从多种角度评价2PP的有效性。实验结果表明,与当前的动态迁移技术相比,2PP在应用不同输入集和数据规模下均能显著提高混合内存系统的性能,。具体地,2PP平均提高12.1%的性能和18.4%的能效。 3、本文提出了基于持久化内存系统特征的轻量级一致性保证技术——NVCheck(Non-Volatile Checkpoint,NVCheck)。NVCheck采用检查点(checkpoint)思想,但只产生元数据的检查点(不需要数据拷贝)减少数据拷贝量。其次,NVCheck在后台执行元数据拷贝,进一步减少应用停止时间。本文采用了多种负载从多种角度评价NVCheck的有效性和敏感性。与当前采用日志方式的持久化内存系统相比,NVCheck最高可提高3.7倍的性能;与当前检查点技术相比,NVCheck最高可提高1.5倍的性能。