Return
Multi-Clock Snapshot Isolation Concurrency Control for NVM Database
DOI:10.26599/TST.2021.9010036.png)
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
IF:
3.5
Papers:
987
Citations:
2.5K

