A Persistent Problem: Managing Pointers in NVM

Appeared in Proceedings of the 10th Workshop on Programming Languages and Operating Systems (PLOS '19).

Abstract

Byte-addressable non-volatile memory (NVM) placed along-side DRAM promises a fundamental shift in software abstractions, yet many approaches to using NVM promise merelyincremental improvement by relying on old interfaces and archaic abstractions. We assert that redesigning the core programming model presented by the operating system is vital to best exploiting this technology. We are developing Twizzler, an OS that presents an effective programming model for NVM sufficient to construct persistent data structures that can be easily and globally shared without serialization costs. We consider and evolve a key-value store that runs on Twizzler, and demonstrate how our programming model improves programmability with early experiments indicating performance need not be lost and may be improved.

Publication date:
October 2019

Authors:
Daniel Bittman
Peter Alvaro
Ethan L. Miller

Projects:
Storage Class Memories
Operating Systems Support for NVM

Available media

Full paper text: PDF

Bibtex entry

@inproceedings{bittman-plos19,
  author       = {Daniel Bittman and Peter Alvaro and Ethan L. Miller},
  title        = {A Persistent Problem: Managing Pointers in {NVM}},
  booktitle    = {Proceedings of the 10th Workshop on Programming Languages and Operating Systems (PLOS '19)},
  pages        = {30-37},
  month        = oct,
  year         = {2019},
}
Last modified 7 Nov 2019