BBB: Simplifying Persistent Programming using Battery-Backed Buffers | IEEE Conference Publication | IEEE Xplore

BBB: Simplifying Persistent Programming using Battery-Backed Buffers


Abstract:

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 alte...Show More

Abstract:

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.
Date of Conference: 27 February 2021 - 03 March 2021
Date Added to IEEE Xplore: 22 April 2021
ISBN Information:

ISSN Information:

Conference Location: Seoul, Korea (South)

I. Introduction

Non-volatile main memory (NVMM) is poised to augment or replace DRAM as main memory. Due to its non-volatility, byte addressability, and being much faster in speed than SSD and HDD, NVM can host persistent data in main memory [4], [10], [11], [39], [46], [51], [52], [74], [95], [96].

Contact IEEE to Subscribe

References

References is not available for this document.