Compiler-Directed Whole-System Persistence
Jianping Zeng, Tong Zhang, Changhee Jung
Abstract
Nonvolatile memory (NVM) technologies have gained increasing attention thanks to their density and durability benefits. However, leveraging NVM can cause a crash consistency issue. For example, if a younger store is evicted (persisted) to NVM from volatile caches before an older one and power failure occurs in between, it might be impossible to correctly resume the interrupted program in the wake of the failure. Traditionally, addressing this issue involves expensive persist barriers for enforcing the original store order, which not only incurs a high run-time overhead but also places a significant burden on users due to the difficulty of persistent programming.
To this end, this paper presents cWSP, compiler/architecture codesign for lightweight yet performant whole-system persistence (WSP). In particular, cWSP compiler partitions not only user applications but also OS and runtime libraries into a series of recoverable regions (epochs), thus enabling persistence and crash consistency for the entire software stack. To achieve high-performance crash consistency, cWSP leverages advanced compiler optimizations for checkpointing a minimal set of registers and proposes simple hardware support for expediting data persistence on the cheap. Experimental results with 37 applications from SPEC CPU2006/2017, DOE Mini-apps, SPLASH3, WHISPER, and STAMP, show that cWSP incurs an average runtime overhead of 6%, outperforming the state-of-the-art work with a significant margin.
1 Other architectural parameters are listed in Section IX.
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 8f8f1523-9b1c-4416-bb07-e23adfb81406Cited by top-tier papers3
- LightWSP: Whole-System Persistence on the CheapYuchen Zhou, Jianping Zeng, Changhee JungMICRO 2024 · 8 citations
- Rethinking Dead Block Prediction for Intermittent ComputingGan Fang, Changhee JungHPCA 2025 · 6 citations
- Rethinking Prefetching for Intermittent ComputingGan Fang, Jianping Zeng, Aditya Gupta, Changhee JungISCA 2025 · 5 citations
Builds on32
- Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud ProviderMohammad Shahrad, Rodrigo Fonseca, Iñigo Goiri, Gohar Irfan Chaudhry et al.USENIX ATC 2020 · 946 citations
- 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
- Pond: CXL-Based Memory Pooling Systems for Cloud PlatformsHuaicheng Li, Daniel S. Berger, Lisa Hsu, Daniel Ernst et al.ASPLOS 2023 · 328 citations
- Demystifying CXL Memory with Genuine CXL-Ready Systems and DevicesYan Sun, Yifan Yuan, Zeduo Yu, Reese Kuper et al.MICRO 2023 · 133 citations
- HeMem: Scalable Tiered Memory Management for Big Data Applications and Real NVMAmanda Raybuck, Tim Stamler, Wei Zhang, Mattan Erez et al.SOSP 2021 · 93 citations
Related papers
- Capri: Compiler and Architecture Support for Whole-System PersistenceJungi Jeong, Jianping Zeng, Changhee JungHPDC 2022 · 21 citations
- Persistent Processor ArchitectureJianping Zeng, Jungi Jeong, Changhee JungMICRO 2023 · 12 citations
- Prosper: Program Stack Persistence in Hybrid Memory SystemsK. P. Arun, Debadatta Mishra, Biswabandan PandaHPCA 2024 · 1 citation
- COSPlay: Leveraging Task-Level Parallelism for High-Throughput Synchronous PersistenceMarina Vemmou, Alexandros DaglisMICRO 2021 · 1 citation
- HybridPersist: A Compiler Support for User-Friendly and Efficient PM ProgrammingYiyu Zhang, Yongzhi Wang, Yanfeng Gao, Xuandong Li et al.OOPSLA 2025
