Provably-Efficient and Internally-Deterministic Parallel Union-Find

04/18/2023
by   Alexander Fedorov, et al.
0

Determining the degree of inherent parallelism in classical sequential algorithms and leveraging it for fast parallel execution is a key topic in parallel computing, and detailed analyses are known for a wide range of classical algorithms. In this paper, we perform the first such analysis for the fundamental Union-Find problem, in which we are given a graph as a sequence of edges, and must maintain its connectivity structure under edge additions. We prove that classic sequential algorithms for this problem are well-parallelizable under reasonable assumptions, addressing a conjecture by [Blelloch, 2017]. More precisely, we show via a new potential argument that, under uniform random edge ordering, parallel union-find operations are unlikely to interfere: T concurrent threads processing the graph in parallel will encounter memory contention O(T^2 ·log |V| ·log |E|) times in expectation, where |E| and |V| are the number of edges and nodes in the graph, respectively. We leverage this result to design a new parallel Union-Find algorithm that is both internally deterministic, i.e., its results are guaranteed to match those of a sequential execution, but also work-efficient and scalable, as long as the number of threads T is O(|E|^1/3 - ε), for an arbitrarily small constant ε > 0, which holds for most large real-world graphs. We present lower bounds which show that our analysis is close to optimal, and experimental results suggesting that the performance cost of internal determinism is limited.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/14/2019

In Search of the Fastest Concurrent Union-Find Algorithm

Union-Find (or Disjoint-Set Union) is one of the fundamental problems in...
research
09/02/2019

Faster Algorithms for Edge Connectivity via Random 2-Out Contractions

We provide a simple new randomized contraction approach to the global mi...
research
01/03/2023

Provably Fast and Space-Efficient Parallel Biconnectivity

Biconnectivity is one of the most fundamental graph problems. The canoni...
research
03/02/2020

Concurrent Disjoint Set Union

We develop and analyze concurrent algorithms for the disjoint set union ...
research
08/11/2021

Linear Layouts of Complete Graphs

A page (queue) with respect to a vertex ordering of a graph is a set of ...
research
04/29/2022

DePa: Simple, Provably Efficient, and Practical Order Maintenance for Task Parallelism

A number of problems in parallel computing require reasoning about the d...
research
06/28/2019

Pruned Landmark Labeling Meets Vertex Centric Computation: A Surprisingly Happy Marriage!

In this paper, we study how the Pruned Landmark Labeling (PPL) algorithm...

Please sign up or login with your details

Forgot password? Click here to reset