Puddles: Application-Independent Recovery and Location-Independent Data for Persistent Memory
Suyash Mahar, Mingyao Shen, TJ Smith, Joseph Izraelevitz, Steven Swanson
Abstract
In this paper, we argue that current work has failed to provide a comprehensive and maintainable in-memory representation for persistent memory. PM data should be easily mappable into a process address space, shareable across processes, shippable between machines, consistent after a crash, and accessible to legacy code with fast, efficient pointers as first-class abstractions.
While existing systems have provided niceties like mmap()based load/store access, they have not been able to support all these necessary properties due to conflicting requirements.
We propose Puddles, a new persistent memory abstraction, to solve these problems. Puddles provide applicationindependent recovery after a power outage; they make recovery from a system failure a system-level property of the stored data rather than the responsibility of the programs that access it. Puddles use native pointers, so they are compatible with existing code. Finally, Puddles implement support for sharing and shipping of PM data between processes and systems without expensive serialization and deserialization.
Compared to existing systems, Puddles are at least as fast as and up to 1.34× faster than PMDK while being competitive with other PM libraries across YCSB workloads. Moreover, to demonstrate Puddles' ability to relocate data, we showcase a sensor network data-aggregation workload that results in a 4.7× speedup over PMDK.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 2c31455d-2be0-41ce-9149-d57334addf76Cited by top-tier papers1
Ask how each one uses itBuilds on4
- Pronto: Easy and Fast Persistence for Volatile Data StructuresAmir Saman Memaripour, Joseph Izraelevitz, Steven SwansonASPLOS 2020 · 55 citations
- Twizzler: a Data-Centric OS for Non-Volatile MemoryDaniel Bittman, Peter Alvaro, Pankaj Mehra, Darrell D. E. Long et al.USENIX ATC 2020 · 50 citations
- Clobber-NVM: log less, re-execute moreYi Xu, Joseph Izraelevitz, Steven SwansonASPLOS 2021 · 30 citations
- Corundum: statically-enforced persistent memory safetyMorteza Hoseinzadeh, Steven SwansonASPLOS 2021 · 18 citations
Related papers
- Persistent State Machines for Recoverable In-memory Storage Systems with NVRamWen Zhang, Scott Shenker, Irene ZhangOSDI 2020 · 18 citations
- Zhuque: Failure is Not an Option, it's an ExceptionGeorge Hodgkins, Yi Xu, Steven Swanson, Joseph IzraelevitzUSENIX ATC 2023 · 13 citations
- MOD: Minimally Ordered Durable Datastructures for Persistent MemorySwapnil Haria, Mark D. Hill, Michael M. SwiftASPLOS 2020 · 47 citations
- go-pmem: Native Support for Programming Persistent Memory in GoJerrin Shaji George, Mohit Verma, Rajesh Venkatasubramanian, Pratap SubrahmanyamUSENIX ATC 2020 · 25 citations
- Discovering Likely Program Invariants for Persistent MemoryZunchen Huang, Srivatsan Ravi, Chao WangASE 2024 · 1 citation
