A Concurrent Unbounded Wait-Free Graph
Sathya Peri, Chandra Kiran Reddy, Muktikanta Sa

TL;DR
This paper introduces the first wait-free algorithm for constructing and modifying an unbounded directed graph in shared memory, enabling concurrent insertions and deletions with significant performance improvements.
Contribution
It presents a novel wait-free algorithm for dynamic unbounded directed graphs, including concurrent insertions and deletions, with proven linearizability and enhanced performance.
Findings
9x performance improvement over lock-based implementations
First wait-free algorithm for unbounded directed graphs with concurrent modifications
Operations are proven to be wait-free and linearizable
Abstract
In this paper, we propose an efficient concurrent wait-free algorithm to construct an unbounded directed graph for shared memory architecture. To the best of our knowledge that this is the first wait-free algorithm for an unbounded directed graph where insertion and deletion of vertices and/or edges can happen concurrently. To achieve wait-freedom in a dynamic setting, threads help each other to perform the desired tasks using operator descriptors by other threads. To enhance performance, we also developed an optimized wait-free graph based on the principle of fast-path-slow-path. We also prove that all graph operations are wait-free and linearizable. We implemented our algorithms in C++ and tested its performance through several micro-benchmarks. Our experimental results show an average of 9x improvement over the global lock-based implementation.
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 · Parallel Computing and Optimization Techniques · Advanced Data Storage Technologies
