arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1104.4518cs.DCcs.MScs.PF
收藏

分布式存储系统上的并行广度优先搜索

Parallel Breadth-First Search on Distributed Memory Systems

Aydin Buluc, Kamesh Madduri

摘要:

数据密集型的、基于图的计算在一些科学应用中是普遍存在的,并且已知在分布式存储系统上实现是相当具有挑战性的。在这项工作中,我们探讨了设计空间的并行算法的宽度优先搜索(BFS),在几个图形算法的关键子程序。我们提出了两个高度调整的BFS在大型并行系统上的并行方法:一个水平同步策略,依赖于一个简单的基于顶点的分区的图形,和一个二维稀疏矩阵分区为基础的方法,减轻并行通信开销。对于这两种方法,我们还提出了与节点内多线程的混合版本。我们的新的混合二维算法减少了通信时间的3.5倍,相对于一个共同的顶点为基础的方法。我们的实验研究确定执行制度,这些方法将是有竞争力的,我们表现出极高的性能领先的分布式内存并行系统。例如,对于基于AMD Magny-Cours的系统Hopper上的40,000个核心并行执行,我们在具有43亿个顶点和687亿条边的无向图上实现了每秒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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑