English

Concurrent Disjoint Set Union

Distributed, Parallel, and Cluster Computing 2020-03-04 v1 Data Structures and Algorithms

Abstract

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)))O(m \cdot (\log(np/m + 1) + \alpha(n, m/(np))) for a problem with nn elements and mm operations solved by pp processes, where α\alpha 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(logn)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 pp, 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.

Keywords

Cite

@article{arxiv.2003.01203,
  title  = {Concurrent Disjoint Set Union},
  author = {Siddhartha V. Jayanti and Robert E. Tarjan},
  journal= {arXiv preprint arXiv:2003.01203},
  year   = {2020}
}

Comments

40 pages, combines ideas in two previous PODC papers