Wen, Haosen
[Verfasser:in];
Cai, Wentao
[Verfasser:in];
Du, Mingzhe
[Verfasser:in];
Valpey, Benjamin
[Verfasser:in];
Scott, Michael L.
[Verfasser:in]
;
Haosen Wen and Wentao Cai and Mingzhe Du and Benjamin Valpey and Michael L. Scott
[Mitwirkende:r]
Brief Announcement: Building Fast Recoverable Persistent Data Structures with Montage
Titel:
Brief Announcement: Building Fast Recoverable Persistent Data Structures with Montage
Beteiligte:
Wen, Haosen
[Verfasser:in];
Cai, Wentao
[Verfasser:in];
Du, Mingzhe
[Verfasser:in];
Valpey, Benjamin
[Verfasser:in];
Scott, Michael L.
[Verfasser:in]
Erschienen:
Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020
Anmerkungen:
Diese Datenquelle enthält auch Bestandsnachweise, die nicht zu einem Volltext führen.
Beschreibung:
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.