EEMARQ: Efficient Lock-Free Range Queries with Memory Reclamation
Gali Sheffi, Pedro Ramalhete, Erez Petrank

TL;DR
EEMARQ introduces a fully lock-free, memory-efficient MVCC-based scheme for linearizable range queries in concurrent data structures, outperforming existing lock-based and blocking solutions.
Contribution
It is the first to combine MVCC with lock-free memory reclamation for linearizable range queries, ensuring full lock freedom and improved performance.
Findings
Outperforms existing solutions in most workloads
Lower space overhead compared to prior methods
Provides full lock freedom for range queries
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.
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.
