Efficient Stepping Algorithms and Implementations for Parallel Shortest Paths

05/13/2021
by   Xiaojun Dong, et al.
0

In this paper, we study the single-source shortest-path (SSSP) problem with positive edge weights, which is a notoriously hard problem in the parallel context. In practice, the Δ-stepping algorithm proposed by Meyer and Sanders has been widely adopted. However, Δ-stepping has no known worst-case bounds for general graphs. The performance of Δ-stepping also highly relies on the parameter Δ. There have also been lots of algorithms with theoretical bounds, such as Radius-stepping, but they either have no implementations available or are much slower than Δ-stepping in practice. We propose a stepping algorithm framework that generalizes existing algorithms such as Δ-stepping and Radius-stepping. The framework allows for similar analysis and implementations of all stepping algorithms. We also propose a new ADT, lazy-batched priority queue (LaB-PQ), that abstracts the semantics of the priority queue needed by the stepping algorithms. We provide two data structures for LaB-PQ, focusing on theoretical and practical efficiency, respectively. Based on the new framework and LaB-PQ, we show two new stepping algorithms, ρ-stepping and Δ^*-stepping, that are simple, with non-trivial worst-case bounds, and fast in practice. The stepping algorithm framework also provides almost identical implementations for three algorithms: Bellman-Ford, Δ^*-stepping, and ρ-stepping. We compare our code with four state-of-the-art implementations. On five social and web graphs, ρ-stepping is 1.3–2.5x faster than all the existing implementations. On two road graphs, our Δ^*-stepping is at least 14% faster than existing implementations, while ρ-stepping is also competitive. The almost identical implementations for stepping algorithms also allow for in-depth analyses and comparisons among the stepping algorithms in practice.

READ FULL TEXT
research
05/17/2019

Shortest Path Algorithms between Theory and Practice

Utilizing graph algorithms is a common activity in computer science. Alg...
research
12/22/2021

Using Machine Learning Predictions to Speed-up Dijkstra's Shortest Path Algorithm

We study the use of machine learning techniques to solve a fundamental s...
research
09/24/2019

Dynamic Approximate Shortest Paths and Beyond: Subquadratic and Worst-Case Update Time

Consider the following distance query for an n-node graph G undergoing e...
research
03/18/2021

Comparative Design-Choice Analysis of Color Refinement Algorithms Beyond the Worst Case

Color refinement is a crucial subroutine in symmetry detection in theory...
research
03/22/2021

Differentiated nonblocking: a new progress condition and a matching queue algorithm

In this paper, we first propose a new liveness requirement for shared ob...
research
03/14/2023

Efficient Yao Graph Construction

Yao graphs are geometric spanners that connect each point of a given poi...
research
04/20/2022

Theoretical analysis of edit distance algorithms: an applied perspective

Given its status as a classic problem and its importance to both theoret...

Please sign up or login with your details

Forgot password? Click here to reset