Taming x86-TSO persistency
Artem Khyzha, Ori Lahav
Abstract
We study the formal semantics of non-volatile memory in the x86-TSO architecture. We show that while the explicit persist operations in the recent model of Raad et al. from POPL'20 only enforce order between writes to the non-volatile memory, it is equivalent, in terms of reachable states, to a model whose explicit persist operations mandate that prior writes are actually written to the non-volatile memory. The latter provides a novel model that is much closer to common developers' understanding of persistency semantics. We further introduce a simpler and stronger sequentially consistent persistency model, develop a sound mapping from this model to x86, and establish a data-race-freedom guarantee providing programmers with a safe programming discipline. Our operational models are accompanied with equivalent declarative formulations, which facilitate our formal arguments, and may prove useful for program verification under x86 persistency.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext d20c5bad-296e-40df-a334-ed02874abf7bCited by top-tier papers9
- Extending Intel-x86 consistency and persistency: formalising the semantics of Intel-x86 memory types and non-temporal storesAzalea Raad, Luc Maranget, Viktor VafeiadisPOPL 2022 · 24 citations
- Semantics of Remote Direct Memory Access: Operational and Declarative Models of RDMA on TSO ArchitecturesGuillaume Ambal, Brijesh Dongol, Haggai Eran, Vasileios Klimis et al.OOPSLA 2024 · 11 citations
- Spirea: A Mechanized Concurrent Separation Logic for Weak Persistent MemorySimon Friis Vindum, Lars BirkedalOOPSLA 2023 · 6 citations
- Mangosteen: Fast Transparent Durability for Linearizable Applications using NVMSergey Egorov, Gregory V. Chockler, Brijesh Dongol, Dan O'Keeffe et al.USENIX ATC 2024 · 5 citations
- A Programming Model for Disaggregated Memory over CXLGal Assa, Moritz Lumme, Lucas Bürgi, Michal Friedman et al.ASPLOS 2026 · 4 citations
Builds on4
- Evaluating Persistent Memory Range IndexesLucas Lersch, Xiangpeng Hao, Ismail Oukid, Tianzheng Wang et al.VLDB 2020 · 97 citations
- LB+-Trees: Optimizing Persistent Index Performance on 3DXPoint MemoryJihang Liu, Shimin Chen, Lujun WangVLDB 2020 · 69 citations
- Persistency semantics of the Intel-x86 architectureAzalea Raad, John Wickerson, Gil Neiger, Viktor VafeiadisPOPL 2020 · 61 citations
- NVTraverse: in NVRAM data structures, the destination is more important than the journeyMichal Friedman, Naama Ben-David, Yuanhao Wei, Guy E. Blelloch et al.PLDI 2020 · 52 citations
Related papers
- Verification under Intel-x86 with PersistencyParosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, K. Narayan Kumar et al.PLDI 2024 · 3 citations
- Revamping hardware persistency models: view-based and axiomatic persistency models for Intel-x86 and Armv8Kyeongmin Cho, Sung-Hwan Lee, Azalea Raad, Jeehoon KangPLDI 2021 · 24 citations
- Deciding reachability under persistent x86-TSOParosh Aziz Abdulla, Mohamed Faouzi Atig, Ahmed Bouajjani, K. Narayan Kumar et al.POPL 2021 · 12 citations
- Rely/Guarantee Reasoning for Multicopy Atomic Weak Memory ModelsNicholas Coughlin, Kirsten Winter, Graeme SmithFM 2021 · 16 citations
- Persistent Owicki-Gries reasoning: a program logic for reasoning about persistent programs on Intel-x86Azalea Raad, Ori Lahav, Viktor VafeiadisOOPSLA 2020 · 20 citations
