[IPDPS'19] LLC-guided Data Migration in Hybrid Memory Systems
LLC-guided Data Migration in Hybrid Memory Systems
作者: Evangelos Vasilakis∗, Vassilis Papaefstathiou†, Pedro Trancoso∗, Ioannis Sourdis∗ ∗Chalmers University of Technology, CSE Dept, Gothenburg, Sweden †Foundation for Research and Technology – Hellas (FORTH), Heraklion, Crete, Greece Email: {evavas,ppedro,sourdis}@chalmers.se, papaef@ics.forth.gr
论文概要
Abstract
虽然3D堆叠DRAM提供了比传统DDR闪存更高的带宽,但他的容量还不足以替代传统DRAM用以内存。一个可行的方案就是使用flat地址空间,将两个或多个层次的不同性能的memory混合起来。现存的一种方法是使用一个近的、高带宽的3D堆叠Memory放在处理器晶圆的顶部,同时将一个远的、商用DDR内存放在芯片外。将数据从远内存迁移到近内存有显著的潜力,但是也会带来开销。这个开销会降低迁移的好处,甚至是导致性能的下降。本文介绍了一种新的混合存储系统数据迁移方案,该方案考虑了上述开销,提高了迁移的效率和有效性。这是基于对Memory segment迁移的观察:迁移存在于(或者部分存在于)最后一级Cache(Last-Level Cache, LLC)的memory segment会引入比较小的迁移流量。我们的方法依赖于LLC cacheline的状态来预测未来重用的内存segment以及选择要迁移的内存segment,因此,当在LLC中存在(至少部分)时,这些段被迁移,从而产生较低的成本。我们的方法优于当前最先进的迁移设计,将系统性能提高了12.1%,并将内存系统动态能量降低了13.2%。
Introduction
容量
延迟
带宽
传统DRAM
大
低
小
NVM
更大
高
小
3D-stacked DRAM
小
更大
许多方案建议将3D堆叠DRAM作为SRAM和memory之间的缓冲层。 1. 有效: 对于延迟敏感的应用 2. 缺点: 浪费了这部分DRAM的容量 3. 自身设计的挑战:传统的SRAM cache设计针对GB级别的DRAM cache需要重新考虑,尤其是粒度和元数据放置方面
使用flat地址,将其与传统DRAM组成混合存储系统 1. 在两种类型的memory之间增加数据迁移支持 2. 3D-stacked Near Memory (NM), a conventional DDR, Far Memory (FM) 3. 挑战:区分热数据。 数据迁移需要地址重映射,这是memory request的关键路径,而且带来了额外的流量
本文提出了LLC-guided Migration(LGM),旨在① 改善迁移数据的选择,同时②减少其流量开销。
通过检测高空间、时间局部性来选择需要迁移的memory segment。 具体说,LLC用于试别具有大量on-chip cachelines的memory segment。这是未来潜在重用的迹象。使用LLC来选择要迁移的数据段,可以确保这些数据段此时(至少部分)存在于最后一级缓存(LLC)中。
当内存段的一部分位于LLC时,只要LLC将它驱逐回内存,它就可以从迁移中省略,以减少迁移流量。
简而言之,本文的贡献如下:一种新的混合存储系统的数据迁移方案:采用LLC来检测局部性,并利用它来迁移具有较高重用潜力的数据;通过避免迁移驻留在LLC中的数据,减少迁移流量开销;增加了上述迁移流量减少的好处,因为LGM更有可能在迁移时将选定的数据放在LLC中。
Background & Motivation

上图是由近内存(NM)和远内存(FM)组成的混合memory系统.
3D堆叠动态随机存取存储器提供了高得多的带宽,但容量有限,因此它由片外DDR动态随机存取存储器补充,后者增加了更多的容量(在我们的实验中比NM多16倍),但带宽要低得多(在我们的评估中比NM低8倍)。这两种技术的混合组织有可能构成一个更好的存储系统,前提是数据可以在FM和NM之间迁移。此外,需要支持地址重映射,以便将内存请求重定向到段的实际位置,还需要一种机制来协调迁移数据的移动。
现有工作
Design
Flexibility
Migr. Granularity
Addr. Remapping
Migr. Data Selection
Migr. Trigger
Driver
HMA
All to All
OS Page
OS page tables
Access counters
Time Interval
HW and SW
PoM
Congr. groups
Segment
Table in NM + cache
Competing counters
Threshold
HW
CAMEO
Congr. groups
Cacheline
Table in NM + predictor
Anything accessed
On access
HW
SILC-FM
Congr. groups
Segment/cacheline hybrid
Table in NM + predictor
Aging counters
Threshold HW
MemPod
All to All
Segment
Table in NM + cache
MEA Time
Interval
HW
LGM
All to All
Segment
Table in NM + cache
LLC-guided
Threshold
HW
NM和FM之间重映射数据的灵活性:这种设计选择也与重映射表的大小和复杂性密切相关。一些设计采用all-to-all
的重映射,另一些考虑congruence groups
来限制迁移,因为当存在空间局部性时,它们可能产生冲突。我们认为all-to-all
更有趣,它增加了迁移的选项,此外当FM和NM的大小增加的时候,congruence groups
不能很好的缩放。在我们的工作中,我们采取的memory系统是FM比NM大得多,比如16:1。
可迁移的memory segment粒度:之前的设计采取了不同的大小,比如OS page
、large memory segments
、single cachelines
,或者一些动态的粒度。正如预期的那样,较粗的粒度更容易管理,但需要仔细选择“密集”数据以避免内存浪费,而较细的粒度可以更有效地适应“稀疏”数据,但实现成本更高。如同Mempod
中一样,我们以半个OS page
作为可以迁移的memory segement的大小。
为了跟踪迁移的数据,已经使用了各种机制来进行地址重映射。一些技术涉及操作系统页表来跟踪重映射。大多数方法使用存储在NM中的重映射表,并依赖预测器或缓存来减少重新映射地址查找的内存访问。我们选择使用重映射表和on-chip cache,因为它支持all-to-all
重映射,侵入性和灵活性更低。
每个策略的关键都在于 如何选择迁移儿的memory segment。
大多数方法:使用计数器来跟踪对于Memory segment的访问;或者对group内的每个memory segment进行计数;
most promising的方法:
Mempod
提出的活动追踪机制。它使用Majority Element Algorithm (MEA)
算法。MEA已被证明能够以高精度和最小的硬件成本预测间隔内最热的页面。本项目:基于LLC的状态来选择具有良好的未来重用潜力的segments。 此外为选择迁移memory segment提供了一个很好的时机,有利于降低迁移开销。
我们的方法对软件透明,避免操作系统修改和更复杂和更慢的基于软件的技术。
我们认为Mempod
是最先进的设计,因此本设计主要是与Mempod进行比较。
主要的创新之处:
通过避免已经在LLC中的cacheline的流量,减少了迁移的overhead;
提高了迁移数据的选择质量;
更重要的是,当segments中的大部分驻留在LLC中的时候,他们会被选择作为迁移的数据,这种时机的安排会进一步减少流量。
Motivation
Evacuation
Related Work
Discussion
我的思考
Last updated
Was this helpful?