arrow
Return

Multi-Clock Snapshot Isolation Concurrency Control for NVM Database

delete2022-12-01
delete0
delete
OA
AI
X
Xuyang Liu
K
Kang Chen *
S
Shiyu Cai
Y
Yongwei Wu
W
Weimin Zheng
DOI:10.26599/TST.2021.9010036delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Multi-Clock Snapshot Isolation (MCSI) is a concurrency control mechanism that implements snapshot isolation on a single-layer Non-Volatile Memory (NVM) database. It stores a single copy of data by using multi-version storage to ensure durability and runtime access. With multi-clock transaction timestamp assignment, MCSI can efficiently generate snapshots with vector clocks and use per-thread transaction status arrays to identify uncommitted versions in NVM. For evaluation, we compared MCSI with the PostgreSQL-style concurrency control used in the single-layer NVM database N2DB. The maximum transaction throughput of MCSI is 101%-195% higher than that of N2DB for the YCSB workloads, and 25%-49% higher for the TPC-C workloads. Moreover, the transaction latency of MCSI remains relatively stable as the thread count increases. With 18 worker threads, the average transaction latency of MCSI is 65%-84% lower than that of N2DB for the YCSB workloads and 16%-43% lower for the TPC-C workloads.
Keywords:
Runtime
Nonvolatile memory
Databases
Instruction sets
Throughput
Concurrency control
Arrays
Non-Volatile Memory (NVM)
snapshot isolation
Multi-Version Concurrency Control (MVCC)
vector clock

Journal

T
Tsinghua Science and Technology
IF:
3.5
Papers:
987
Citations:
2.5K

Organization

T
tsinghua university
Scholars:
11.8W
Papers: 10.0W
Citations: 137