Prosper: Program Stack Persistence in Hybrid Memory Systems
K. P. Arun, Debadatta Mishra, Biswabandan Panda
Abstract
A persistent and crash-consistent execution state is essential for systems to guarantee resilience against power failures and abrupt system crashes. The availability of nonvolatile memory (NVM) with read/write latency comparable to DRAM allows designing efficient checkpoint mechanisms for process persistence. Operating system (OS) level checkpoint solutions require capturing the change in the execution state of a process in an efficient manner. One of the crucial components of the execution state of any process is its memory state consisting of mutable stack and heap segments. Tracking modifications to the program stack is interesting because of its unique grow/shrink usage pattern and activation record write characteristics. Moreover, the stack is used in a programmer-agnostic manner where the compiler makes use of the support provided by the underlying ISA to use the stack and the OS manages the memory used by the stack region in an on-demand fashion. In this paper, we show the benefit of a checkpoint-based mechanism for stack persistence and the inefficiency of adapting existing generic memory persistence mechanisms for the stack region. We propose Prosper, a hardware-software (OS) codesigned checkpoint approach for stack persistence. Prosper tracks stack changes at sub-page byte granularity in hardware, allowing symbiosis with OS to realize efficient checkpoints of the stack region. Prosper significantly reduces (on average ∼4 ×) the amount of data copied during checkpoint and improves the overall checkpoint time with minimum overhead (less than 1% on average). Integration of Prosper with existing state-of-theart memory persistence mechanisms (such as SSP) for heap provides 2.6 × improvement over solely using the state-of-the-art mechanism for the entire memory area persistence.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get d2f978a1-a430-4da1-a1c6-c15dbc32eeb3Related papers
- Compiler-Directed Whole-System PersistenceJianping Zeng, Tong Zhang, Changhee JungISCA 2024 · 13 citations
- ResPCT: fast checkpointing in non-volatile memory for multi-threaded applicationsAna Khorguani, Thomas Ropars, Noel De PalmaEuroSys 2022 · 15 citations
- Capri: Compiler and Architecture Support for Whole-System PersistenceJungi Jeong, Jianping Zeng, Changhee JungHPDC 2022 · 21 citations
- LightWSP: Whole-System Persistence on the CheapYuchen Zhou, Jianping Zeng, Changhee JungMICRO 2024 · 8 citations
- Persistent Processor ArchitectureJianping Zeng, Jungi Jeong, Changhee JungMICRO 2023 · 12 citations
