English

Parallel Shortest-Paths Using Radius Stepping

Data Structures and Algorithms 2016-03-15 v2

Abstract

The single-source shortest path problem (SSSP) with nonnegative edge weights is a notoriously difficult problem to solve efficiently in parallel---it is one of the graph problems said to suffer from the transitive-closure bottleneck. In practice, the Δ\Delta-stepping algorithm of Meyer and Sanders (J. Algorithms, 2003) often works efficiently but has no known theoretical bounds on general graphs. The algorithm takes a sequence of steps, each increasing the radius by a user-specified value Δ\Delta. Each step settles the vertices in its annulus but can take Θ(n)\Theta(n) substeps, each requiring Θ(m)\Theta(m) work (nn vertices and mm edges). In this paper, we describe Radius-Stepping, an algorithm with the best-known tradeoff between work and depth bounds for SSSP with nearly-linear (\otilde(m)\otilde(m)) work. The algorithm is a Δ\Delta-stepping-like algorithm but uses a variable instead of fixed-size increase in radii, allowing us to prove a bound on the number of steps. In particular, by using what we define as a vertex kk-radius, each step takes at most k+2k+2 substeps. Furthermore, we define a (k,ρ)(k, \rho)-graph property and show that if an undirected graph has this property, then the number of steps can be bounded by O(nρlogρL)O(\frac{n}{\rho} \log \rho L), for a total of O(knρlogρL)O(\frac{kn}{\rho} \log \rho L) substeps, each parallel. We describe how to preprocess a graph to have this property. Altogether, Radius-Stepping takes O((m+nlogn)lognρ)O((m+n\log n)\log \frac{n}{\rho}) work and O(nρlognlog(ρL))O(\frac{n}{\rho}\log n \log (\rho{}L)) depth per source after preprocessing. The preprocessing step can be done in O(mlogn+nρ2)O(m\log n + n\rho^2) work and O(ρ2)O(\rho^2) depth or in O(mlogn+nρ2logn)O(m\log n + n\rho^2\log n) work and O(ρlogρ)O(\rho\log \rho) depth, and adds no more than O(nρ)O(n\rho) edges.

Keywords

Cite

@article{arxiv.1602.03881,
  title  = {Parallel Shortest-Paths Using Radius Stepping},
  author = {Guy E. Blelloch and Yan Gu and Yihan Sun and Kanat Tangwongsan},
  journal= {arXiv preprint arXiv:1602.03881},
  year   = {2016}
}
R2 v1 2026-06-22T12:48:39.937Z