Clobber-NVM: log less, re-execute more
Yi Xu, Joseph Izraelevitz, Steven Swanson
Abstract
Non-volatile memory allows direct access to persistent storage via a load/store interface. However, because the cache is volatile, cached updates to persistent state will be dropped after a power loss. Failure-atomicity NVM libraries provide the means to apply sets of writes to persistent state atomically. Unfortunately, most of these libraries impose significant overhead.
This work proposes Clobber-NVM, a failure-atomicity library that ensures data consistency by reexecution. Clobber-NVM's novel logging strategy, clobber logging, records only those transaction inputs that are overwritten during transaction execution. Then, after a failure, it recovers to a consistent state by restoring overwritten inputs and reexecuting any interrupted transactions. Clobber-NVM utilizes a clobber logging compiler pass for identifying the minimal set of writes that need to be logged. Based on our experiments, classical undo logging logs up to 42.6× more bytes than Clobber-NVM, and requires 2.4× to 4.7× more expensive ordering instructions (e.g., clflush and sfence). Less logging leads to better performance: Relative to prior art, Clobber-NVM provides up to 2.5× performance improvement over Mnemosyne, 2.6× over Intel's PMDK, and up to 8.1× over HP's Atlas.
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 01b04fd4-1cc2-4b29-8a10-2f8af87dbcb6Cited by top-tier papers14
- Yashme: detecting persistency racesHamed Gorjiara, Guoqing Harry Xu, Brian DemskyASPLOS 2022 · 18 citations
- ResPCT: fast checkpointing in non-volatile memory for multi-threaded applicationsAna Khorguani, Thomas Ropars, Noel De PalmaEuroSys 2022 · 15 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
- Zhuque: Failure is Not an Option, it's an ExceptionGeorge Hodgkins, Yi Xu, Steven Swanson, Joseph IzraelevitzUSENIX ATC 2023 · 13 citations
Builds on6
- MOD: Minimally Ordered Durable Datastructures for Persistent MemorySwapnil Haria, Mark D. Hill, Michael M. SwiftASPLOS 2020 · 47 citations
- Durable Transactional Memory Can Scale with TimestoneMadhava Krishnan Ramanathan, Jaeho Kim, Ajit Mathew, Xinwei Fu et al.ASPLOS 2020 · 46 citations
- HOOP: Efficient Hardware-Assisted Out-of-Place Update for Non-Volatile MemoryMiao Cai, Chance C. Coats, Jian HuangISCA 2020 · 33 citations
- PMThreads: persistent memory threads harnessing versioned shadow copiesZhenwei Wu, Kai Lu, Andrew Nisbet, Wenzhe Zhang et al.PLDI 2020 · 29 citations
- Relaxed Persist Ordering Using Strand PersistencyVaibhav Gogte, William Wang, Stephan Diestelhorst, Peter M. Chen et al.ISCA 2020 · 23 citations
Related papers
- libcrpm: improving the checkpoint performance of NVMFeng Ren, Kang Chen, Yongwei WuDAC 2022 · 2 citations
- MorLog: Morphable Hardware Logging for Atomic Persistence in Non-Volatile Main MemoryXueliang Wei, Dan Feng, Wei Tong, Jingning Liu et al.ISCA 2020 · 23 citations
- Silo: Speculative Hardware Logging for Atomic Durability in Persistent MemoryMing Zhang, Yu HuaHPCA 2023 · 8 citations
- Crafty: efficient, HTM-compatible persistent transactionsKaan Genç, Michael D. Bond, Guoqing Harry XuPLDI 2020 · 31 citations
- Libnvmmio: Reconstructing Software IO Path with Failure-Atomic Memory-Mapped InterfaceJungsik Choi, Jaewan Hong, Youngjin Kwon, Hwansoo HanUSENIX ATC 2020 · 36 citations
