arXiv · 2210.17086
EEMARQ: Efficient Lock-Free Range Queries with Memory Reclamation
Abstract
Multi-Version Concurrency Control (MVCC) is a common mechanism for achieving linearizable range queries in database systems and concurrent data-structures. The core idea is to keep previous versions of nodes to serve range queries, while still providing atomic reads and updates. Existing concurrent data-structure implementations, that support linearizable range queries, are either slow, use locks, or rely on blocking reclamation schemes. We present EEMARQ, the first scheme that uses MVCC with lock-free memory reclamation to obtain a fully lock-free data-structure supporting linearizable inserts, deletes, contains, and range queries. Evaluation shows that EEMARQ outperforms existing solutions across most workloads, with lower space overhead and while providing full lock freedom.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Gali Sheffi, Pedro Ramalhete, Erez Petrank. 2022-10-31. EEMARQ: Efficient Lock-Free Range Queries with Memory Reclamation. https://arxiv.org/abs/2210.17086
Cite the original work for its findings. Save a collection to share your selection of sources.