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.
CITATION STYLE
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
Mendeley helps you to discover research relevant for your work.