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/
Go to the corresponding LIPIcs Volume Portal


Wen, Haosen ; Cai, Wentao ; Du, Mingzhe ; Valpey, Benjamin ; Scott, Michael L.

Brief Announcement: Building Fast Recoverable Persistent Data Structures with Montage

pdf-format:
LIPIcs-DISC-2020-52.pdf (0.3 MB)


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


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI