A Scalable Concurrent Algorithm for Dynamic Connectivity
Alexander Fedorov, Nikita Koval, Dan Alistarh

TL;DR
This paper introduces a scalable, non-blocking concurrent algorithm for dynamic graph connectivity, maintaining efficiency comparable to sequential algorithms while enabling parallel updates and queries in real-world applications.
Contribution
It presents the first truly concurrent, scalable solution for dynamic connectivity based on a non-blocking Euler Tour Tree data structure, with significant performance improvements.
Findings
Achieves up to 6x speedup over coarse-grained methods in realistic scenarios.
Provides a non-blocking implementation of Euler Tour Trees for concurrent environments.
Demonstrates scalability and efficiency through extensive experiments on real and synthetic graphs.
Abstract
Dynamic Connectivity is a fundamental algorithmic graph problem, motivated by a wide range of applications to social and communication networks and used as a building block in various other algorithms, such as the bi-connectivity and the dynamic minimal spanning tree problems. In brief, we wish to maintain the connected components of the graph under dynamic edge insertions and deletions. In the sequential case, the problem has been well-studied from both theoretical and practical perspectives. However, much less is known about efficient concurrent solutions to this problem. This is the gap we address in this paper. We start from one of the classic data structures used to solve this problem, the Euler Tour Tree. Our first contribution is a non-blocking single-writer implementation of it. We leverage this data structure to obtain the first truly concurrent generalization of dynamic…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Caching and Content Delivery · Optimization and Search Problems
