Concurrent Disjoint Set Union

03/02/2020
by   Siddhartha V. Jayanti, et al.
0

We develop and analyze concurrent algorithms for the disjoint set union (union-find) problem in the shared memory, asynchronous multiprocessor model of computation, with CAS (compare and swap) or DCAS (double compare and swap) as the synchronization primitive. We give a deterministic bounded wait-free algorithm that uses DCAS and has a total work bound of O(m · (log(np/m + 1) + α(n, m/(np))) for a problem with n elements and m operations solved by p processes, where α is a functional inverse of Ackermann's function. We give two randomized algorithms that use only CAS and have the same work bound in expectation. The analysis of the second randomized algorithm is valid even if the scheduler is adversarial. Our DCAS and randomized algorithms take O(log n) steps per operation, worst-case for the DCAS algorithm, high-probability for the randomized algorithms. Our work and step bounds grow only logarithmically with p, making our algorithms truly scalable. We prove that for a class of symmetric algorithms that includes ours, no better step or work bound is possible.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/12/2022

Generalized Wake-Up: Amortized Shared Memory Lower Bounds for Linearizable Data Structures

In this work, we define the generalized wake-up problem, GWU(s), for a s...
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
08/05/2021

Lower Bounds for Shared-Memory Leader Election under Bounded Write Contention

This paper gives tight logarithmic lower bounds on the solo step complex...
research
01/25/2019

Finding a Mediocre Player

Consider a totally ordered set S of n elements; as an example, a set of ...
research
04/18/2023

Provably-Efficient and Internally-Deterministic Parallel Union-Find

Determining the degree of inherent parallelism in classical sequential a...
research
02/12/2018

Is Compare-and-Swap Really Necessary?

The consensus number of a synchronization primitive, such as compare-and...
research
12/11/2016

Baby-Step Giant-Step Algorithms for the Symmetric Group

We study discrete logarithms in the setting of group actions. Suppose th...

Please sign up or login with your details

Forgot password? Click here to reset