Failure-atomic persistent memory updates via JUSTDO logging

Joseph Izraelevitz, Terence Kelly, Aasheesh Kolli

Research output: Contribution to journalArticlepeer-review

55 Scopus citations


Persistent memory invites applications to manipulate persistent data via load and store instructions. Because failures during updates may destroy transient data (e.g., in CPU registers), preserving data integrity in the presence of failures requires failure-atomic bundles of updates. Prior failure atomicity approaches for persistent memory entail overheads due to logging and CPU cache flushing. Persistent caches can eliminate the need for flushing, but conventional logging remains complex and memory intensive. We present the design and implementation of JUSTDO logging, a new failure atomicity mechanism that greatly reduces the memory footprint of logs, simplifies log management, and enables fast parallel recovery following failure. Crash-injection tests confirm that JUSTDO logging preserves application data integrity and performance evaluations show that it improves throughput 3x or more compared with a state-of-the-art alternative for a spectrum of data-intensive algorithms.

Original languageEnglish (US)
Pages (from-to)427-442
Number of pages16
JournalACM SIGPLAN Notices
Issue number4
StatePublished - Apr 2016

All Science Journal Classification (ASJC) codes

  • General Computer Science


Dive into the research topics of 'Failure-atomic persistent memory updates via JUSTDO logging'. Together they form a unique fingerprint.

Cite this