NVOverlay: Enabling efficient and scalable high-frequency snapshotting to NVM - Wang, Ziqi; Choo, Chul Hwan; Kozuch, Michael A.; Mowry, Todd C.; Pekhimenko, Gennady; Seshadri, Vivek; Skarlatos, Dimitrios (My University, 2021)
The ability to capture frequent (per millisecond) persistent snapshots to NVM would enable a number of compelling use cases. Unfortunately, existing NVM snapshotting techniques suffer from a combination of persistence barrier stalls, write amplification to NVM, and/or lack of scalability beyond a single socket. In this paper, we present NVOverlay, which is a scalable and efficient technique for capturing frequent persistent snapshots to NVM such that they can be randomly accessed later. NVOverlay uses Coherent Snapshot Tracking to efficiently track changes to memory (since the previous snapshot) across multi-socket parallel systems, and it uses Multi-snapshot NVM Mapping to store these snapshots to NVM while avoiding excessive write amplification. Our experiments demonstrate that NVOverlay successfully hides the overhead of capturing these snapshots while reducing write amplification by 29%-47% compared with state-of-the-art logging-based snapshotting techniques.
Keywords: Nonvolatile memory; Sockets; Scalability; Subspace constraints; Memory management; Bandwidth; Debugging