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 stora...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.展开更多
基金supported by the National Key Research&Development Program of China(No.2016YFB1000504)the National Natural Science Foundation of China(Nos.61877035,61433008,61373145,and 61572280).
文摘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.