Back to Search Start Over

Persistency for synchronization-free regions

Authors :
Peter M. Chen
Satish Narayanasamy
William S.-Y. Wang
Stephan Diestelhorst
Vaibhav Gogte
Thomas F. Wenisch
Source :
PLDI
Publication Year :
2018
Publisher :
ACM, 2018.

Abstract

Nascent persistent memory (PM) technologies promise the performance of DRAM with the durability of disk, but how best to integrate them into programming systems remains an open question. Recent work extends language memory models with a persistency model prescribing semantics for updates to PM. These semantics enable programmers to design data structures in PM that are accessed like memory and yet are recoverable upon crash or failure. Alas, we find the semantics and performance of existing approaches unsatisfying. Existing approaches require high-overhead mechanisms, are restricted to certain synchronization constructs, provide incomplete semantics, and/or may recover to state that cannot arise in fault-free execution. We propose persistency semantics that guarantee failure atomicity of synchronization-free regions (SFRs) - program regions delimited by synchronization operations. Our approach provides clear semantics for the PM state recovery code may observe and extends C++11's "sequential consistency for data-race-free" guarantee to post-failure recovery code. We investigate two designs for failure-atomic SFRs that vary in performance and the degree to which commit of persistent state may lag execution. We demonstrate both approaches in LLVM v3.6.0 and compare to a state-of-the-art baseline to show performance improvement up to 87.5% (65.5% avg).

Details

Database :
OpenAIRE
Journal :
Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation
Accession number :
edsair.doi.dedup.....5043a981d4c5ca0c1b7b5eacf2513eef
Full Text :
https://doi.org/10.1145/3192366.3192367