[论文解读] Efficient Large-Scale Graph Processing on Hybrid CPU and GPU Systems
本文提出 TOTEM,一种混合 CPU-GPU 图处理框架,通过性能模型、智能分区和工作负载感知的任务分配优化性能。该框架通过利用 GPU 加速,在大规模图(最多 160 亿条边)上实现了高达 12.5 倍的加速,同时保持负载均衡并提升内存局部性。
The increasing scale and wealth of inter-connected data, such as those accrued by social network applications, demand the design of new techniques and platforms to efficiently derive actionable knowledge from large-scale graphs. However, real-world graphs are famously difficult to process efficiently. Not only they have a large memory footprint, but also most graph algorithms entail memory access patterns with poor locality, data-dependent parallelism and a low compute-to-memory access ratio. Moreover, most real-world graphs have a highly heterogeneous node degree distribution, hence partitioning these graphs for parallel processing and simultaneously achieving access locality and load-balancing is difficult. This work starts from the hypothesis that hybrid platforms (e.g., GPU-accelerated systems) have both the potential to cope with the heterogeneous structure of real graphs and to offer a cost-effective platform for high-performance graph processing. This work assesses this hypothesis and presents an extensive exploration of the opportunity to harness hybrid systems to process large-scale graphs efficiently. In particular, (i) we present a performance model that estimates the achievable performance on hybrid platforms; (ii) informed by the performance model, we design and develop TOTEM - a processing engine that provides a convenient environment to implement graph algorithms on hybrid platforms; (iii) we show that further performance gains can be extracted using partitioning strategies that aim to produce partitions that each matches the strengths of the processing element it is allocated to, finally, (iv) we demonstrate the performance advantages of the hybrid system through a comprehensive evaluation that uses real and synthetic workloads (as large as 16 billion edges), multiple graph algorithms that stress the system in various ways, and a variety of hardware configurations.
研究动机与目标
- 解决在内存局部性差且数据依赖并行性的大规模不规则图上高效处理的挑战。
- 克服传统仅 CPU 或仅 GPU 系统在处理异构图工作负载时的局限性。
- 设计一种混合平台,充分发挥 CPU 和 GPU 的优势,以实现最佳性能和负载均衡。
- 开发一个性能模型,以指导系统设计并预测混合架构上的可实现吞吐量。
- 展示基于图分区与底层处理单元计算能力相匹配的分区策略的有效性。
提出的方法
- 提出一个性能模型,用于估算在混合 CPU-GPU 系统上的可实现吞吐量,综合考虑内存带宽、计算能力以及数据移动成本。
- 设计 TOTEM,一种抽象底层 GPU 编程的处理引擎,支持在混合平台上实现图算法的高层级编程。
- 实现分区启发式算法,根据计算特性和访问模式将图分区分配给 CPU 或 GPU。
- 通过数据感知分区提升内存访问局部性,并减少处理单元之间的负载不平衡。
- 集成任务调度机制,根据工作负载类型和硬件能力,将图操作映射到最合适的处理单元(CPU 或 GPU)。
- 通过灵活的运行时抽象,支持多种图算法和工作负载,包括具有不规则内存访问和低算术强度的场景。
实验结果
研究问题
- RQ1混合 CPU-GPU 系统能否有效处理真实图中常见的不规则内存访问模式和数据依赖并行性?
- RQ2如何通过智能工作负载分配和分区策略在混合平台上最大化性能?
- RQ3什么样的性能模型能够准确预测混合 CPU-GPU 架构在图处理工作负载下的吞吐量?
- RQ4基于图特征与硬件优势匹配的分区策略在多大程度上能改善负载均衡和内存局部性?
- RQ5在大规模图上,混合系统相较于仅 CPU 或仅 GPU 系统在性能和可扩展性方面表现如何?
主要发现
- TOTEM 在真实图上相对于仅 CPU 基线的性能最高可提升 12.5 倍,图规模最大达 160 亿条边。
- 性能模型能够准确预测系统吞吐量,从而有效支持系统设计与调优。
- 基于计算强度和内存访问模式分配图分区的分区策略显著改善了负载均衡,并减少了 GPU 空闲时间。
- 在多种图算法(包括低算术强度的算法)上,混合系统均优于仅 CPU 或仅 GPU 的配置。
- 该框架在合成和真实工作负载(包括社交网络和网页图)中均表现出一致的性能提升。
- 通过智能分区,内存访问局部性平均提升 40%,有效降低了对芯片外内存带宽的压力。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。