Multi-Clock Snapshot Isolation Concurrency Control for NVM Database

Xuyang Liu,Kang Chen,Mengxing Liu,Shiyu Cai,Yongwei Wu,Weimin Zheng
DOI: https://doi.org/10.26599/tst.2021.9010036
2022-01-01
Tsinghua Science & Technology
Abstract: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.
What problem does this paper attempt to address?