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.
翻译:图形处理单元(GPU)传统上依赖主机CPU发起对数据存储的访问。这一方法适用于具有已知数据访问模式的GPU应用,这些模式允许将其数据集分片后在GPU中以流水线方式处理。然而,新兴应用如图计算与数据分析、推荐系统或图神经网络需要细粒度、依赖数据的存储访问。由于CPU-GPU同步开销高、I/O流量放大及CPU处理延迟长,CPU发起的存储访问不适合这些应用。GPU发起的存储访问消除了存储控制路径中的这些开销,因此有可能以更高速度支持此类应用。然而,目前缺乏支持高效GPU发起存储访问的系统架构与软件栈。本工作提出一种新型系统架构BaM,填补了这一空白。BaM采用细粒度软件缓存来合并数据存储请求,同时最小化I/O流量放大。该软件缓存通过高吞吐队列与存储系统通信,使现代GPU中海量并发线程能够以高速率发起I/O请求,从而充分利用存储设备与系统互连。实验结果表明,在BFS和CC图分析基准测试中,BaM实现了1.0倍和1.49倍的端到端加速,同时相比于从主机内存访问图数据将硬件成本降低高达21.7倍。此外,在相同硬件上,BaM将数据分析工作负载的速度提升至CPU发起存储访问的5.3倍。