Back to Search
Start Over
Persistency for synchronization-free regions
- 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).
- Subjects :
- 010302 applied physics
Atomicity
Semantics (computer science)
Computer science
Sequential consistency
Distributed computing
02 engineering and technology
Commit
Computer Graphics and Computer-Aided Design
01 natural sciences
020202 computer hardware & architecture
Persistence (computer science)
0103 physical sciences
Synchronization (computer science)
0202 electrical engineering, electronic engineering, information engineering
Code (cryptography)
State (computer science)
Software
Subjects
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