1. Language-level persistency
- Author
-
Ali G. Saidi, Satish Narayanasamy, Vaibhav Gogte, Aasheesh Kolli, Stephan Diestelhorst, Peter M. Chen, and Thomas F. Wenisch
- Subjects
010302 applied physics ,Atomicity ,Computer science ,Distributed computing ,3D XPoint ,02 engineering and technology ,General Medicine ,computer.software_genre ,Data structure ,01 natural sciences ,020202 computer hardware & architecture ,Instruction set ,0103 physical sciences ,0202 electrical engineering, electronic engineering, information engineering ,Compiler ,Memory model ,Programmer ,computer - Abstract
The commercial release of byte-addressable persistent memories, such as Intel/Micron 3D XPoint memory, is imminent. Ongoing research has sought mechanisms to allow programmers to implement recoverable data structures in these new main memories. Ensuring recoverability requires programmer control of the order of persistent stores; recent work proposes persistency models as an extension to memory consistency to specify such ordering. Prior work has considered persistency models at the abstraction of the instruction set architecture. Instead, we argue for extending the language-level memory model to provide guarantees on the order of persistent writes. We explore a taxonomy of guarantees a language-level persistency model might provide, considering both atomicity and ordering constraints on groups of persistent stores. Then, we propose and evaluate Acquire-Release Persistency (ARP), a language-level persistency model for C++11. We describe how to compile code written for ARP to a state-of-the-art ISA-level persistency model. We then consider enhancements to the ISA-level persistency model that can distinguish memory consistency constraints required for proper synchronization but unnecessary for correct recovery. With these optimizations, we show that ARP increases performance by up to 33.2% (19.8% avg.) over coding directly to the baseline ISA-level persistency model for a suite of persistent-write-intensive workloads.
- Published
- 2017
- Full Text
- View/download PDF