HOOP: Efficient Hardware-Assisted Out-of-Place Update for Non-Volatile Memory
Miao Cai, Chance C. Coats, Jian Huang
Abstract
Byte-addressable non-volatile memory (NVM) is a promising technology that provides near-DRAM performance with scalable memory capacity. However, it requires atomic data durability to ensure memory persistency. Therefore, many techniques, including logging and shadow paging, have been proposed. However, most of them either introduce extra write traffic to NVM or suffer from significant performance overhead on the critical path of program execution, or even both.In this paper, we propose a transparent and efficient hardware-assisted out-of-place update (HOOP) mechanism that supports atomic data durability, without incurring much extra writes and performance overhead. The key idea is to write the updated data to a new place in NVM, while retaining the old data until the updated data becomes durable. To support this, we develop a lightweight indirection layer in the memory controller to enable efficient address translation and adaptive garbage collection for NVM. We evaluate HOOP with a variety of popular data structures and data-intensive applications, including key-value stores and databases. Our evaluation shows that HOOP achieves low critical-path 1atency with small write amplification, which is close to that of a native system without persistence support. Compared with state-of-the-art crash-consistency techniques, it improves application performance by up to , while reducing the write amplification by up to . HOOP also demonstrates scalable data recovery capability on multi-core systems.
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 a7f2c827-390e-448b-a544-7ef66b5ec45eCited by top-tier papers15
- Clobber-NVM: log less, re-execute moreYi Xu, Joseph Izraelevitz, Steven SwansonASPLOS 2021 · 30 citations
- Capri: Compiler and Architecture Support for Whole-System PersistenceJungi Jeong, Jianping Zeng, Changhee JungHPDC 2022 · 21 citations
- ASAP: A Speculative Approach to PersistenceSujay Yadalam, Nisarg Shah, Xiangyao Yu, Michael M. SwiftHPCA 2022 · 17 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
Related papers
- PMThreads: persistent memory threads harnessing versioned shadow copiesZhenwei Wu, Kai Lu, Andrew Nisbet, Wenzhe Zhang et al.PLDI 2020 · 29 citations
- BBB: Simplifying Persistent Programming using Battery-Backed BuffersMohammad A. Alshboul, Prakash Ramrakhyani, William Wang, James Tuck et al.HPCA 2021 · 34 citations
- Durable Transactional Memory Can Scale with TimestoneMadhava Krishnan Ramanathan, Jaeho Kim, Ajit Mathew, Xinwei Fu et al.ASPLOS 2020 · 46 citations
- Revamping hardware persistency models: view-based and axiomatic persistency models for Intel-x86 and Armv8Kyeongmin Cho, Sung-Hwan Lee, Azalea Raad, Jeehoon KangPLDI 2021 · 24 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
