EEMARQ: Efficient Lock-Free Range Queries with Memory Reclamation

Gali Sheffi, Pedro Ramalhete, Erez Petrank

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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.

Original languageEnglish
Title of host publication26th International Conference on Principles of Distributed Systems, OPODIS 2022
EditorsEshcar Hillel, Roberto Palmieri, Etienne Riviere
ISBN (Electronic)9783959772655
DOIs
StatePublished - 1 Feb 2023
Event26th International Conference on Principles of Distributed Systems, OPODIS 2022 - Brussels, Belgium
Duration: 13 Dec 202215 Dec 2022

Publication series

NameLeibniz International Proceedings in Informatics, LIPIcs
Volume253

Conference

Conference26th International Conference on Principles of Distributed Systems, OPODIS 2022
Country/TerritoryBelgium
CityBrussels
Period13/12/2215/12/22

Keywords

  • concurrency
  • lock-freedom
  • range query
  • safe memory reclamation
  • snapshot

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'EEMARQ: Efficient Lock-Free Range Queries with Memory Reclamation'. Together they form a unique fingerprint.

Cite this