Visible to the public Persistence Programming Models for Non-volatile Memory

TitlePersistence Programming Models for Non-volatile Memory
Publication TypeConference Paper
Year of Publication2016
AuthorsBoehm, Hans-J., Chakrabarti, Dhruva R.
Conference NameProceedings of the 2016 ACM SIGPLAN International Symposium on Memory Management
Date PublishedJune 2016
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4317-6
Keywordsconsistency, Human Behavior, Kerberos, locks, Metrics, non-volatile memory, pubcrawl, Resiliency, transactions

It is expected that DRAM memory will be augmented, and perhaps eventually replaced, by one of several up-and-coming memory technologies. These are all non-volatile, in that they retain their contents without power. This allows primary memory to be used as a fast disk replacement. It also enables more aggressive programming models that directly leverage persistence of primary memory. However, it is challenging to maintain consistency of memory in such an environment. There is no consensus on the right programming model for doing so, and subtle differences can have large, and sometimes surprising, effects on the implementation and its performance. The existing literature describes multiple programming systems that provide point solutions to the selective persistence for user data structures. Real progress in this area requires a choice of programming model, which we cannot reasonably make without a real understanding of the design space. Point solutions are insufficient. We systematically explore what we consider to be the most promising part of the space, precisely defining semantics and identifying implementation costs. This allows us to be much more explicit and precise about semantic and implementation trade-offs that were usually glossed over in prior work. It also exposes some promising new design alternatives.

Citation Keyboehm_persistence_2016