Skip to main content
QUICK REVIEW

[论文解读] FIGARO: Improving System Performance via Fine-Grained In-DRAM Data Relocation and Caching

Yaohua Wang, Lois Orosa|arXiv (Cornell University)|Sep 17, 2020
Parallel Computing and Optimization Techniques参考文献 152被引用 7
一句话总结

FIGARO 提出了一种低开销的 DRAM 基板,通过共享全局缓冲区实现 DRAM bank 内部的细粒度、与距离无关的数据重定位,从而支持 FIGCache——一种细粒度的 DRAM 内缓存——仅缓存频繁访问的数据块。与传统的 DDR4 系统相比,该方案在 8 核工作负载下将 DRAM 延迟和能耗分别降低了 16.3% 和 7.8%。

ABSTRACT

DRAM Main memory is a performance bottleneck for many applications due to the high access latency. In-DRAM caches work to mitigate this latency by augmenting regular-latency DRAM with small-but-fast regions of DRAM that serve as a cache for the data held in the regular-latency region of DRAM. While an effective in-DRAM cache can allow a large fraction of memory requests to be served from a fast DRAM region, the latency savings are often hindered by inefficient mechanisms for relocating copies of data into and out of the fast regions. Existing in-DRAM caches have two sources of inefficiency: (1) the data relocation granularity is an entire multi-kilobyte row of DRAM; and (2) because the relocation latency increases with the physical distance between the slow and fast regions, multiple fast regions are physically interleaved among slow regions to reduce the relocation latency, resulting in increased hardware area and manufacturing complexity. We propose a new substrate, FIGARO, that uses existing shared global buffers among subarrays within a DRAM bank to provide support for in-DRAM data relocation across subarrays at the granularity of a single cache block. FIGARO has a distance-independent latency within a DRAM bank, and avoids complex modifications to DRAM. Using FIGARO, we design a fine-grained in-DRAM cache called FIGCache. The key idea of FIGCache is to cache only small, frequently-accessed portions of different DRAM rows in a designated region of DRAM. By caching only the parts of each row that are expected to be accessed in the near future, we can pack more of the frequently-accessed data into FIGCache, and can benefit from additional row hits in DRAM. Our evaluations show that FIGCache improves the average performance of a system using DDR4 DRAM by 16.3% and reduces average DRAM energy consumption by 7.8% for 8-core workloads, over a conventional system without in-DRAM caching.

研究动机与目标

  • 解决现代系统中高 DRAM 访问延迟带来的性能瓶颈。
  • 克服现有 DRAM 内缓存中粗粒度行级数据重定位带来的低效问题。
  • 消除对快速与慢速子阵列进行复杂交织以降低硬件复杂度和面积开销的需求。
  • 利用现有外围电路,在 DRAM bank 内实现高效、低延迟的数据迁移。
  • 设计一种实用且可扩展的 DRAM 内缓存(FIGCache),在多种工作负载下提升性能与能效。

提出的方法

  • 利用 DRAM 子阵列中现有的共享全局行缓冲,实现以单个缓存块(通常为 64B)为粒度的 bank 内数据移动。
  • 通过全局行缓冲网络在 DRAM bank 内部的子阵列之间重定位数据,无需对快速与慢速子阵列进行物理交织。
  • 实现一种细粒度的 DRAM 内缓存(FIGCache),仅在多个行上缓存热点、频繁访问的数据段。
  • 通过全局缓冲器架构,将重定位延迟与源和目标子阵列之间的物理距离解耦,从而最小化延迟。
  • 与现有内存控制器集成,并通过将频繁访问的数据块共置在同一行来支持行缓冲命中利用。
  • 通过在无专用快速子阵列的情况下仍支持缓存,确保与传统同质化 DRAM bank 的向后兼容性。

实验结果

研究问题

  • RQ1在不增加硬件复杂度的前提下,DRAM bank 内部的细粒度数据重定位能否降低 DRAM 内缓存延迟并提升性能?
  • RQ2使用共享全局缓冲器实现与距离无关的数据重定位,与行级重定位相比,对 DRAM 内缓存效率有何影响?
  • RQ3FIGCache 在异构与同质化 DRAM 架构中,能在多大程度上提升系统性能与能效?
  • RQ4在不同工作负载与系统参数下,FIGCache 与最先进的 DRAM 内缓存技术相比表现如何?
  • RQ5FIGARO 基板能否实现与商品化 DRAM 设计兼容的实用、低开销 DRAM 内缓存?

主要发现

  • 在 8 核工作负载下,FIGCache 相较于无 DRAM 内缓存的传统 DDR4 系统,平均性能提升 16.3%。
  • 在相同 8 核工作负载下,FIGCache 将平均 DRAM 能耗降低了 7.8%。
  • FIGCache 的性能增益在多种系统参数下均表现稳健,包括不同的内存访问模式与工作负载。
  • 由于采用了细粒度重定位并避免了物理子阵列交织,FIGCache 在性能上优于最先进的 DRAM 内缓存技术。
  • FIGARO 基板实现了 DRAM bank 内部与距离无关的重定位延迟,消除了子阵列间长物理距离带来的性能惩罚。
  • 即使在传统的同质化 DRAM bank 中,FIGCache 也能实现显著收益,证明专用快速子阵列并非实现高效 DRAM 内缓存的必要条件。

更好的研究,从现在开始

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

无需绑定信用卡

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