1. EEMARQ: Efficient Lock-Free Range Queries with Memory Reclamation
- Author
-
Sheffi, Gali, Ramalhete, Pedro, and Petrank, Erez
- Subjects
Computer Science - Databases ,Computer Science - Distributed, Parallel, and Cluster Computing - 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.
- Published
- 2022