Affiliation:
1. MPI-SWS, Germany
2. Imperial College London, UK
Abstract
Emerging non-volatile memory (NVM) technologies promise the durability of disks with the performance of volatile memory (RAM). To describe the persistency guarantees of NVM, several memory persistency models have been proposed in the literature. However, the formal persistency semantics of mainstream hardware is unexplored to date. To close this gap, we present a formal declarative framework for describing concurrency models in the NVM context, and then develop the PARMv8 persistency model as an instance of our framework, formalising the persistency semantics of the ARMv8 architecture for the first time. To facilitate correct persistent programming, we study transactions as a simple abstraction for concurrency and persistency control. We thus develop the PSER (persistent serialisability) persistency model, formalising transactional semantics in the NVM context for the first time, and demonstrate that PSER correctly compiles to PARMv8. This then enables programmers to write correct, concurrent and persistent programs, without having to understand the low-level architecture-specific persistency semantics of the underlying hardware.
Funder
Engineering and Physical Sciences Research Council
ERC
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference53 articles.
1. GPU Concurrency
2. Don’t Sit on the Fence
3. Litmus: Running Tests against Hardware
4. ARM. 2018. ARM architecture reference manual ARMv8 for ARMv8-A architecture profile (DDI 0487D.a). https: //static.docs.arm.com/ddi0487/da/DDI0487D_a_armv8_arm.pdf ARM. 2018. ARM architecture reference manual ARMv8 for ARMv8-A architecture profile (DDI 0487D.a). https: //static.docs.arm.com/ddi0487/da/DDI0487D_a_armv8_arm.pdf
5. Hardware Transactions in Nonvolatile Memory
Cited by
36 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A verified durable transactional mutex lock for persistent x86-TSO;Formal Methods in System Design;2024-07-31
2. Skip It: Take Control of Your Cache!;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2;2024-04-27
3. Challenges in Empirically Testing Memory Persistency Models;Proceedings of the 2024 ACM/IEEE 44th International Conference on Software Engineering: New Ideas and Emerging Results;2024-04-14
4. Specifying and Verifying Persistent Libraries;Lecture Notes in Computer Science;2024
5. Intel PMDK Transactions: Specification, Validation and Concurrency;Lecture Notes in Computer Science;2024