英语原文共 6 页
用于混合主存支持回写的共享末级缓存管理
摘要:混合主存与DRAM和新兴非易失性存储器(NVM)成为高性能和节能嵌入式系统的一个有前途的解决方案。缓存起着非常重要的作用,它极大地影响了对NVM和DRAM块的写回数量。然而,现有的缓存策略无法完全解决NVM操作(尤其是写操作)和DRAM操作之间的显著不对称,导致系统设计不理想。针对混合主存,提出了一种支持写回的末级缓存管理方案,提高了NVM内存块的缓存命中率,减少了对NVM的写回。实验结果表明,与目前最先进的混合主存架构缓存管理方案相比,该框架具有更好的性能和节能效果。
1. 介绍
基于SRAM/DRAM的内存已经成为当今嵌入式系统的能源和可伸缩性瓶颈。新兴的非易失性存储器(NVM)技术,包括电阻RAM (ReRAM)、自旋转矩转移磁RAM (STT-MRAM)和相变存储器(PCM),被认为是下一代存储器层次结构中具有吸引力的替代技术。与传统的存储设备相比,NVM能够提供更高的密度,更低的泄漏功率,以及不挥发性。然而,当前的NVM设备通常具有更高的访问延迟和动态功耗,特别是对于写操作,这是由于其固有的特性。
为了充分利用各种技术的优势,DRAM和NVM的混合主存被认为是一种很有前途的高性能和节能计算机系统的解决方案。一般来说,文献中研究了两种架构:(i)使用小型的硬件控制DRAM作为纯nvm主存空间(如[14])的缓冲区;或者(ii) NVM和DRAM处于同一级别,构成总体主存地址空间[16,22]。在本文中,我们将重点讨论后一种方法,并将其称为混合主存体系结构。混合内存的最终目标是受益于DRAM的低写入延迟和NVM的高密度以及低静态功耗,从而利用整个系统的性能和/或能源效率。为了实现这一点,大多数现有的关于混合主存的研究集中于通过各种内存管理方案[5]在DRAM和NVM空间之间动态迁移物理页面。
然而,在带有缓存的现代处理器中,当缓存被物理索引或标记时,在混合主内存中的不同物理内存设备之间移动页面需要相当高的开销,包括内存复制和缓存更新时间。实际上,缓存管理方案不仅决定了缓存丢失的总数,而且对单个内存块的丢失率有很大的影响。因此,设计last-level cache (LLC)管理策略是控制混合主存系统中DRAM或NVM块读写操作数量的一种经济有效的方法。另一方面,LRU替换策略不知道NVM操作(尤其是写操作)和DRAM操作之间的显著不对称,从而导致系统设计不理想。Wei等人在区分NVM和DRAM缓存线的基础上,提出了第一种混合主存LLC管理方案HAP。由于读操作使处理器陷入停顿,而写操作可以进行缓冲,HAP使用相应的读延迟来表示对DRAM或NVM的每个缓存丢失的代价。然而,正如我们将在本文中所展示的,考虑到NVM写入延迟和能量消耗显著较高,在缓存管理设计中应该考虑从LLC中删除脏NVM块的写入成本。
在本文中,我们提出了一种基于写回感知的共享有限责任公司替换方案WBAR,用于高性能和节能的混合主存架构。一般情况下,我们将W-BAR设计为LRU的一种变体,它重量轻,易于实现。与在LRU中插入或提升最新访问的缓存块到MRU(最高优先级)位置不同,WBAR将缓存块放置在缓存集中不同的位置,这取决于在再次引用缓存块之前从缓存中取出缓存块的潜在成本。实验评价表明,该方案在性能和能效方面均优于LRU和HAP[19]。我们的贡献可以总结如下。
bull;我们进行了一组实证研究表明,即使NVM写操作(由于从LLC中清除脏NVM块)是缓冲的,它们对混合内存系统的整体性能和能耗有显著影响。我们还表明,脏内存块上的命中数在LLC对大量基准测试的总体需求命中数中占主导地位。因此,脏块管理是混合主存系统设计的关键。
bull;拟议的WBAR LLC管理方案根据最近访问的块的状态(干净或不干净)、内存块类型(NVM或DRAM)以及最近历史缓存遗漏信息(即,在当前的程序执行阶段,哪种类型的内存设备会导致更多的缓存丢失),以最小化芯片外主存访问的总成本。
bull;WBAR的实现需要一个(log2A 1)位计数器与每个缓存集关联,以记录历史遗漏信息,每个缓存块需要一个1位NVM/DRAM指示器,其中a表示缓存关联性。因此,对于具有64B块大小和16路结合性的8M-B LLC,空间开销仅为0.26%。每个LLC miss的历史计数器的更新可以与缓存内容更新并行执行,因此性能开销可以忽略不计。
bull;我们使用运行在gem5[9]和NVMain[12]的集成仿真环境中的SPEC CPU 2006基准[3]来评估所提出的方案。实验结果表明,与LRU和HAP[19]相比,WBAR的性能分别提高了16.46%和9.99%,实现了16.39%和12.55%的内存能耗降低。
2. 相关工作
采用NVM作为主存会遇到长写入延迟、高写入能量和有限写入持久性的挑战。为了减轻基于nvm的主存架构的写开销,进行了全面的研究工作。Lee等人在[1]中使用了小行缓冲区来减少较高的PCM阵列写入能量,并利用部分写入技术来增强内存持久性。为了减少写操作对读操作的影响,Qureshi等人[13]提出了写取消和写暂停,以延迟在等待服务的读操作中极其缓慢的写操作。考虑到DRAM的速度和NVM的高密度,提出了混合主存架构。Qureshi等人使用PCM作为主存,DRAM作为缓存来过滤对PCM的访问。DRAM缓存是硬件控制的,对操作系统是透明的。混合主存架构的另一种方法是将DRAM和NVM设备在同一级别组合起来,构成整个内存地址空间[16]。Ramos等人提出了一种页面排序和迁移策略,将频繁访问的数据迁移到DRAM中,将很少访问的数据迁移到NVM中。
缓存在隐藏处理器与主存之间的速度差距方面起着至关重要的作用。有效利用有限的缓存空间,特别是多核系统中的共享末级缓存(LLC),是高性能系统设计的关键。传统的缓存替换和分区策略旨在提高总体缓存命中率,这种策略隐式地平等对待所有遗漏,并区分无读或写操作。最近,针对基于DRAM的主存系统LLC的成本敏感替换策略进行了研究。[7]将脱靶分为孤立脱靶和并行脱靶。基于缓存丢失对性能影响的不均匀性,提出了一种成本敏感的缓存替换策略,以减少性能关键型孤立丢失的数量。除了,观察到缓存读请求经常在关键路径和失速处理器而缓冲写操作内存控制器请求队列中,[18]提出的概率缓存管理机制以提高缓存命中率性能关键型读取,通过分配更多的缓存资源重用的行读取比行重用只有写道。
大多数现有的NVM和DRAM混合主存的设计和优化技术都依赖于内存页管理方案来减少NVM的写开销。然而,在物理索引和/或标记片上缓存的内存层次结构中,不同内存设备之间的页面迁移需要额外的开销来定位和更新相应缓存块的状态。另一方面,LLC管理策略的设计是控制不同内存地址空间上读写操作的实际数量的一种具有成本效益的方法。最近,LLC缓存管理策略被提议减少只针对nvm的主内存的回写请求。Zhou等人提出了写感知策略(write-aware policy, WCP),考虑回写惩罚,将共享有限责任公司划分到多个核之间。Wang等人通过动态地将LLC块分为频繁回写块和非频繁回写块,从而在LLC中保持高度重用的脏缓存块。[17]和[21]中提出的策略根据块的状态(如clean或dirty)为每个缓存块设置不同的优先级。当替换发生时,他们优先考虑干净的块。Ferreia et al.[2]提出了一种“页面缓存”(处理器缓存和PCM主存之间的一个基于小动作的缓冲区)的替换策略,这种策略倾向于选择干净的页面作为牺牲品,以减少PCM的写入次数。一般来说,对于内存地址空间同时包含DRAM和NVM的混合内存架构,上述策略不能直接应用于处理器缓存管理。
Wei等人首先在混合主存上下文中利用LLC分区和替换策略。提出的HAP方案考虑了DRAM和NVM之间的遗漏成本差异,并将LLC逻辑上划分为两个分区。类似于[18]中基于戏剧的内存策略,HAP考虑在性能的关键路径上执行读取操作,因为它们会使处理器陷入停顿。此外,对于写分配策略,CPU读错过或写错过都会触发内存读。因此,HAP表示具有NVM读取延迟的NVM操作的成本。然而,正如我们将在本文中所展示的,与DRAM写相比,当前NVM技术的写入延迟和能量消耗显著更高,因此即使使用内存请求队列,也需要在混合内存架构中减少NVM写操作。因此,需要巧妙地管理从LLC中清除脏NVM块。
3.动机
传统的缓存管理策略(如LRU)的目标是最小化总体缓存遗漏率。它们隐式地假设,对下一级内存层次结构的不同遗漏操作会导致相同的成本。但是,缓存读丢失可能会使处理器陷入停顿,因此与内存请求队列中缓冲的非阻塞写操作相比,缓存读丢失对性能的影响更大。最近的研究表明,改进的LLC替换策略考虑到基于DRAM的内存系统[18]中的读写差异,可以使系统加速6%。另一方面,在同时使用DRAM和N-VM设备的混合主存中,可以观察到DRAM或NVM单元上的读写操作之间的显著差异。例如,PCM读写延迟(能量消耗)大约比DRAM[1]大4.4X (2.1X)和12.0X (43.1X)。因此,由于DRAM/NVM设备的运行结果不同,每一次LLC的误操作都可能产生不同的成本,这给混合主存LLC管理方案的设计和优化带来了巨大的挑战。
混合记忆感知有限责任公司管理方案(a.k。[19]中提出的a HAP)将NVM的读取延迟作为NVM相关操作的主要成本,因为读取操作可能会导致处理器执行延迟。对于基于DRAM的内存系统([18]),这种说法通常是正确的,但是我们观察到NVM的长写入延迟和高写入能量对整个系统性能和能耗有显著影响。在长时间写延迟的情况下,内存请求队列更有可能被完全占用,从而阻塞后续的读和写操作。图1显示了由SPEC CPU 2006基准测试[3]组成的一组工作负载在具有DRAM和PCM的混合主内存上的性能。我们假设在LRU下有一个4核系统和一个8MB共享有限责任公司,DRAM和PCM控制器各有一个64个插槽的请求队列,DRAM和PCM的读写延迟设置为1:1:4.4:12,如[1]中所示。工作负载和其他实验设置的详细信息可以在第5节中找到。为了评估NVM写延迟和写能量对整个系统性能和能量的影响,我们在系统仿真中将PCM阵列(cell)写延迟和能量设置为0。0- pc -write-latency system(“0-write-latency”)和0- pc -write-energy system(“0-write-energy”)的归一化性能和能量改进。原始系统的归一化值如图1所示。如结果所示,PCM数组写平均占总执行时间的21%,因此成为性能优化的关键考虑因素之一。同样,PCM阵列写入能量平均占总能量的34%。
4. 缓存替换策略
在这一节中,我们首先研究典型的有限责任公司行为,这导致我们优先分配给各种类型的有限责任公司块。然后,我们介绍了轻量级write-back aware LLC替换策略(WBAR)的设计和实现,并给出了一个说明性示例。
4.1缓存行为分析
随着CPU和主存速度之间的差距越来越大,缓存替换策略成为高性能计算机系统设计的一个重要考虑因素。广泛使用的最小最近使用(LRU)替换策略使用最近堆栈来排列块。特别是最近最少使用的缓存块占据最低优先级位置(LRU),而新访问的块插入最高优先级位置(MRU)。然而,现有的研究表明,LLC中超过60%的块不会导致LRU[15]缓存命中。此外,由于LRU不知道DRAM和NVM访问之间的非对称性能和能源成本,因此它可能不会为混合主存架构带来最优的系统设计。在这项工作中,我们考虑以下两个设计目标LLC替换策略与混合主存架构:
bull;LLC替换策略应减少总体缓存丢失,从而将总主存访问最小化。
bull;LLC的替换策略应该了解混合主存的各种内存操作的成本。
图2:脏缓存块的需求命中率
在多级缓存系统中,对有限责任公司的访问可分为需求访问(即, CPU读/写请求导致所有上层缓存丢失),或写回访问(直接的上层缓存将驱逐需要插入LLC的脏块)。有限责任公司的需求错过导致主存读取,使CPU执行停顿;而回写丢失会在LLC中引入一个新的脏块,并触发无内存读取。通常,由于cpu的内存读延迟,需求丢失对系统性能的影响更大。在图2中,我们展示了LRU下LLC对SPEC CPU 2006基准测试集的需求访问行为。第5节给出了详细的仿真环境。结果显示,在不同的基准测试中,LLC的所有需求中,平均有75.3%的需求命中脏缓存块。例如,calculix在模拟期间有超过130000次命中,包括99.6%的脏块命中。结果表明,脏缓存块有更高的机会被引用。
除了LLC请求丢失导致的内存读操作之外,完全占用LLC缓存集中的请求或回写丢失还会触发缓存回收,如果回收的块是脏的,则可能导致内存写请求。正如我们在第3节中所示,由于NVM具有较长的写入延迟和较高的写入能耗,内存写入操作对整体系统性能和能源效率有显著影响。
在这项工作中,我们将LLC中的缓存块分为4种类型:dirty -NVM (DN)、dirty -DRAM (DD)、clean -NVM (CN)、clean -DRAM (CD),分别表示来自NVM或DRAM的脏/干净缓存块。根据上述观察,我们为不同类型的缓存块设置LLC优先级如下:DNP gt; DDP gt; CNP gt; CDP,其中DNP、DDP、CNP、CDP分别为DN、DD、CN、CD块的LLC优先级。总的来说,dirty LLC块有更高的机会被重新引用,也有更高的成本被收回。因此,与其他块相比,我们希望将脏的NVM保留在LLC中更长的时间。考虑到N-VM的读取延迟比DRAM的读取时间长,如果从LLC中取出一个NVM清理块并在稍后再次引用它,则会导致比DRAM清理块更高的性能成本。
4.2 WBAR方案
标准LRU替换策略可以分为三个子策略:插入、提升和收回[20]。为了反映我们定义的不同块类型的不同优先级级别,可以通过修改LRU
资料编号:[3605]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。