论文部分内容阅读
近年来,随着非易失内存技术快速发展,动态随机存取存储器(Dynamic Random Access Memory,DRAM)和非易失性存储器(Non-Volatile Memory, NVM)构成混合存储设备来扩展计算机的内存成为一种趋势。传统的Cache替换算法未考虑NVM操作与DRAM操作之间的显著不对称性,因而无法获得较好的性能。
针对上述问题,提出了一种适用于混合内存架构的末级缓存(Last-Level Cache,LLC)管理方案:缺失感知的分区算法MAPS(Miss Aware Partition in Shared LLC),提高系统性能同时降低能耗。通过分析LLC的操作行为发现,LLC的回写在高速缓存的组之间分布不均匀。因此,提出了一种组间平衡机制。具体来说,为每个组添加了一个访问计数器和一个缺失饱和计数器,用于区分组的访问和缺失特性,对于访问频繁且缺失率高的组,通过将它的脏受害者块插入到访问不频繁且缺失率低的组而不是直接写回内存,来减少系统的整体回写次数。
提出了一种类型和缺失感知的组内分区替换机制,它将每个缓存组在逻辑上分为两个动态调整的分区,各自缓存NVM数据与DRAM数据。考虑到混合内存系统中LLC的非对称缺失成本,给出了一种新的衡量指标,用以计算各分区依据存储介质与占用块的数量加权后的缺失率,以作为动态调整分区大小的依据。根据工作负载行为动态地调整分区大小,平衡组内的资源分配,以获得最好的综合性能。
采用gem5和NVMain搭建混合内存仿真平台,并实现了MAPS,采用SPECCPU2006和PARSEC基准测试进行验证。实验结果表明,与LRU、HAP和WBAR算法相比,MAPS平均提高了44.6%、41.7%和34.0%的性能,降低了15.4%、13.8%和10.1%的能耗,延长了NVM存储器229.3%、224.8%和195.5%寿命。
针对上述问题,提出了一种适用于混合内存架构的末级缓存(Last-Level Cache,LLC)管理方案:缺失感知的分区算法MAPS(Miss Aware Partition in Shared LLC),提高系统性能同时降低能耗。通过分析LLC的操作行为发现,LLC的回写在高速缓存的组之间分布不均匀。因此,提出了一种组间平衡机制。具体来说,为每个组添加了一个访问计数器和一个缺失饱和计数器,用于区分组的访问和缺失特性,对于访问频繁且缺失率高的组,通过将它的脏受害者块插入到访问不频繁且缺失率低的组而不是直接写回内存,来减少系统的整体回写次数。
提出了一种类型和缺失感知的组内分区替换机制,它将每个缓存组在逻辑上分为两个动态调整的分区,各自缓存NVM数据与DRAM数据。考虑到混合内存系统中LLC的非对称缺失成本,给出了一种新的衡量指标,用以计算各分区依据存储介质与占用块的数量加权后的缺失率,以作为动态调整分区大小的依据。根据工作负载行为动态地调整分区大小,平衡组内的资源分配,以获得最好的综合性能。
采用gem5和NVMain搭建混合内存仿真平台,并实现了MAPS,采用SPECCPU2006和PARSEC基准测试进行验证。实验结果表明,与LRU、HAP和WBAR算法相比,MAPS平均提高了44.6%、41.7%和34.0%的性能,降低了15.4%、13.8%和10.1%的能耗,延长了NVM存储器229.3%、224.8%和195.5%寿命。