More Parallelism in Dijkstra's Single-Source Shortest Path Algorithm
Michael Kainer, Jesper Larsson Tr\"aff

TL;DR
This paper explores enhanced parallelization techniques for Dijkstra's SSSP algorithm, demonstrating that more vertices can be processed simultaneously, leading to practical speedups despite theoretical limitations.
Contribution
It strengthens existing criteria for parallel vertex relaxation, analyzes tradeoffs, and presents a shared-memory implementation that outperforms Δ-stepping in many cases.
Findings
Number of phases is a small root of n.
Parallel relaxation criteria can improve practical performance.
Work-efficient parallel SSSP can be competitive with Δ-stepping.
Abstract
Dijkstra's algorithm for the Single-Source Shortest Path (SSSP) problem is notoriously hard to parallelize in depth, being the number of vertices in the input graph, without increasing the required parallel work unreasonably. Crauser et al.\ (1998) presented observations that allow to identify more than a single vertex at a time as correct and correspondingly more edges to be relaxed simultaneously. Their algorithm runs in parallel phases, and for certain random graphs they showed that the number of phases is with high probability. A work-efficient CRCW PRAM with this depth was given, but no implementation on a real, parallel system. In this paper we strengthen the criteria of Crauser et al., and discuss tradeoffs between work and number of phases in their implementation. We present simulation results with a range of common input graphs for the depth that an…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComplexity and Algorithms in Graphs · Optimization and Search Problems · Machine Learning and Algorithms
