The shortest paths problem is a fundamental challenge in graph theory, with a broad range of potential applications. However, traditional serial algorithms often struggle to adapt to large-scale graphs. To address this issue, researchers have explored parallel computing as a solution. The state-of-the-art shortest paths algorithm is the $\Delta$-stepping implementation, which significantly improves the parallelism of Dijkstra's algorithm. We propose a novel shortest paths algorithm achieving higher parallelism and scalability, which requires $O(E_{wcc})$ and $O(S_{wcc} \cdot E_{wcc})$ times for SSSP and APSP problems, respectively, where $S_{wcc}$ and $E_{wcc}$ denote the number of nodes and edges included in the largest weakly connected component in graph. To evaluate the effectiveness of the novel algorithm, we tested it using real graph inputs from Stanford Network Analysis Platform and SuiteSparse Matrix Collection. Our algorithm outperformed the BFS (Breadth-First Search) and $\Delta$-stepping implementations from Gunrock from Gunrock, achieving a speedup of 1546.994$\times$ and 1432.145$\times$, respectively.
翻译:最短路径问题是图论中的一项基础性挑战,具有广泛的应用前景。然而,传统串行算法在处理大规模图时往往力不从心。为解决此问题,研究人员探索了并行计算作为解决方案。当前最先进的最短路径算法是基于 Δ-stepping 的实现,该算法显著提升了 Dijkstra 算法的并行性。我们提出了一种新型最短路径算法,实现了更高的并行性与可扩展性,对于 SSSP 和 APSP 问题,该算法的时间复杂度分别为 O(E_{wcc}) 和 O(S_{wcc} · E_{wcc}),其中 S_{wcc} 和 E_{wcc} 分别表示图中最大弱连通分量中的节点数和边数。为评估新算法的有效性,我们使用来自 Stanford Network Analysis Platform 和 SuiteSparse Matrix Collection 的真实图输入进行了测试。我们的算法优于来自 Gunrock 的 BFS(广度优先搜索)和 Δ-stepping 实现,分别实现了 1546.994 倍和 1432.145 倍的加速比。