Persistent Memory Objects: Fast and Easy Crash Consistency for Persistent Memory
Derrick Greenspan, Naveed Ul Mustafa, Zoran Kolega, Mark Heinrich, Yan, Solihin

TL;DR
This paper introduces Persistent Memory Objects (PMOs), a crash-consistent abstraction for persistent memory that retains the POSIX interface and simplifies crash consistency management with minimal overhead.
Contribution
We design and implement PMOs, enabling crash consistency in persistent memory while maintaining POSIX compatibility, and introduce psync for simplified durability points.
Findings
PMOs achieve crash consistency with approximately 25% overhead.
Our design speeds up performance by 1.67x to 3x over NOVA-Fortis.
The approach simplifies crash consistency management for persistent memory.
Abstract
DIMM-compatible persistent memory unites memory and storage. Prior works utilize persistent memory either by combining the filesystem with direct access on memory mapped files or by managing it as a collection of objects while abolishing the POSIX abstraction. In contrast, we propose retaining the POSIX abstraction and extending it to provide support for persistent memory, using Persistent Memory Objects (PMOs). In this work, we design and implement PMOs, a crash-consistent abstraction for managing persistent memory. We introduce psync, a single system call, that a programmer can use to specify crash consistency points in their code, without needing to orchestrate durability explicitly. When rendering data crash consistent, our design incurs a overhead of and for parallel workloads and FileBench, respectively, compared to a system without crash consistency.…
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
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Distributed systems and fault tolerance
