论文部分内容阅读
随着计算机软硬件技术的飞速发展,传统的动态随机访问存储器(Dynamic Random Access Memory,DRAM)因其存储能耗大、存储密度小、可扩展性有限等缺点已经无法满足应用越来越大的内存需求。新兴非易失性存储器(Non-Volatile Memory,NVM)尽管可以避免此类问题,但因其访问时延高、写次数有限及写功耗大,也无法直接作为系统内存。因此,混合使用小容量DRAM和大容量NVM形成的异构内存系统成为了当今内存研究的主流课题。然而,高性能异构内存的设计仍旧面临一个两难困境:一方面系统需要利用大页机制以应对大内存带来的地址转换开销;另一方面系统需要利用页面迁移提升系统性能。不幸的是,现有系统无法同时支持高效的页面迁移机制与大页机制。这是因为粗粒度页面迁移开销较大,而细粒度的页面迁移会破坏地址的连续性,阻碍大页机制的使用。因此,为了实现高性能异构内存,设计实现兼顾大页管理与细粒度页面迁移的页面管理机制成为了异构内存设计的关键挑战。
为了应对以上挑战,在异构内存中支持混合粒度的页面管理势在必行。然而,在异构内存中支持混合粒度页面管理,面临诸多挑战,主要包括:轻量级页面监测与迁移机制,以及面向混合粒度页面的体系结构设计。在轻量级页面监测与迁移机制方面,主要表现在监测和迁移开销与监测准确性难以权衡。而在面向混合粒度页面的体系结构设计方面,主要是现有机制对连续性页面映射支持不佳,具体表现在:现有页表管理机制无法有效维护和利用迁移页面的固有连续性;现有快表(Translation Lookaside Buffer, TLB)映射机制对连续性页面支持不佳。
为了克服上述研究难题,适应内存架构的演变,在异构内存混合粒度页面监测与迁移、混合粒度页面邻近性感知的页表管理,以及混合粒度页面多粒度TLB管理三个方面开展研究。
在面向混合粒度页面的页面监测及迁移方面,提出了一种新的混合内存管理机制Rainbow来支持大页机制和轻量级页面监测及迁移机制。Rainbow以大页粒度管理NVM,并使用DRAM缓存大页中被频繁访问(热)的小页面。相应地,Rainbow使用分离式TLB来支持不同的页面粒度。Rainbow进一步提出了一种NVM到DRAM的地址重映射机制来识别迁移的小页面,而不会拆分大页。此外,Rainbow通过异步监测不同粒度的页面,极大地减少了需要页面监测的页面数量及开销。实验结果表明,Rainbow可以在不显著降低监测准确性的前提下降低高达98.4%(平均86.3%)的监测开销。同时,与没有大页支持的最新的内存迁移策略相比,Rainbow显著降低应用地址转换开销,并将系统性能提高多达2.9倍(平均为45.3%)。
在面向混合粒度页面的页表设计方面,提出了一种新的邻近性感知的页表管理机制SuperPT,以减少页表查询相关开销。SuperPT利用混合DRAM分配器和基于伙伴系统的新型垃圾回收机制极大地保留了迁移页面间的连续性;与此同时,SuperPT利用新型虚拟哈希页表支持混合粒度页面,通过保留地址邻近性并以此支持范围映射,从而极大地提高了连续页面的映射效率,从而以更加灵活和高效的方式进行虚拟地址到物理地址及物理地址到虚拟地址的地址转换。实验结果表明,SuperPT可以显著减少内存访问时间(平均减少19.3%),从而平均提高9.5%的系统性能。
在面向混合粒度页面的TLB设计方面,提出了一种新的异构内存管理机制Tamp来支持混合内存系统中的多粒度页面管理。由于同一个大页里面的热的小页具有显著的中间连续性,因此Tamp提出了支持混合粒度的新型TLB管理机制,该机制利用迁移页面的地址邻近性特征,显著增加了TLB的映射范围,从而显著降低了地址转换开销。与此同时,Tamp提出富有侵略性的多粒度页面迁移机制,以提高TLB合并的可能性。这些方案显著提高了TLB的覆盖率及映射效率。实验结果表明,与其他没有混合粒度页面管理支持的异构内存系统相比,该方法可以有效地减少TLB的缺失率(平均减少62.4%),从而显著提高系统性能(平均提高16.2%)。
综上所述,异构内存环境下提出了异构内存混合粒度轻量级页面监测与迁移机制,混合粒度页面页表优化机制,以及混合粒度页面TLB架构优化机制,从不同方面解决了现有研究存在的不足。
为了应对以上挑战,在异构内存中支持混合粒度的页面管理势在必行。然而,在异构内存中支持混合粒度页面管理,面临诸多挑战,主要包括:轻量级页面监测与迁移机制,以及面向混合粒度页面的体系结构设计。在轻量级页面监测与迁移机制方面,主要表现在监测和迁移开销与监测准确性难以权衡。而在面向混合粒度页面的体系结构设计方面,主要是现有机制对连续性页面映射支持不佳,具体表现在:现有页表管理机制无法有效维护和利用迁移页面的固有连续性;现有快表(Translation Lookaside Buffer, TLB)映射机制对连续性页面支持不佳。
为了克服上述研究难题,适应内存架构的演变,在异构内存混合粒度页面监测与迁移、混合粒度页面邻近性感知的页表管理,以及混合粒度页面多粒度TLB管理三个方面开展研究。
在面向混合粒度页面的页面监测及迁移方面,提出了一种新的混合内存管理机制Rainbow来支持大页机制和轻量级页面监测及迁移机制。Rainbow以大页粒度管理NVM,并使用DRAM缓存大页中被频繁访问(热)的小页面。相应地,Rainbow使用分离式TLB来支持不同的页面粒度。Rainbow进一步提出了一种NVM到DRAM的地址重映射机制来识别迁移的小页面,而不会拆分大页。此外,Rainbow通过异步监测不同粒度的页面,极大地减少了需要页面监测的页面数量及开销。实验结果表明,Rainbow可以在不显著降低监测准确性的前提下降低高达98.4%(平均86.3%)的监测开销。同时,与没有大页支持的最新的内存迁移策略相比,Rainbow显著降低应用地址转换开销,并将系统性能提高多达2.9倍(平均为45.3%)。
在面向混合粒度页面的页表设计方面,提出了一种新的邻近性感知的页表管理机制SuperPT,以减少页表查询相关开销。SuperPT利用混合DRAM分配器和基于伙伴系统的新型垃圾回收机制极大地保留了迁移页面间的连续性;与此同时,SuperPT利用新型虚拟哈希页表支持混合粒度页面,通过保留地址邻近性并以此支持范围映射,从而极大地提高了连续页面的映射效率,从而以更加灵活和高效的方式进行虚拟地址到物理地址及物理地址到虚拟地址的地址转换。实验结果表明,SuperPT可以显著减少内存访问时间(平均减少19.3%),从而平均提高9.5%的系统性能。
在面向混合粒度页面的TLB设计方面,提出了一种新的异构内存管理机制Tamp来支持混合内存系统中的多粒度页面管理。由于同一个大页里面的热的小页具有显著的中间连续性,因此Tamp提出了支持混合粒度的新型TLB管理机制,该机制利用迁移页面的地址邻近性特征,显著增加了TLB的映射范围,从而显著降低了地址转换开销。与此同时,Tamp提出富有侵略性的多粒度页面迁移机制,以提高TLB合并的可能性。这些方案显著提高了TLB的覆盖率及映射效率。实验结果表明,与其他没有混合粒度页面管理支持的异构内存系统相比,该方法可以有效地减少TLB的缺失率(平均减少62.4%),从而显著提高系统性能(平均提高16.2%)。
综上所述,异构内存环境下提出了异构内存混合粒度轻量级页面监测与迁移机制,混合粒度页面页表优化机制,以及混合粒度页面TLB架构优化机制,从不同方面解决了现有研究存在的不足。