The shortest path problem is a common challenge in graph theory and network science, with a broad range of potential applications. However, conventional 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 path algorithm is the Delta-stepping implementation method, which significantly improves the parallelism of Dijkstra's algorithm. We propose a novel all-pairs shortest path algorithm based on matrix operations, which requires $O(d\cdot n \cdot m)$ time and $O(m)$ space, achieving higher parallelism and scalability. To evaluate the effectiveness of our algorithm, we tested it using real network inputs from Stanford Network Analysis Platform and SuiteSparse Matrix Collection. Our algorithm outperformed the solution of shortest path algorithm from Gunrock, achieving a speedup of 2.464$\times$, and reducing latency to $66.975\%$, on average.
翻译:求解最短路径问题是图论和网络科学中的一个常见挑战,具有广泛的应用潜力。然而,传统串行算法往往难以适应大规模图的情况。为了解决这个问题,研究人员一直在探索并行计算作为一个解决方案。目前最先进的最短路径算法是 Delta-stepping 实现方法,它显著提高了 Dijkstra 算法的并行性。我们提出了一种基于矩阵运算的新型全源最短路径算法,它需要 $O(d\cdot n\cdot m)$ 的时间和 $O(m)$ 的空间,实现更高的并行性和可扩展性。为了评估我们算法的有效性,我们使用来自 Stanford 网络分析平台和 SuiteSparse 矩阵集的真实网络输入进行了测试。我们的算法优于 Gunrock 的最短路径算法解决方案,平均实现了 2.464 倍的加速,并将延迟降低到了 $66.975 \%$。