[论文解读] Tearing Down the Memory Wall
该论文提出 Erudite 架构,一种新型计算机体系结构,通过将高密度闪存与可编程近数据加速器集成,重新定义了内存与计算抽象,实现了大规模并行处理和细粒度数据访问。通过将内存请求从 CPU 转移至类似 GPU 的加速器,Erudite 实现了可扩展的内存带宽与容量,打破了限制现代工作负载(如人工智能和数据分析)的内存墙。
We present a vision for the Erudite architecture that redefines the compute and memory abstractions such that memory bandwidth and capacity become first-class citizens along with compute throughput. In this architecture, we envision coupling a high-density, massively parallel memory technology like Flash with programmable near-data accelerators, like the streaming multiprocessors in modern GPUs. Each accelerator has a local pool of storage-class memory that it can access at high throughput by initiating very large numbers of overlapping requests that help to tolerate long access latency. The accelerators can also communicate with each other and remote memory through a high-throughput low-latency interconnect. As a result, systems based on the Erudite architecture scale compute and memory bandwidth at the same rate, tearing down the notorious memory wall that has plagued computer architecture for generations. In this paper, we present the motivation, rationale, design, benefit, and research challenges for Erudite.
研究动机与目标
- 解决现代系统中计算吞吐量与内存带宽之间日益扩大的性能差距,特别是针对人工智能和数据分析工作负载。
- 克服以 CPU 为中心的内存访问方式的局限性,后者因软件开销和请求并行度有限,导致细粒度数据传输受阻。
- 通过将数据请求发起从 CPU 移至可编程加速器,实现对非易失性内存(如闪存)的高吞吐、低延迟访问。
- 通过将闪存与流式多处理器及高性能互连结合,实现可扩展的内存容量与带宽。
- 提供扁平化、高效的内存抽象,减少 I/O 放大效应,并支持现代工作负载中常见的数据依赖性、稀疏访问模式。
提出的方法
- 将高密度闪存作为主内存层集成,通过字节寻址接口实现细粒度访问。
- 部署可编程近数据加速器(如 GPU 风格的流式多处理器),配备本地存储池,以发起和处理大量重叠的内存请求。
- 使用高吞吐、低延迟互连(如 NVLink、PCIe Gen5、CCIX、Gen-Z)实现加速器与远程内存之间的通信。
- 将 CPU 与内存访问路径解耦,使加速器可直接向闪存存储发起 NVMe 风格请求,降低软件开销。
- 优化加速器与内存之间的数据布局与调度,以最小化延迟并最大化带宽利用率。
- 利用请求重叠来容忍长延迟的闪存访问,即使在高延迟存储下仍能实现高有效带宽。
实验结果
研究问题
- RQ1现代系统如何实现可扩展的内存带宽与容量,以匹配人工智能和数据分析工作负载中计算吞吐量的增长?
- RQ2为消除加速器在细粒度、高吞吐量数据访问中以 CPU 为瓶颈的问题,需要哪些体系结构变革?
- RQ3结合闪存与可编程加速器的近数据处理,能否实现一种实用的、高带宽的内存系统,以支持稀疏、数据依赖的访问模式?
- RQ4为支持数百万并发内存请求并保持低开销,需要哪些互连与协议增强?
- RQ5如何重新设计内存系统,使内存带宽与容量成为与计算吞吐量同等重要的第一类资源?
主要发现
- 过去四年间,现代 GPU 的计算吞吐量提升了 30 倍,而内存带宽与容量仅分别提升了 2.1 倍与 2.5 倍,凸显了内存墙的持续扩大。
- 当前系统中使用的粗粒度数据传输(如 4KB–MB)导致显著的 I/O 放大,当访问模式稀疏或依赖数据时,会浪费带宽。
- 为维持 16GBps 的带宽,使用 512 字节传输与 64μs 的 SSD 延迟,系统需维持 2,000 个并发请求,而 CPU 基于的请求生成方式因并行度有限,无法实现此目标。
- 允许 GPU 线程直接发起 NVMe 请求,可使计算并行度与内存并行度对齐,彻底消除 CPU 的瓶颈。
- 当前 SSD 的访问粒度为 16KB,在仅需小数据块(如 128–512B)时会浪费带宽,尤其在图计算与数据库工作负载中更为明显。
- 部分闪存访问技术(如 8KB)仍存在效率低下问题;真正实现 128B 粒度的随机访问,才能最大化带宽并减少 I/O 放大。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。