Adaptive Optimistic Concurrency Control for Heterogeneous Workloads

Optimistic concurrency control (OCC) protocols validate whether a transaction has conflicts with other concurrent transactions after this transaction completes its execution. In this work, we demonstrate that the validation phase has a great influence on the performance of modern in-memory database systems, especially under heterogeneous workloads. The cost of validating operations in a transaction is determined by two main factors. The first factor is the operation type. An OCC protocol would take much less cost on validating a single-record read operation than validating a key-range scan operation. The second factor is the workload type. Existing schemes in OCC variants for validating key-range scan perform differently under various workloads. Although various validation schemes share the same goal of guaranteeing a transaction schedule to be serializable, there are remarkable differences between the costs they introduced. These observations motivate us to design an optimistic concurrency control which can choose a low-cost validation scheme at runtime, referred to as adaptive optimistic concurrency control (AOCC). First, at transactionlevel granularity, AOCC can assign a validation method to a transaction according to the features of its operations. Furthermore, for each operation in a transaction, the validation method is selected according to not only the number of accessed records but also the instant characteristics of workloads. Experimental results show that AOCC has good performance and scalability under heterogeneous workloads mixed with point accesses and predicate queries. PVLDB Reference Format: Jinwei Guo, Peng Cai, Jiahao Wang, Weining Qian, Aoying Zhou. Adaptive Optimistic Concurrency Control for Heterogeneous Workloads. PVLDB, 12(5): 584-596, 2019. DOI: https://doi.org/10.14778/3303753.3303763

[1]  Hyeontaek Lim,et al.  Cicada: Dependably Fast Multi-Core In-Memory Transactions , 2017, SIGMOD Conference.

[2]  Chao Xie,et al.  High-performance ACID via modular concurrency control , 2015, SOSP.

[3]  Alfons Kemper,et al.  HyPer: A hybrid OLTP&OLAP main memory database system based on virtual memory snapshots , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[4]  Wolfgang Lehner,et al.  Efficient transaction processing in SAP HANA database: the end of a column store myth , 2012, SIGMOD Conference.

[5]  Hao Jiang,et al.  Adaptive Concurrency Control: Despite the Looking Glass, One Concurrency Control Does Not Fit All , 2017, CIDR.

[6]  Yuanyuan Tian,et al.  Hybrid Transactional/Analytical Processing: A Survey , 2017, SIGMOD Conference.

[7]  Craig Freedman,et al.  Hekaton: SQL server's memory-optimized OLTP engine , 2013, SIGMOD '13.

[8]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[9]  Bruce Momjian,et al.  PostgreSQL: Introduction and Concepts , 2000 .

[10]  Jignesh M. Patel,et al.  High-Performance Concurrency Control Mechanisms for Main-Memory Databases , 2011, Proc. VLDB Endow..

[11]  Kian-Lee Tan,et al.  Transaction Healing: Scaling Optimistic Concurrency Control on Multicores , 2016, SIGMOD Conference.

[12]  Ippokratis Pandis,et al.  ERMIA: Fast Memory-Optimized Database System for Heterogeneous Workloads , 2016, SIGMOD Conference.

[13]  Chao Xie,et al.  Bringing Modular Concurrency Control to the Next Level , 2017, SIGMOD Conference.

[14]  J. Banerjee,et al.  Precision locks , 1981, SIGMOD '81.

[15]  Michael Stonebraker,et al.  Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores , 2014, Proc. VLDB Endow..

[16]  Manuel Reimer,et al.  Solving the Phantom Problem by Predicative Optimistic Concurrency Control , 1983, VLDB.

[17]  Aaron J. Elmore,et al.  Toward Coordination-free and Reconfigurable Mixed Concurrency Control , 2018, USENIX Annual Technical Conference.

[18]  Xiaoning Ding,et al.  BCC: Reducing False Aborts in Optimistic Concurrency Control with Low Cost for In-Memory Databases , 2016, Proc. VLDB Endow..

[19]  Minjia Zhang,et al.  Drinking from both glasses: combining pessimistic and optimistic tracking of cross-thread dependences , 2016, PPOPP.

[20]  Srinivas Devadas,et al.  TicToc: Time Traveling Optimistic Concurrency Control , 2016, SIGMOD Conference.

[21]  Daniel J. Abadi,et al.  VLL: a lock manager redesign for main memory database systems , 2014, The VLDB Journal.

[22]  Hideaki Kimura,et al.  Mostly-Optimistic Concurrency Control for Highly Contended Dynamic Workloads on a Thousand Cores , 2016, Proc. VLDB Endow..

[23]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[24]  Alfons Kemper,et al.  Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems , 2015, SIGMOD Conference.

[25]  Gang Chen,et al.  On the Design of Adaptive and Speculative Concurrency Control in Distributed Databases , 2018, 2018 IEEE 34th International Conference on Data Engineering (ICDE).

[26]  Eddie Kohler,et al.  Speedy transactions in multicore in-memory databases , 2013, SOSP.