Persistence Semantics for Weak Memory
summary
Introduces PTSO: an integration of epoch persistency with x86/SPARC TSO that gives both operational and declarative semantics and a machine-checked proof of their equivalence. Defines persistent fences (epoch boundaries) and synchronous persist (flush) behavior, supports multiple crashes and recovery, and proposes a programming pattern plus the correctness condition persistent linearizability. Builds and verifies two persistent queue implementations (Michael‑Scott and a locking queue) and proves they satisfy the condition.
AI-written summary · about
chapters (15)
- 0:00Intro
- 0:27History
- 1:14What is Persistent Memory?
- 2:29(Sequential) Hardware
- 3:15What is Memory Persistency Model?
- 4:13What Can Go Wrong?
- 5:16Persistent Fence
- 6:31What Can Go Wrong (Continued)?
- 10:15Total Store Ordering (TSO)
- 12:36Persistent TSO (PTSO)
- 13:53Contributions
- 14:50Verifying programs under PTSO
- 18:02Persistent Linearisability
- 19:23What about Multiple Crashes?
- 20:26Conclusions
related talks
30mDeciding Reachability under Persistent x86-TSO
12mSPHT: Scalable Persistent Hardware Transactions
21mCSL and relaxed memory
22mExtending Intel-x86 Consistency and Persistency: Formalising the Semantics of In
01h 13mTransactional memory
16mPersistent Owicki-Gries Reasoning: A Program Logic for Reasoning about Persistent Programs on Intel-
36mATOMICALLY { DELETE YOUR ACTORS }
01h 00mWhat did C++ do for Transactional Memory?
