[论文解读] To Push or To Pull: On Reducing Communication and Synchronization in Graph Computations
本文研究图计算中的推拉二元性,对比数据传播策略——将更新推送到共享状态与从私有状态拉取更新——以最小化通信和同步开销。通过对多种模型和图上的11个算法进行分析,识别出性能、收敛性和复杂度之间的权衡,提出通用优化策略,从而加速共享内存和分布式系统上的图处理。
We reduce the cost of communication and synchronization in graph processing by analyzing the fastest way to process graphs: pushing the updates to a shared state or pulling the updates to a private state.We investigate the applicability of this push-pull dichotomy to various algorithms and its impact on complexity, performance, and the amount of used locks, atomics, and reads/writes. We consider 11 graph algorithms, 3 programming models, 2 graph abstractions, and various families of graphs. The conducted analysis illustrates surprising differences between push and pull variants of different algorithms in performance, speed of convergence, and code complexity; the insights are backed up by performance data from hardware counters.We use these findings to illustrate which variant is faster for each algorithm and to develop generic strategies that enable even higher speedups. Our insights can be used to accelerate graph processing engines or libraries on both massively-parallel shared-memory machines as well as distributed-memory systems.
研究动机与目标
- 理解图计算中推与拉策略在性能和同步方面的权衡。
- 识别在不同图算法中,推或拉策略哪一种能带来更好的性能、更快的收敛速度以及更少的锁竞争。
- 开发通用优化策略,以减少图处理引擎中的通信和同步开销。
- 利用硬件计数器数据评估推与拉对底层操作(如原子操作、读取和写入)的影响。
- 为在共享内存和分布式内存系统上优化图处理提供可操作的洞见。
提出的方法
- 在三种编程模型和两种图抽象下分析11个图算法,比较推与拉变体。
- 使用硬件性能计数器测量性能、收敛速度以及底层操作(读取、写入、原子操作、锁)的开销。
- 评估共享内存和分布式内存执行模型,以评估策略的可移植性和可扩展性。
- 根据算法对推与拉模式的敏感性进行分类,并识别影响性能的结构特征。
- 通过识别偏好某一策略的算法特定模式,推导出通用优化策略。
- 通过在多样化图族上的实证评估验证发现,并推广洞察。
实验结果
研究问题
- RQ1在图处理中,推或拉策略哪一个能带来更低的通信和同步开销?
- RQ2推与拉变体在不同图算法中的收敛速度和性能表现有何差异?
- RQ3推与拉对底层操作(如原子操作、读取和写入)有何影响?
- RQ4哪些图算法特征决定了推或拉更高效?
- RQ5能否从推拉分析中推导出通用优化策略以提升图处理性能?
主要发现
- 同一算法的推与拉变体表现出显著的性能差异,某些算法因图结构和访问模式而偏好推或拉。
- 在更新频率高且扇入低的算法中,推策略可减少同步开销;而在稀疏或不规则图中,拉策略可最小化通信开销。
- 硬件计数器数据证实,在某些工作负载(尤其是PageRank和SSSP)中,推变体可减少原子操作和内存争用。
- 由于减少了冗余更新,拉变体在SSSP和介数中心性等算法中通常表现出更快的收敛速度。
- 代码复杂度不同:拉变体通常更易读且更易于并行化,而推变体需要仔细管理共享状态。
- 从推拉分析中推导出的通用优化策略,可在共享内存和分布式系统中的图处理引擎中实现可测量的加速。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。