License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.DISC.2020.52
URN: urn:nbn:de:0030-drops-131304
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2020/13130/
Wen, Haosen ;
Cai, Wentao ;
Du, Mingzhe ;
Valpey, Benjamin ;
Scott, Michael L.
Brief Announcement: Building Fast Recoverable Persistent Data Structures with Montage
Abstract
The recent emergence of fast, dense, nonvolatile main memory suggests that certain long-lived data structures might remain in their natural, pointer-rich format across program runs and hardware reboots. Operations on such structures must be instrumented with explicit write-back and fence instructions to ensure consistency in the wake of a crash. Techniques to minimize the cost of this instrumentation are an active topic of current research.
We present what we believe to be the first general-purpose approach to building buffered durably linearizable persistent data structures, and a system, Montage, to support that approach. Montage is built on top of the Ralloc nonblocking persistent allocator. It employs a slow-ticking epoch clock, and ensures that no operation appears to span an epoch boundary. If a crash occurs in epoch e, all work performed in epochs e and e-1 is lost, but all work from prior epochs is preserved.
We describe the implementation of Montage, argue its correctness, and report on experiments confirming excellent performance for operations on queues, sets/mappings, and general graphs.
BibTeX - Entry
@InProceedings{wen_et_al:LIPIcs:2020:13130,
author = {Haosen Wen and Wentao Cai and Mingzhe Du and Benjamin Valpey and Michael L. Scott},
title = {{Brief Announcement: Building Fast Recoverable Persistent Data Structures with Montage}},
booktitle = {34th International Symposium on Distributed Computing (DISC 2020)},
pages = {52:1--52:3},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-168-9},
ISSN = {1868-8969},
year = {2020},
volume = {179},
editor = {Hagit Attiya},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2020/13130},
URN = {urn:nbn:de:0030-drops-131304},
doi = {10.4230/LIPIcs.DISC.2020.52},
annote = {Keywords: Durable linearizability, consistency, persistence, fault tolerance}
}
Keywords: |
|
Durable linearizability, consistency, persistence, fault tolerance |
Collection: |
|
34th International Symposium on Distributed Computing (DISC 2020) |
Issue Date: |
|
2020 |
Date of publication: |
|
07.10.2020 |
Supplementary Material: |
|
https://github.com/urcs-sync/Montage |