ASAP: A Speculative Approach to Persistence
Sujay Yadalam, Nisarg Shah, Xiangyao Yu, Michael M. Swift
Abstract
Persistent memory enables a new class of applications that have persistent in-memory data structures. Recoverability of these applications imposes constraints on the ordering of writes to persistent memory. But, the cache hierarchy and memory controllers in modern systems may reorder writes to persistent memory. Therefore, programmers have to use expensive flush and fence instructions that stall the processor to enforce such ordering. While prior efforts circumvent stalling on long latency flush instructions, these designs under-perform in large-scale systems with many cores and multiple memory controllers.
We propose ASAP, an architectural model in which the hardware takes an optimistic approach by persisting data eagerly, thereby avoiding any ordering stalls and utilizing the total system bandwidth efficiently. ASAP avoids stalling by allowing writes to be persisted out-of-order, speculating that all writes will eventually be persisted. For correctness, ASAP saves recovery information in the memory controllers which is used to undo the effects of speculative writes to memory in the event of a crash.
Over a large number of representative workloads, ASAP improves performance over current Intel systems by 2.3× on average and performs within 3.9% of an ideal system.
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 4b7a3ba1-5e47-4791-a91f-8d90ee7a5b48Cited by top-tier papers7
- Write-Light Cache for Energy Harvesting SystemsJongouk Choi, Jianping Zeng, Dongyoon Lee, Changwoo Min et al.ISCA 2023 · 24 citations
- Compiler-Directed Whole-System PersistenceJianping Zeng, Tong Zhang, Changhee JungISCA 2024 · 13 citations
- SpecPMT: Speculative Logging for Resolving Crash Consistency Overhead of Persistent MemoryChencheng Ye, Yuanchao Xu, Xipeng Shen, Yan Sha et al.ASPLOS 2023 · 13 citations
- Persistent Processor ArchitectureJianping Zeng, Jungi Jeong, Changhee JungMICRO 2023 · 12 citations
- LightWSP: Whole-System Persistence on the CheapYuchen Zhou, Jianping Zeng, Changhee JungMICRO 2024 · 8 citations
Builds on14
- An Empirical Guide to the Behavior and Use of Scalable Persistent MemoryJian Yang, Juno Kim, Morteza Hoseinzadeh, Joseph Izraelevitz et al.FAST 2020 · 470 citations
- Characterizing and Modeling Non-Volatile Memory SystemsZixuan Wang, Xiao Liu, Jian Yang, Theodore Michailidis et al.MICRO 2020 · 88 citations
- Persistency semantics of the Intel-x86 architectureAzalea Raad, John Wickerson, Gil Neiger, Viktor VafeiadisPOPL 2020 · 61 citations
- Pronto: Easy and Fast Persistence for Volatile Data StructuresAmir Saman Memaripour, Joseph Izraelevitz, Steven SwansonASPLOS 2020 · 55 citations
- MOD: Minimally Ordered Durable Datastructures for Persistent MemorySwapnil Haria, Mark D. Hill, Michael M. SwiftASPLOS 2020 · 47 citations
Related papers
- Dolos: Improving the Performance of Persistent Applications in ADR-Supported Secure MemoryXijing Han, James Tuck, Amro AwadMICRO 2021 · 7 citations
- PMEM-spec: persistent memory speculation (strict persistency can trump relaxed persistency)Jungi Jeong, Changhee JungASPLOS 2021 · 30 citations
- COSPlay: Leveraging Task-Level Parallelism for High-Throughput Synchronous PersistenceMarina Vemmou, Alexandros DaglisMICRO 2021 · 1 citation
- ASAP: architecture support for asynchronous persistenceAhmed H. M. O. Abulila, Izzat El Hajj, Myoungsoo Jung, Nam Sung KimISCA 2022 · 10 citations
- (Almost) Fence-less Persist OrderingSara Mahdizadeh-Shahri, Seyed Armin Vakil-Ghahani, Aasheesh KolliMICRO 2020 · 15 citations
