[论文解读] Parallel Breadth-First Search on Distributed Memory Systems
本文提出两种针对分布式内存系统的高度优化的混合并行BFS算法:一种是基于层级同步的顶点划分方法,另一种是新颖的二维稀疏矩阵划分方法。后者将通信开销降低了最多3.5倍,在40,000核系统上实现了每秒178亿条边访问,创下具有偏斜度分布的大规模图上BFS性能的新纪录。
Data-intensive, graph-based computations are pervasive in several scientific applications, and are known to to be quite challenging to implement on distributed memory systems. In this work, we explore the design space of parallel algorithms for Breadth-First Search (BFS), a key subroutine in several graph algorithms. We present two highly-tuned parallel approaches for BFS on large parallel systems: a level-synchronous strategy that relies on a simple vertex-based partitioning of the graph, and a two-dimensional sparse matrix-partitioning-based approach that mitigates parallel communication overhead. For both approaches, we also present hybrid versions with intra-node multithreading. Our novel hybrid two-dimensional algorithm reduces communication times by up to a factor of 3.5, relative to a common vertex based approach. Our experimental study identifies execution regimes in which these approaches will be competitive, and we demonstrate extremely high performance on leading distributed-memory parallel systems. For instance, for a 40,000-core parallel execution on Hopper, an AMD Magny-Cours based system, we achieve a BFS performance rate of 17.8 billion edge visits per second on an undirected graph of 4.3 billion vertices and 68.7 billion edges with skewed degree distribution.
研究动机与目标
- 为解决在具有不规则内存访问模式的分布式内存系统上并行BFS的性能挑战。
- 探索大规模图上基于顶点与基于矩阵的划分策略之间的算法权衡。
- 在高并发环境中最小化通信开销并最大化可扩展性。
- 通过混合并行(MPI + 多线程)在现代超级计算机上实现业界领先性能。
- 提供高性能、可投入生产的实现,优于现有框架(如PBGL)
提出的方法
- 采用层级同步BFS策略,并在处理器之间进行一维顶点划分。
- 采用二维稀疏矩阵划分方案,通过将相关图数据共置来减少跨处理器通信。
- 集成节点内多线程技术,以改善数据局部性并隐藏多核节点上的内存延迟。
- 对顶点进行随机重排,以在二维方法中实现负载均衡并减少通信偏差。
- 利用MPI进行节点间通信,并对高并发环境下的集体通信操作(Alltoall、Allgather)进行优化。
- 使用稀疏矩阵-向量乘法(SpMV)抽象将BFS迭代表达为线性代数操作。
实验结果
研究问题
- RQ1二维稀疏矩阵划分策略是否能显著减少分布式BFS中的通信量?
- RQ2在大规模BFS中,混合多线程(MPI + OpenMP)在多核节点上的性能提升程度如何?
- RQ3现有并行BFS框架(如PBGL)在大规模系统中的性能瓶颈是什么?
- RQ4通信减少在高进程数下对可扩展性的提升程度如何?
- RQ5在现代分布式内存架构上,BFS性能是否能显著超越以往工作?
主要发现
- 基于二维划分的算法相比标准顶点划分方法,将通信时间最多减少了3.5倍。
- 在40,000核系统(Hopper)上,该方法在包含43亿个顶点、687亿条边且度分布偏斜的图上,实现了每秒178亿条边访问。
- 在小规模测试用例(128–2048核)的R-MAT图上,该实现比PBGL快最多16倍。
- 单节点多线程版本在标准测试实例上,相比文献中报道的先前高性能实现,最高提升达1.47倍。
- 该性能优势在多种架构上均得以保持,包括AMD Magny-Cours(Hopper)和Intel Nehalem(Carver)。
- 结果挑战了‘细粒度通信对高性能必不可少’的假设,表明通过二维划分实现的粗粒度通信反而更有效。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。