Puddles: Application-Independent Recovery and Location-Independent Data for Persistent Memory
Suyash Mahar, Mingyao Shen, TJ Smith, Joseph Izraelevitz, Steven, Swanson

TL;DR
Puddles introduces a new persistent memory abstraction that enables application-independent recovery, sharing, and shipping of data with native pointers, improving speed and flexibility over existing systems.
Contribution
The paper presents Puddles, a novel persistent memory system that supports recovery, sharing, and relocation of data without serialization, maintaining compatibility with legacy code.
Findings
Puddles are at least as fast as PMDK and up to 1.34× faster.
Puddles enable data relocation, achieving a 4.7× speedup in a sensor network workload.
Puddles support system-level recovery and data sharing without serialization overhead.
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 application-independent 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Distributed systems and fault tolerance · Parallel Computing and Optimization Techniques
