Relaxed Persist Ordering Using Strand Persistency
Vaibhav Gogte, William Wang, Stephan Diestelhorst, Peter M. Chen, Satish Narayanasamy, Thomas F. Wenisch
Abstract
Emerging persistent memory (PM) technologies promise the performance of DRAM with the durability of Flash. Several language-level persistency models have emerged recently to aid programming recoverable data structures in PM. Unfortunately, these persistency models are built upon hardware primitives that impose stricter ordering constraints on PM operations than the persistency models require. Alternative solutions use fixed and inflexible hardware logging techniques to relax ordering constraints on PM operations, but do not readily apply to general synchronization primitives employed by language-level persistency models. Instead, we propose StrandWeaver, a hardware strand persistency model, to minimally constrain ordering on PM operations. StrandWeaver manages PM order within a strand, a logically independent sequence of operations within a thread. PM operations that lie on separate strands are unordered and may drain concurrently to PM. StrandWeaver implements primitives under strand persistency to allow programmers to improve concurrency and relax ordering constraints on updates as they drain to PM. Furthermore, we design mechanisms that map persistency semantics in high-level language persistency models to the primitives implemented by StrandWeaver. We demonstrate that StrandWeaver can enable greater concurrency of PM operations than existing ISA-level ordering mechanisms, improving performance by up to .
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 43ab6329-babd-49b3-9cc9-36c43bf8e7f4Cited by top-tier papers21
- Fast, flexible, and comprehensive bug detection for persistent memory programsBang Di, Jiawen Liu, Hao Chen, Dong LiASPLOS 2021 · 37 citations
- Clobber-NVM: log less, re-execute moreYi Xu, Joseph Izraelevitz, Steven SwansonASPLOS 2021 · 30 citations
- 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
- Capri: Compiler and Architecture Support for Whole-System PersistenceJungi Jeong, Jianping Zeng, Changhee JungHPDC 2022 · 21 citations
- Persistent Owicki-Gries reasoning: a program logic for reasoning about persistent programs on Intel-x86Azalea Raad, Ori Lahav, Viktor VafeiadisOOPSLA 2020 · 20 citations
Related papers
- Memento: A Framework for Detectable Recoverability in Persistent MemoryKyeongmin Cho, Seungmin Jeon, Azalea Raad, Jeehoon KangPLDI 2023 · 4 citations
- ASAP: A Speculative Approach to PersistenceSujay Yadalam, Nisarg Shah, Xiangyao Yu, Michael M. SwiftHPCA 2022 · 17 citations
- (Almost) Fence-less Persist OrderingSara Mahdizadeh-Shahri, Seyed Armin Vakil-Ghahani, Aasheesh KolliMICRO 2020 · 15 citations
- Lazy Release PersistencyMahesh Dananjaya, Vasilis Gavrielatos, Arpit Joshi, Vijay NagarajanASPLOS 2020 · 12 citations
- Reconciling Selective Logging and Hardware Persistent Memory TransactionChencheng Ye, Yuanchao Xu, Xipeng Shen, Yan Sha et al.HPCA 2023 · 4 citations
