Brief Announcement: Building Fast Recoverable Persistent Data Structures with Montage

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



PDF
Thumbnail PDF

File

LIPIcs.DISC.2020.52.pdf
  • Filesize: 316 kB
  • 3 pages

Document Identifiers

Author Details

Haosen Wen
  • University of Rochester, NY, USA
Wentao Cai
  • University of Rochester, NY, USA
Mingzhe Du
  • University of Rochester, NY, USA
Benjamin Valpey
  • University of Rochester, NY, USA
Michael L. Scott
  • University of Rochester, NY, USA

Cite AsGet BibTex

Haosen Wen, Wentao Cai, Mingzhe Du, Benjamin Valpey, and Michael L. Scott. Brief Announcement: Building Fast Recoverable Persistent Data Structures with Montage. In 34th International Symposium on Distributed Computing (DISC 2020). Leibniz International Proceedings in Informatics (LIPIcs), Volume 179, pp. 52:1-52:3, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2020)
https://doi.org/10.4230/LIPIcs.DISC.2020.52

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.

Subject Classification

ACM Subject Classification
  • Theory of computation → Parallel computing models
  • Computing methodologies → Concurrent algorithms
  • Computer systems organization → Reliability
Keywords
  • Durable linearizability
  • consistency
  • persistence
  • fault tolerance

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. W. Cai, H. Wen, H. A. Beadle, C. Kjellqvist, M. Hedayati, and M. L. Scott. Understanding and optimizing persistent memory allocation. In 19th Intl. Symp. on Memory Mgmt., June 2020. Google Scholar
  2. S. Haria, M. D. Hill, and M. M. Swift. MOD: Minimally ordered durable datastructures for persistent memory. In 25th Intl. Conf. on Arch. Support for Prog. Lang. and Op. Sys., pages 775-788, March 2020. Google Scholar
  3. J. Izraelevitz, H. Mendes, and M. L. Scott. Linearizability of persistent memory objects under a full-system-crash failure model. In Intl. Symp. on Dist. Comp., pages 313-327, September 2016. Google Scholar
  4. A. Memaripour, J. Izraelevitz, and S. Swanson. Pronto: Easy and fast persistence for volatile data structures. In 25th Intl. Conf. on Arch. Support for Prog. Lang. and Op. Sys., pages 789-806, March 2020. Google Scholar
  5. F. Nawab, J. Izraelevitz, T. Kelly, C. B. Morrey III, D. R. Chakrabarti, and M. L. Scott. Dalí: A periodically persistent hash map. In Intl. Symp. on Dist. Comp., pages 37:1-37:16, October 2017. Google Scholar
  6. Yoav Zuriel, Michal Friedman, Gali Sheffi, Nachshon Cohen, and Erez Petrank. Efficient lock-free durable sets. Proc. ACM Program. Lang., 3(OOPSLA), October 2019. Google Scholar
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail