Concurrent Disjoint Set Union
Bob Tarjan
- 14:00 14th June 2016 ( Trinity Term 2016 )Lecture Theatre B
The disjoint set union problem is a classical problem in data structures with a
simple and efficient sequential solution that has a notoriously complicated
analysis. One application is to find strongly connected components in huge,
implicitly defined graphs arising in model checking. In this application, the use
of multiprocessors has the potential to produce significant speedups. We explore
this question. We devise and analyze wait-free concurrent implementations of
standard sequential algorithms using single and double compare-and-swap primitives.
We obtain work bounds that grow logarithmically with the number of processors,
suggesting the possibility of significant speedup in practice. This is joint work
with Siddhartha Jayanti.