More Parallelism in Dijkstra's Single-Source Shortest Path Algorithm

03/28/2019
by   Michael Kainer, et al.
0

Dijkstra's algorithm for the Single-Source Shortest Path (SSSP) problem is notoriously hard to parallelize in o(n) depth, n 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 O(n^1/3) 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 ideal parallel algorithm that can apply the criteria at no cost and parallelize relaxations without conflicts can achieve. These results show that the number of phases is indeed a small root of n, but still off from the shortest path length lower bound that can also be computed. We give a shared-memory parallel implementation of the most work-efficient version of a Dijkstra's algorithm running in parallel phases, which we compare to an own implementation of the well-known Δ-stepping algorithm. We can show that the work-efficient SSSP algorithm applying the criteria of Crauser et al. is competitive to and often better than Δ-stepping on our chosen input graphs. Despite not providing an o(n) guarantee on the number of required phases, criteria allowing concurrent relaxation of many correct vertices may be a viable approach to practically fast, parallel SSSP implementations.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/03/2019

Breaking the Bellman-Ford Shortest-Path Bound

In this paper we give a single-source shortest-path algorithm that break...
research
06/13/2023

Expanding the Scope of DAWN: A Novel Version for Weighted Shortest Path Problem

The shortest path problem is a typical problem in graph theory with wide...
research
11/01/2017

Improved Approximation Schemes for the Restricted Shortest Path Problem

The Restricted Shortest Path (RSP) problem, also known as the Delay-Cons...
research
01/07/2021

A Deterministic Parallel APSP Algorithm and its Applications

In this paper we show a deterministic parallel all-pairs shortest paths ...
research
07/12/2018

A Faster Algorithm for Minimum-Cost Bipartite Matching in Minor-Free Graphs

We give an Õ(n^7/5 (nC))-time algorithm to compute a minimum-cost maximu...
research
10/10/2018

Generic Dijkstra for Optical Networks

We present the generic Dijkstra shortest path algorithm: an efficient al...
research
06/15/2019

Accelerating Concurrent Heap on GPUs

Priority queue, often implemented as a heap, is an abstract data type th...

Please sign up or login with your details

Forgot password? Click here to reset