[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

混合memory系统

上图是由近内存(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 pagelarge memory segmentssingle 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进行比较。

主要的创新之处:

  1. 通过避免已经在LLC中的cacheline的流量,减少了迁移的overhead;

  2. 提高了迁移数据的选择质量;

  3. 更重要的是,当segments中的大部分驻留在LLC中的时候,他们会被选择作为迁移的数据,这种时机的安排会进一步减少流量。

Motivation

Evacuation

Discussion

我的思考

Last updated

Was this helpful?