Capri: Compiler and Architecture Support for Whole-System Persistence
Jungi Jeong, Jianping Zeng, Changhee Jung
Abstract
This paper investigates whole-system persistence (WSP) that ensures hassle-free crash consistency for all programs while simultaneously leveraging both advantages of the non-volatile memory technologies: high-density and in-memory persistence. Despite the promising characteristics, there are two challenges that must be addressed to make WSP a reality. First, programs must be able to resume the execution from where they had a failure. Second, failure recovery must be offered to any program including the OS in a transparent manner while minimizing persistence overheads.
To this end, this paper presents Capri, a compiler and architecture co-designed scheme for region-level whole-system persistence. First, the Capri compiler partitions program into a series of regions whose boundaries serve as recovery points. Then, the Capri architecture provides the regions with crash consistency through hardware-based atomic updates. Finally, with the novel interplay between the architecture and the compiler, Capri provides failure atomicity on the cheap, i.e., with 0%, 12.4%, and 9.1% performance overheads for SPEC CPU2017, STAMP, and Splash3 benchmarks, respectively.
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.
Cited by top-tier papers9
- Write-Light Cache for Energy Harvesting SystemsJongouk Choi, Jianping Zeng, Dongyoon Lee, Changwoo Min et al.ISCA 2023 · 24 citations
- SweepCache: Intermittence-Aware Cache on the CheapYuchen Zhou, Jianping Zeng, Jungi Jeong, Jongouk Choi et al.MICRO 2023 · 15 citations
- Featherweight Soft Error Resilience for GPUsYida Zhang, Changhee JungMICRO 2022 · 14 citations
- Compiler-Directed Whole-System PersistenceJianping Zeng, Tong Zhang, Changhee JungISCA 2024 · 13 citations
- Persistent Processor ArchitectureJianping Zeng, Jungi Jeong, Changhee JungMICRO 2023 · 12 citations
Builds on22
- 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
- FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent MemoryYoumin Chen, Youyou Lu, Fan Yang, Qing Wang et al.ASPLOS 2020 · 166 citations
- Disaggregating Persistent Memory and Controlling Them Remotely: An Exploration of Passive Disaggregated Key-Value StoresShin-Yeh Tsai, Yizhou Shan, Yiying ZhangUSENIX ATC 2020 · 159 citations
- Characterizing and Modeling Non-Volatile Memory SystemsZixuan Wang, Xiao Liu, Jian Yang, Theodore Michailidis et al.MICRO 2020 · 88 citations
- PACTree: A High Performance Persistent Range Index Using PAC GuidelinesWook-Hee Kim, Madhava Krishnan Ramanathan, Xinwei Fu, Sanidhya Kashyap et al.SOSP 2021 · 61 citations
Related papers
- LightWSP: Whole-System Persistence on the CheapYuchen Zhou, Jianping Zeng, Changhee JungMICRO 2024 · 8 citations
- Prosper: Program Stack Persistence in Hybrid Memory SystemsK. P. Arun, Debadatta Mishra, Biswabandan PandaHPCA 2024 · 1 citation
- HybridPersist: A Compiler Support for User-Friendly and Efficient PM ProgrammingYiyu Zhang, Yongzhi Wang, Yanfeng Gao, Xuandong Li et al.OOPSLA 2025
- ASAP: A Speculative Approach to PersistenceSujay Yadalam, Nisarg Shah, Xiangyao Yu, Michael M. SwiftHPCA 2022 · 17 citations
- HOOP: Efficient Hardware-Assisted Out-of-Place Update for Non-Volatile MemoryMiao Cai, Chance C. Coats, Jian HuangISCA 2020 · 33 citations
