Logo image
Fast Durably Linearizable Data Structures for Free
Conference proceeding   Open access

Fast Durably Linearizable Data Structures for Free

Sergey Egorov, Gregory Chockler, Brijesh Dongol and Dan O'Keeffe
ApPLIED '25: Proceedings of the 7th Workshop on Advanced tools, programming languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems, pp.40-48
ACM Conferences
PODC '25: ACM Symposium on Principles of Distributed Computing (Huatulco, Mexico, 16/06/2025–20/06/2025)
03/07/2025

Abstract

Computing methodologies Computing methodologies -- Concurrent computing methodologies Computing methodologies -- Concurrent computing methodologies -- Concurrent algorithms Information systems Information systems -- Information storage systems Information systems -- Information storage systems -- Record storage systems Software and its engineering Software and its engineering -- Software notations and tools Software and its engineering -- Software notations and tools -- General programming languages Software and its engineering -- Software notations and tools -- General programming languages -- Language features Theory of computation Theory of computation -- Design and analysis of algorithms Theory of computation -- Design and analysis of algorithms -- Concurrent algorithms Theory of computation -- Design and analysis of algorithms -- Parallel algorithms Theory of computation -- Design and analysis of algorithms -- Parallel algorithms -- Shared memory algorithms Theory of computation -- Theory and algorithms for application domains Theory of computation -- Theory and algorithms for application domains -- Database theory Theory of computation -- Theory and algorithms for application domains -- Database theory -- Data structures and algorithms for data management
Byte-addressable non-volatile memory, provided by novel technologies such as Intel Optane and CXL, has presented opportunities for developing high-performance concurrent objects (including concurrent data structures) with the added benefits of durability and recov-erability. However, developing such data structures while preserving high performance still remains challenging due to the latency and bandwidth gaps between volatile and non-volatile memory. In this paper, we investigate the construction of durably linearizable objects using our recently developed Mangosteen framework. Mangosteen's frontend combines an efficient concurrency control mechanism based on flat-combining, and uses dynamic binary instrumentation to capture updates to the application state (with store instruction deduplication for further efficiency). This interfaces with an asynchronous persistency back-end that maintains a redo log and a non-volatile application state, to support recovery. Mangosteen is agnostic to the specifics of the underlying implementation and transforms any linearizable object (including a sequential object) into a durably linearizable counterpart supporting unlimited read-read concurrency. Moreover, the transformation is fully transparent, requiring almost no intervention from the end user. We demonstrate this via a sequential linked list queue as well as both the lock-free and blocking versions of the Michael-Scott queue. We show that Mangosteen outperforms the state-of-the-art approach based on FliT under high concurrency.
url
https://doi.org/10.1145/3743642.3743651View
Published (Version of record) Open CC BY-NC-ND V4.0
url
https://www.podc.org/podc2025/View
Event Website Conference website

Metrics

2 Record Views

Details

Logo image

Usage Policy