Skip to main content
QUICK REVIEW

[论文解读] Multi-GPU Graph Analytics

Yuechao Pan, Yangzihao Wang|arXiv (Cornell University)|Apr 19, 2015
Graph Theory and Algorithms参考文献 35被引用 9
一句话总结

本文提出了一种多GPU图处理库,通过极少的程序员工作量,将单GPU图算法扩展至跨多个GPU进行扩展。通过引入方向优化遍历和按需内存分配等优化技术,该框架在BFS上实现了超过6个GPU的900+ GTEPS性能,并在单GPU实现上达到最高3.86倍的几何平均加速比,树立了多GPU图分析的新性能标准。

ABSTRACT

We present a single-node, multi-GPU programmable graph processing library that allows programmers to easily extend single-GPU graph algorithms to achieve scalable performance on large graphs with billions of edges. Directly using the single-GPU implementations, our design only requires programmers to specify a few algorithm-dependent concerns, hiding most multi-GPU related implementation details. We analyze the theoretical and practical limits to scalability in the context of varying graph primitives and datasets. We describe several optimizations, such as direction optimizing traversal, and a just-enough memory allocation scheme, for better performance and smaller memory consumption. Compared to previous work, we achieve best-of-class performance across operations and datasets, including excellent strong and weak scalability on most primitives as we increase the number of GPUs in the system.

研究动机与目标

  • 解决超越单GPU内存限制的GPU图分析可扩展性挑战,同时保持可编程性和算法通用性。
  • 实现单GPU图算法向多GPU系统的无缝扩展,且对现有代码改动极小。
  • 识别并优化多GPU图处理中的关键性能瓶颈,包括通信带宽、同步延迟、内存使用和分区策略。
  • 在多GPU系统上,针对多样化图原原子和数据集实现业界领先性能。

提出的方法

  • 扩展Gunrock单GPU图处理框架,采用统一的高层编程模型,支持多GPU执行。
  • 使用CUDA流和事件重叠计算与通信,提升硬件利用率并减少空闲时间。
  • 实现按需内存分配策略,最小化GPU内存使用并避免过度分配。
  • 引入方向优化遍历,提升BFS及相关原原子的负载均衡性并减少通信开销。
  • 设计一种以最小化边界顶点数为目标的分区策略,而非最小化边切割数,从而提升通信效率。
  • 复用现有高性能单GPU原原子作为构建模块,确保框架层面开销极低。

实验结果

研究问题

  • RQ1是否存在一种通用的多GPU图处理模型,可在性能、可扩展性和可编程性之间取得良好平衡?
  • RQ2如何高效地将单GPU图算法扩展至多GPU系统,且仅需极少代码修改?
  • RQ3多GPU图处理中的主要性能瓶颈是什么?如何有效缓解?
  • RQ4分区策略——特别是最小化边界顶点数与最小化边切割数——如何影响多GPU图处理性能?
  • RQ5统一框架能否在BFS、SSSP、CC、BC和PageRank等多样化图原原子上同时实现高性能与可扩展性?

主要发现

  • 在6个GPU上,该框架在方向优化BFS(DOBFS)上实现超过900 GTEPS的性能,展现出大规模下的峰值性能。
  • 对于广度优先搜索(BFS),该框架在多个数据集上相较单GPU执行实现2.63倍的几何平均加速比。
  • 该框架在单源最短路径(SSSP)、连通分量(CC)、介数中心性(BC)和PageRank(PR)上,分别实现2.57倍、2.00倍、1.96倍和3.86倍的几何平均加速比。
  • 使用64位顶点和边ID相比32位ID导致性能下降约50%,这是由于数据带宽需求翻倍所致,如在rmat_n24_32数据集上使用64位顶点ID时所见。
  • 与Hybrid++(CPU+dGPU)等先前系统相比,该框架在大多数图上实现TEPS性能提升5–10倍,且能效(TEPS每瓦)提升3.5倍,但在道路网络上性能减半。
  • 本研究识别出通信带宽、同步延迟、内存使用和分区策略为主要可扩展性瓶颈,其中边界顶点最小化策略在分区中比边切割最小化更有效。

更好的研究,从现在开始

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

无需绑定信用卡

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