Integrating Non-Volatile Main Memory in a Deterministic Database

被引:0
|
作者
Wang, Yu Chen [1 ]
Brown, Angela Demke [1 ]
Goel, Ashvin [1 ]
机构
[1] Univ Toronto, Toronto, ON M5S 1A1, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
Deterministic databases; Non-volatile memory; Recovery; Logging; Checkpointing;
D O I
10.1145/3552326.3567494
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Deterministic databases provide strong serializability while avoiding concurrency-control related aborts by establishing a serial ordering of transactions before their execution. Recent work has shown that they can also handle skewed and contended workloads effectively. These properties are achieved by batching transactions in epochs and then executing the transactions within an epoch concurrently and deterministically. However, the predetermined serial ordering of transactions makes these databases more vulnerable to long-latency transactions. As a result, they have mainly been designed as main-memory databases, which limits the size of the datasets that can be supported. We show how to integrate non-volatile main memory (NVMM) into deterministic databases to support larger datasets at a lower cost per gigabyte and faster failure recovery. We describe a novel dual-version checkpointing scheme that takes advantage of deterministic execution, epoch-based processing and NVMM's byte addressability to avoid persisting all updates to NVMM. Our approach reduces NVMM accesses, provides better access locality, and reduces garbage collection costs, thus lowering the performance impact of using NVMM. We show that our design enables scaling the dataset size while reducing the impacts of using NVMM, achieving up to 79% of DRAM performance. Our design supports efficient failure recovery and outperforms alternative failure recovery designs, especially under contended workloads, by up to 56%.
引用
收藏
页码:672 / 686
页数:15
相关论文
共 50 条
  • [1] RECOVERY ALGORITHMS FOR DATABASE MACHINES WITH NON-VOLATILE MAIN MEMORY
    AGRAWAL, R
    JAGADISH, HV
    LECTURE NOTES IN COMPUTER SCIENCE, 1989, 368 : 269 - 285
  • [2] Consensus for Non-Volatile Main Memory
    Huynh Tu Dang
    Hofmann, Jaco
    Liu, Yang
    Radi, Marjan
    Vucinic, Dejan
    Soule, Robert
    Pedone, Fernando
    2018 IEEE 26TH INTERNATIONAL CONFERENCE ON NETWORK PROTOCOLS (ICNP), 2018, : 406 - 411
  • [3] Redesign the Memory Allocator for Non-Volatile Main Memory
    Yu, Songping
    Xiao, Nong
    Deng, Mingzhu
    Liu, Fang
    Chen, Wei
    ACM JOURNAL ON EMERGING TECHNOLOGIES IN COMPUTING SYSTEMS, 2017, 13 (03)
  • [4] Programming for Non-Volatile Main Memory Is Hard
    Ren, Jinglei
    Hu, Qingda
    Khan, Samira
    Moscibroda, Thomas
    PROCEEDINGS OF THE 8TH ASIA-PACIFIC WORKSHOP ON SYSTEMS (APSYS '17), 2017,
  • [5] Managing Non-Volatile Memory in Database Systems
    van Renen, Alexander
    Leis, Viktor
    Kemper, Alfons
    Neumann, Thomas
    Hashida, Takushi
    Oe, Kazuichi
    Doi, Yoshiyasu
    Harada, Lilian
    Sato, Mitsuru
    SIGMOD'18: PROCEEDINGS OF THE 2018 INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2018, : 1541 - 1555
  • [6] Monolithically Integrating Non-Volatile Main Memory over the Last-Level Cache
    Walden, Candace
    Singh, Devesh
    Jagasivamani, Meenatchi
    Li, Shang
    Kang, Luyi
    Asnaashari, Mehdi
    Dubois, Sylvain
    Jacob, Bruce
    Yeung, Donald
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2021, 18 (04)
  • [7] A Survey of Non-Volatile Main Memory File Systems
    Ying Wang
    Wen-Qing Jia
    De-Jun Jiang
    Jin Xiong
    Journal of Computer Science and Technology, 2023, 38 : 348 - 372
  • [8] A Study of Application Performance with Non-Volatile Main Memory
    Zhang, Yiying
    Swanson, Steven
    2015 31ST SYMPOSIUM ON MASS STORAGE SYSTEMS AND TECHNOLOGIES (MSST), 2015,
  • [9] A Survey of Non-Volatile Main Memory File Systems
    Wang, Ying
    Jia, Wen-Qing
    Jiang, De-Jun
    Xiong, Jin
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2023, 38 (02) : 348 - 372
  • [10] Log-Structured Non-Volatile Main Memory
    Hu, Qingda
    Ren, Jinglei
    Badam, Anirudh
    Shu, Jiwu
    Moscibroda, Thomas
    2017 USENIX ANNUAL TECHNICAL CONFERENCE (USENIX ATC '17), 2017, : 703 - 717