Skip to main content
QUICK REVIEW

[论文解读] EMOGI: Efficient Memory-access for Out-of-memory Graph-traversal In GPUs

Seung Won Min, Vikram Sharma Mailthody|arXiv (Cornell University)|Jun 12, 2020
Graph Theory and Algorithms参考文献 56被引用 10
一句话总结

EMOGI 为基于 GPU 的图遍历提出了一种直接的缓存行大小内存访问机制,适用于超出 GPU 内存容量的图数据,通过合并和对齐外部内存请求,避免了 UVM 的页故障开销。通过最大化 PCIe 带宽利用率并最小化 I/O 放大,EMOGI 相比优化后的 UVM 实现实现了 2.60× 的加速。

ABSTRACT

Modern analytics and recommendation systems are increasingly based on graph data that capture the relations between entities being analyzed. Practical graphs come in huge sizes, offer massive parallelism, and are stored in sparse-matrix formats such as CSR. To exploit the massive parallelism, developers are increasingly interested in using GPUs for graph traversal. However, due to their sizes, graphs often do not fit into the GPU memory. Prior works have either used input data pre-processing/partitioning or UVM to migrate chunks of data from the host memory to the GPU memory. However, the large, multi-dimensional, and sparse nature of graph data presents a major challenge to these schemes and results in significant amplification of data movement and reduced effective data throughput. In this work, we propose EMOGI, an alternative approach to traverse graphs that do not fit in GPU memory using direct cacheline-sized access to data stored in host memory. This paper addresses the open question of whether a sufficiently large number of overlapping cacheline-sized accesses can be sustained to 1) tolerate the long latency to host memory, 2) fully utilize the available bandwidth, and 3) achieve favorable execution performance. We analyze the data access patterns of several graph traversal applications in GPU over PCIe using an FPGA to understand the cause of poor external bandwidth utilization. By carefully coalescing and aligning external memory requests, we show that we can minimize the number of PCIe transactions and nearly fully utilize the PCIe bandwidth even with direct cache-line accesses to the host memory. EMOGI achieves 2.92$ imes$ speedup on average compared to the optimized UVM implementations in various graph traversal applications. We also show that EMOGI scales better than a UVM-based solution when the system uses higher bandwidth interconnects such as PCIe 4.0.

研究动机与目标

  • 解决当图数据超过 GPU 内存容量时,基于 GPU 的图遍历所面临的性能瓶颈。
  • 研究统一虚拟内存(UVM)为何在不规则、稀疏图工作负载下表现不佳,原因在于 I/O 读取放大和带宽利用率低下。
  • 探索细粒度、缓存行大小的主机内存访问是否能够维持高带宽并容忍长延迟。
  • 设计一种系统,通过减少 PCIe 事务数量并最大化有效内存吞吐量,而无需依赖 UVM 或预处理。
  • 证明直接内存访问可超越基于 UVM 的方法,并在 PCIe 4.0 等更高带宽互连上实现更好可扩展性。

提出的方法

  • 使用 FPGA 分析通过 PCIe 的 GPU 内存访问模式,识别基于 UVM 的图遍历中的低效问题。
  • 实现对主机内存的直接缓存行大小访问,而非依赖 UVM 的页级迁移机制。
  • 合并并对齐内存请求,以减少 PCIe 事务数量并提高数据传输效率。
  • 优化内存访问模式,以最小化延迟并最大化可用 PCIe 带宽的利用率。
  • 将优化后的访问模式集成到关键图遍历内核(如 BFS、SSSP)中,无需显式内存管理或图预处理。
  • 在多种图工作负载和互连环境下评估性能,与优化后的 UVM 及先前最先进方法进行对比。

实验结果

研究问题

  • RQ1在 GPU 图遍历中,对主机内存进行直接缓存行大小访问能否维持高带宽并容忍长延迟?
  • RQ2尽管具有透明内存管理机制,为何 UVM 在不规则、稀疏图工作负载下仍表现出较差的外部内存带宽利用率?
  • RQ3通过合并和对齐内存请求,能在多大程度上减少 PCIe 事务数量并提升有效吞吐量?
  • RQ4与基于 UVM 的方案相比,EMOGI 在 PCIe 4.0 等更高带宽互连下的性能扩展性如何?
  • RQ5EMOGI 是否能在无需预处理、重排或硬件修改的情况下超越基于 UVM 的系统?

主要发现

  • EMOGI 在多种图遍历工作负载上,相比优化后的 UVM 实现,平均实现了 2.60× 的加速。
  • 性能提升源于通过细粒度访问仅获取所需字节,而非整个 4KB 页,从而消除了 I/O 读取放大。
  • EMOGI 通过请求合并与对齐,将 PCIe 带宽几乎完全利用,显著减少了事务数量。
  • 由于减少了对页故障处理开销的依赖,EMOGI 在更高带宽互连(如 PCIe 4.0)下表现出近乎线性的可扩展性。
  • 该方法与现有 UVM 优化技术正交——EMOGI 可与预取、内存提示或图重排等技术结合,进一步提升性能。
  • 该方法可作为库部署,实现透明的性能提升,无需修改应用程序。

更好的研究,从现在开始

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

无需绑定信用卡

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