Pronto: Easy and fast persistence for volatile data structures

51Citations
Citations of this article
71Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Non-Volatile Main Memories (NVMMs) promise an opportunity for fast, persistent data structures. However, building these data structures is hard because their data must be consistent in the wake of a failure. Existing methods for building persistent data structures require either in-depth code changes to an existing data structure using an NVMM-aware library or rewriting the data structure from scratch. Unfortunately, both of these methods are labor-intensive and error-prone. Pronto is a new NVMM library that reduces the programming effort required to add persistence to volatile data structures using asynchronous semantic logging (ASL). ASL is generic enough to allow programmers to add persistence to the existing volatile data structure (e.g., C++ Standard Template Library containers) with very little programming effort. Furthermore, ASL moves most durability code off the critical path, and our evaluation shows Pronto data structures outperform highly-optimized NVMM data structures written with other libraries by a large margin.

Cite

CITATION STYLE

APA

Memaripour, A., Izraelevitz, J., & Swanson, S. (2020). Pronto: Easy and fast persistence for volatile data structures. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (pp. 789–806). Association for Computing Machinery. https://doi.org/10.1145/3373376.3378456

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free