Affiliation:
1. University of Michigan, USA
2. ARM Research, UK
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).
Funder
National Science Foundation
ARM
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference62 articles.
1. Shared memory consistency models: a tutorial
2. ARM. 2016. ARMv8-A architecture evolution. https: //community.arm.com/groups/processors/blog/2016/01/05/ armv8-a-architecture-evolution . ARM. 2016. ARMv8-A architecture evolution. https: //community.arm.com/groups/processors/blog/2016/01/05/ armv8-a-architecture-evolution .
3. Hibernus++: A Self-Calibrating and Adaptive System for Transiently-Powered Embedded Devices
4. Valor: efficient, software-only region conflict exceptions
5. Foundations of the C++ concurrency memory model
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Persistent Processor Architecture;56th Annual IEEE/ACM International Symposium on Microarchitecture;2023-10-28
2. CELLO: Compiler-Assisted Efficient Load-Load Ordering in Data-Race-Free Regions;2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT);2023-10-21
3. Using Logging-on-Write to Improve Non-Volatile Memory Checkpoints via Processing-in-Memory;2023 IEEE 35th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD);2023-10-17
4. DONUTS: An efficient method for checkpointing in non‐volatile memories;Concurrency and Computation: Practice and Experience;2023-01-24
5. ResPCT;Proceedings of the Seventeenth European Conference on Computer Systems;2022-03-28