BBB: Simplifying Persistent Programming using Battery-Backed Buffers
Mohammad A. Alshboul, Prakash Ramrakhyani, William Wang, James Tuck, Yan Solihin
摘要
Non-volatile memory (NVM) is poised to augment or replace DRAM as main memory. With the right abstraction and support, non-volatile main memory (NVMM) can provide an alternative to the storage system to host long-lasting persistent data. However, keeping persistent data in memory requires programs to be written such that data is crash consistent (i.e. it can be recovered after failure). Critical to supporting crash recovery is the guarantee of ordering of when stores become durable with respect to program order. Strict persistency, which requires persist order to coincide with program order of stores, is simple and intuitive but generally thought to be too slow. More relaxed persistency models are available but demand higher programming complexity, e.g. they require the programmer to insert persist barriers correctly in their program.
We identify the source of strict persistency inefficiency as the gap between the point of visibility (PoV) which is the cache, and the point of persistency (PoP) which is the memory. In this paper, we propose a new approach to close the PoV/PoP gap which we refer to as Battery-Backed Buffer (BBB). The key idea of BBB is to provide a battery-backed persist buffer (bbPB) in each core next to the L1 data cache (L1D). A store value is allocated in the bbPB as it is written to cache, becoming part of the persistence domain. If a crash occurs, battery ensures bbPB can be fully drained to NVMM. BBB simplifies persistent programming as the programmer does not need to insert persist barriers or flushes. Furthermore, our BBB design achieves nearly identical results to eADR in terms of performance and number of NVMM writes, while requiring two orders of magnitude smaller energy and time to drain.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper25
- Bonsai Merkle Forests: Efficiently Achieving Crash Consistency in Secure Persistent MemoryAlexander Freij, Huiyang Zhou, Yan SolihinMICRO 2021 · 被引用 32 次
- Write-Light Cache for Energy Harvesting SystemsJongouk Choi, Jianping Zeng, Dongyoon Lee, Changwoo Min 等ISCA 2023 · 被引用 24 次
- Extending Intel-x86 consistency and persistency: formalising the semantics of Intel-x86 memory types and non-temporal storesAzalea Raad, Luc Maranget, Viktor VafeiadisPOPL 2022 · 被引用 24 次
- Capri: Compiler and Architecture Support for Whole-System PersistenceJungi Jeong, Jianping Zeng, Changhee JungHPDC 2022 · 被引用 21 次
- GPM: leveraging persistent memory from a GPUShweta Pandey, Aditya K. Kamath, Arkaprava BasuASPLOS 2022 · 被引用 18 次
它引用的顶会 Paper7
- Persistency semantics of the Intel-x86 architectureAzalea Raad, John Wickerson, Gil Neiger, Viktor VafeiadisPOPL 2020 · 被引用 61 次
- Cross-Failure Bug Detection in Persistent Memory ProgramsSihang Liu, Korakit Seemakhupt, Yizhou Wei, Thomas F. Wenisch 等ASPLOS 2020 · 被引用 60 次
- Pronto: Easy and Fast Persistence for Volatile Data StructuresAmir Saman Memaripour, Joseph Izraelevitz, Steven SwansonASPLOS 2020 · 被引用 55 次
- Persist Level Parallelism: Streamlining Integrity Tree Updates for Secure Persistent MemoryAlexander Freij, Shougang Yuan, Huiyang Zhou, Yan SolihinMICRO 2020 · 被引用 31 次
- MERR: Improving Security of Persistent Memory Objects via Efficient Memory Exposure Reduction and RandomizationYuanchao Xu, Yan Solihin, Xipeng ShenASPLOS 2020 · 被引用 24 次
相关 Paper
- SecPB: Architectures for Secure Non-Volatile Memory with Battery-Backed Persist BuffersAlexander Freij, Huiyang Zhou, Yan SolihinHPCA 2023 · 被引用 8 次
- 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 次
- HOOP: Efficient Hardware-Assisted Out-of-Place Update for Non-Volatile MemoryMiao Cai, Chance C. Coats, Jian HuangISCA 2020 · 被引用 33 次
- FliT: a library for simple and efficient persistent algorithmsYuanhao Wei, Naama Ben-David, Michal Friedman, Guy E. Blelloch 等PPoPP 2022 · 被引用 19 次
- Lazy Release PersistencyMahesh Dananjaya, Vasilis Gavrielatos, Arpit Joshi, Vijay NagarajanASPLOS 2020 · 被引用 12 次
