Skip to main content
QUICK REVIEW

[论文解读] Simple DRAM and Virtual Memory Abstractions to Enable Highly Efficient Memory Systems

Vivek Seshadri|arXiv (Cornell University)|May 20, 2016
Parallel Computing and Optimization Techniques参考文献 13被引用 21
一句话总结

本文提出了一套新颖的硬件与系统级技术,以消除因内存粒度不匹配而导致的现代内存子系统中的低效问题。通过引入用于细粒度虚拟内存管理的页重叠(Page Overlays)、用于DRAM内数据操作的RowClone与Buddy RAM、用于优化步长访问的GS-DRAM,以及用于高效缓存一致性的脏块索引(Dirty-Block Index),作者在关键内存操作上实现了性能与能效高达一个数量级的提升。

ABSTRACT

In most modern systems, the memory subsystem is managed and accessed at multiple different granularities at various resources. We observe that such multi-granularity management results in significant inefficiency in the memory subsystem. Specifically, we observe that 1) page-granularity virtual memory unnecessarily triggers large memory operations, and 2) existing cache-line granularity memory interface is inefficient for performing bulk data operations and operations that exhibit poor spatial locality. To address these problems, we present a series of techniques in this thesis. First, we propose page overlays, a framework augments the existing virtual memory framework with the ability to track a new version of a subset of cache lines within each virtual page. We show that this extension is powerful by demonstrating its benefits on a number of applications. Second, we show that DRAM can be used to perform more complex operations than just store data. We propose RowClone, a mechanism to perform bulk data copy and initialization completely inside DRAM, and Buddy RAM, a mechanism to perform bulk bitwise operations using DRAM. Both these techniques achieve an order-of-magnitude improvement in the efficiency of the respective operations. Third, we propose Gather-Scatter DRAM, a technique that exploits DRAM organization to effectively gather/scatter values with a power-of-2 strided access patterns. For these access patterns, GS-DRAM achieves near-ideal bandwidth and cache utilization, without increasing the latency of fetching data from memory. Finally, we propose the Dirty-Block Index, a new way of tracking dirty blocks. In addition to improving the efficiency of bulk data coherence, DBI has several applications including high-performance memory scheduling, efficient cache lookup bypassing, and enabling heterogeneous ECC.

研究动机与目标

  • 解决由多种不匹配的内存粒度(字、缓存行、页、行)引起的现代内存子系统中的低效问题。
  • 减少批量内存操作(如复制与初始化)中的不必要的数据移动、带宽消耗与能量消耗。
  • 提升非单位步长访问模式下的性能,此类模式会降低缓存效率。
  • 实现对脏缓存块的高效、低开销管理,以提升一致性与调度效率。
  • 将内存内计算与管理技术的适用范围扩展至新兴的非易失性内存技术。

提出的方法

  • 提出Page Overlays:一种虚拟内存扩展机制,可在缓存行级别追踪子页更新,实现细粒度内存管理,且无需承担页级开销。
  • 引入RowClone:一种机制,通过行级操作在DRAM内部直接执行批量数据复制与初始化,消除芯片外的数据移动。
  • 设计Buddy RAM:一种技术,利用位线上的模拟操作在DRAM内执行批量按位逻辑运算(如XOR、AND)。
  • 开发Gather-Scatter DRAM(GS-DRAM):一种方法,利用DRAM模块的组织结构,高效地实现具有2的幂次步长访问模式的数据聚集或分散操作。
  • 提出脏块索引(Dirty-Block Index, DBI):对片上缓存中脏块追踪机制的重构,以支持一致性与调度的快速、高效查询。
  • 通过分析其底层架构原理,证明这些技术可扩展至未来内存技术(包括非易失性内存)。

实验结果

研究问题

  • RQ1虚拟内存能否被扩展以支持子页粒度,同时避免高昂的软件或硬件开销?
  • RQ2DRAM能否被用于直接执行复杂数据操作(如复制、逻辑运算),从而减少芯片外的数据移动?
  • RQ3能否高效支持非单位步长的内存访问模式,同时不牺牲带宽或增加延迟?
  • RQ4脏缓存块的管理能否被重构,以提升一致性协议效率并支持新型调度优化?
  • RQ5所提出的内存内计算与管理技术能否推广至新兴的非易失性内存技术?

主要发现

  • Page Overlays通过支持子页更新,降低了写时复制操作的开销,消除了小规模修改时的完整页复制。
  • RowClone通过在DRAM内部完全执行这些操作,在批量数据复制与初始化中实现了高达一个数量级的性能与能效提升。
  • Buddy RAM使DRAM内高效执行批量按位运算(如XOR)成为可能,相比主机计算,显著降低了能耗与延迟。
  • GS-DRAM在2的幂次步长访问模式下实现了接近理论极限的带宽与缓存利用率,且未增加内存延迟。
  • 脏块索引(DBI)支持快速、可扩展的脏块查询,提升了一致性协议效率,并支持高性能内存调度与缓存旁路。
  • 所提出的技术可扩展至非易失性内存技术,表明其在未来的内存层次结构中具有更广泛的应用潜力。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。