一句话:提出 BaM 系统架构,用细粒度软件缓存与高吞吐队列实现 GPU 直接发起存储访问,避免 CPU 同步与 I/O 放大。
GPU 应用传统上依赖 CPU 发起存储访问,这对图分析、推荐系统、图神经网络等需要细粒度、数据依赖访问的应用并不合适,因为存在 CPU-GPU 同步开销、I/O 流量放大和 CPU 处理延迟高的问题。本文提出 BaM 系统架构,引入细粒度软件缓存来合并存储请求并最小化 I/O 放大,同时通过高吞吐队列与存储系统通信,使 GPU 中大量并发线程能以高速率发起 I/O 请求,从而充分利用存储设备和系统互连。实验表明,BaM 在 BFS 和 CC 图分析基准上相比从主机内存访问图数据取得 1.0x 和 1.49x 的端到端加速,并将硬件成本最多降低 21.7x;在相同硬件上,数据分分析负载相比 CPU 发起存储访问加速 5.3x。
Graphics Processing Units (GPUs) have traditionally relied on the host CPU to initiate access to the data storage. This approach is well-suited for GPU applications with known data access patterns that enable partitioning of their dataset to be processed in a pipelined fashion in the GPU. However, emerging applications such as graph and data analytics, recommender systems, or graph neural networks, require fine-grained, data-dependent access to storage. CPU initiation of storage access is unsuitable for these applications due to high CPU-GPU synchronization overheads, I/O traffic amplification, and long CPU processing latencies. GPU-initiated storage removes these overheads from the storage control path and, thus, can potentially support these applications at much higher speed. However, there is a lack of systems architecture and software stack that enable efficient GPU-initiated storage access. This work presents a novel system architecture, BaM, that fills this gap. BaM features a fine-grained software cache to coalesce data storage requests while minimizing I/O traffic amplification. This software cache communicates with the storage system via high-throughput queues that enable the massive number of concurrent threads in modern GPUs to make I/O requests at a high rate to fully utilize the storage devices and the system interconnect. Experimental results show that BaM delivers 1.0x and 1.49x end-to-end speed up for BFS and CC graph analytics benchmarks while reducing hardware costs by up to 21.7x over accessing the graph data from the host memory. Furthermore, BaM speeds up data-analytics workloads by 5.3x over CPU-initiated storage access on the same hardware.
@inproceedings{paperbot10029,
title = {GPU-Initiated On-Demand High-Throughput Storage Access in the BaM System Architecture},
author = {Zaid Qureshi and Vikram Sharma Mailthody and Isaac Gelado and Seungwon Min and Amna Masood and Jeongmin Park and Jinjun Xiong and C. J. Newburn and Dmitri Vainbrand and I-Hsin Chung and Michael Garland and William Dally and Wen-mei Hwu},
booktitle = {ASPLOS},
year = {2023},
doi = {10.1145/3575693.3575748}
}