Persistent Buffer Management with Optimistic Consistency

Finding the best way to leverage non-volatile memory (NVM) on modern database systems is still an open problem. The answer is far from trivial since the clear boundary between memory and storage present in most systems seems to be incompatible with the intrinsic memory-storage duality of NVM. Rather than treating NVM either solely as memory or solely as storage, in this work we propose how NVM can be simultaneously used as both in the context of modern database systems. We design a persistent buffer pool on NVM, enabling pages to be directly read/written by the CPU (like memory) while recovering corrupted pages after a failure (like storage). The main benefits of our approach are an easy integration in the existing database architectures, reduced costs (by replacing DRAM with NVM), and faster peak-performance recovery.

[1]  Philippe Bonnet What's Up with the Storage Hierarchy? , 2017, CIDR.

[2]  Michael Haubenschild,et al.  LeanStore: In-Memory Data Management beyond Main Memory , 2018, 2018 IEEE 34th International Conference on Data Engineering (ICDE).

[3]  Thomas F. Wenisch,et al.  Storage Management in the NVRAM Era , 2013, Proc. VLDB Endow..

[4]  Goetz Graefe,et al.  Instant Recovery with Write-Ahead Logging: Page Repair, System Restart, and Media Restore , 2014, Synthesis Lectures on Data Management.

[5]  Sam H. Noh,et al.  WORT: Write Optimal Radix Tree for Persistent Memory Storage Systems , 2017, FAST.

[6]  Per-Åke Larson,et al.  BzTree: A High-Performance Latch-free Range Index for Non-Volatile Memory , 2018, Proc. VLDB Endow..

[7]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[8]  Sachin Katti,et al.  Reducing DRAM footprint with NVM in Facebook , 2018, EuroSys.

[9]  Bingsheng He,et al.  NV-Tree: Reducing Consistency Cost for NVM-based Single Level Systems , 2015, FAST.

[10]  Peiquan Jin,et al.  APP-LRU: A New Page Replacement Method for PCM/DRAM-Based Hybrid Memory Systems , 2014, NPC.

[11]  Joy Arulraj,et al.  Multi-Tier Buffer Management and Storage System Design for Non-Volatile Memory , 2019, ArXiv.

[12]  Ismail Oukid,et al.  FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory , 2016, SIGMOD Conference.

[13]  Yoshiyasu Doi,et al.  Managing Non-Volatile Memory in Database Systems , 2018, SIGMOD Conference.

[14]  Ismail Oukid,et al.  Rethinking DRAM Caching for LSMs in an NVRAM Environment , 2017, ADBIS.

[15]  Harumi A. Kuno,et al.  Definition, Detection, and Recovery of Single-Page Failures, a Fourth Class of Database Failures , 2012, Proc. VLDB Endow..

[16]  Jianliang Xu,et al.  Wear-Aware Algorithms for PCM-Based Database Buffer Pools , 2014, WAIM Workshops.

[17]  Mark Lillibridge,et al.  In-Memory Performance for Big Data , 2014, Proc. VLDB Endow..

[18]  Qin Jin,et al.  Persistent B+-Trees in Non-Volatile Main Memory , 2015, Proc. VLDB Endow..