Lock-free dynamic hash tables with open addressing
Hui Gao, Jan Friso Groote, Wim H. Hesselink

TL;DR
This paper introduces a lock-free hash table algorithm with open addressing that guarantees bounded operation completion, performs efficiently on both single and multiprocessor systems, and is verified using formal methods.
Contribution
It presents a novel lock-free hash table algorithm with formal correctness proofs, improving robustness and performance over traditional lock-based methods.
Findings
Constant-time average operations for insertion, deletion, and access.
Efficient scalability with growing and shrinking hash tables.
Formal verification of 200 invariance properties using PVS.
Abstract
We present an efficient lock-free algorithm for parallel accessible hash tables with open addressing, which promises more robust performance and reliability than conventional lock-based implementations. ``Lock-free'' means that it is guaranteed that always at least one process completes its operation within a bounded number of steps. For a single processor architecture our solution is as efficient as sequential hash tables. On a multiprocessor architecture this is also the case when all processors have comparable speeds. The algorithm allows processors that have widely different speeds or come to a halt. It can easily be implemented using C-like languages and requires on average only constant time for insertion, deletion or accessing of elements. The algorithm allows the hash tables to grow and shrink when needed. Lock-free algorithms are hard to design correctly, even when apparently…
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
