论文部分内容阅读
随着数据规模的爆炸式增长,大数据处理对于主存系统性能、容量、能耗等的要求越来越高。数据密集型应用需要大量的主存空间,有研究表明大规模计算所需要的主存容量将会是现有系统主存容量的1000倍。现有主存系统主要是基于动态随机存储器(Dynamic Random Access Memory,DRAM)技术,由于DRAM器件特性以及工艺的限制,基于DRAM的主存系统面临存储墙、性能墙以及功耗、可扩展性等方面的挑战,在低工艺制程下很难维持稳定性同时继续保持可扩展性。以相变存储器(Phase Change Memory,PCM)为代表的新型非易失性存储器(Non-Volatile Memory,NVM)为解决上述问题提供了可能。NVM具有非易失性,并且具有更好的可扩展性以及更低的静态功耗,是DRAM技术的有力竞争者。在众多NVM技术中,PCM研究较为成熟,距离产业化也更近,是NVM研究热点之一。然而PCM自身也面临一些问题,尤其是较差的性能与较低的耐久性限制了其在主存系统中的大量应用。如何提升PCM主存访问的并行性以及性能是现有PCM研究中的热点与难点。PCM每比特写入功耗较高,由于电源模块限制,其所能并行写入PCM主存的数据量是受限制的。最后一级缓存与主存之间进行数据交换的粒度是缓存行,而缓存行的大小远大于主存写单元的大小,因此需要若干个写单元来完成一个缓存行的写入。这些写单元几乎都是串行执行的,极大地限制了系统性能。针对这一问题,提出了一种基于写入数据类型不对称性的SLC(Single-Level Cell)PCM写优化技术Min-WU。通过对多线程应用负载主存访问特性的分析,发现主存访问呈现明显的访问局部性,一小部分数据类型占据了绝大部分的主存访问。Min-WU的核心思想是对频繁出现的数据类型进行压缩来减少数据总量,然后在功耗预算的限制下,将压缩之后的数据单元进行重调度,将更多的数据封装到一个写单元中以最小化写单元的数量。实验评估表明与常规写方案相比,Min-WU减少了44%的读延迟,28%的写延迟,32.5%的程序执行时间和48%的能耗,并得到32%的IPC(Instruction Per Clock)提升。利用PCM写“0”写“1”功耗的差异,提出了一种基于写入功耗不对称性的SLC PCM写优化技术MaxPB。通过分析发现,现有的PCM写入方案面临功耗预算利用率低的问题,功率被过度供应但是没有得到充分利用。MaxPB通过在写入时添加“写前思考”阶段,根据实际的功率需求对所有数据单元进行重排列,并在功耗预算限制下对数据单元进行高效调度,使用最少的写单元处理全部数据的写入,从而提升写入并行性并显著减少写服务延迟。实验评估结果表明MaxPB方法可以兼顾写入效率与写入性能,相对2-Stage-Write方法,MaxPB可以减少20.3%的读延迟,16.1%的写延迟以及15.6%的程序执行时间。通过对主存数据访问特性的深度挖掘,分析发现主存访问特性呈现出显著的写入数据数目不对称性,即写“0”写“1”数目的不对称性,大部分的负载是写“1”占主导的。据此提出了一种基于写入数据数目不对称性的SLC PCM写优化技术Tetris Write。Tetris Write的核心思想是监控每个数据单元中“0”和“1”的数目,并且利用数据单元中写“0”和“1”的数目不对称性,尝试首先安排数据单元中占主导的写“1”操作,并充分利用写“1”剩余的功耗预算以放置数目较少并且延迟低的写“0”操作,利用执行时间较长的写“1”阶段来掩盖执行时间较短的写“0”阶段,从而提升写入并行性并减少写单元数目。实验评估表明Tetris Write相对基准方案可以减少65%的读延迟,40%的写延迟,46%的执行时间并获得2倍的IPC性能提升。现有的主存组织方式导致了芯片级数据不均衡的问题,即一部分PCM芯片承担了大部分的写入数据量,数据量较少的芯片必须等待处于忙状态的芯片完成数据写入,造成了极低的主存并行性以及较高的主存访问延迟。针对这一问题,提出了一种基于写操作数据分布不对称性的MLC(Multi-Level Cell)PCM写优化技术PCM-2R。PCM-2R的核心思想是通过修改字节分布模式将写数据布局重塑,使得修改字节均匀分布在所有芯片中,从而均衡各个芯片写数据量。然后将MLC PCM物理单元进行解耦,利用MLC PCM状态转换的不对称将物理行分为快写以及慢写两个区域,将重塑后的数据重映射到快写区域以进一步地加速写入。测试结果表明PCM-2R相对基准方案实现了55%的读延迟,32%的写延迟以及51%的能耗减少,并获得2.1倍IPC性能。