Discriminative Admission Control for Shared-everything Database under Mixed OLTP Workloads

Due to the variability of IT applications, the back-end databases usually run the mixed OLTP workload, which comprises a variety of transactions. Some of these transactions are high-conflict and others are low-conflict. Furthermore, high-conflict transactions may contend on different groups of data stored in the database. Without precise admission control, too many transactions with conflict on the same group of records are simultaneously executed by the OLTP engine, and this will lead to the well-known problem of data-contention thrashing. Under mixed OLTP workloads, conflicting transactions would be blocked for a long time or rolled back finally, and other transactions have not enough opportunity to be processed.To achieve the optimal performance for each kind of transaction, we design a discriminative admission control mechanism for shared-everything database, referred to as DAC. DAC can quickly identify and classify high-conflict transactions according to the set of records they try to access, which is defined as a conflict zone. DAC makes admission control over OLTP transactions with the conflict zone as the granularity. By adaptively adjusting the transaction concurrency level for each zone, transaction blocking and waiting among the same kind of high-conflict transactions can be alleviated. Furthermore, thread resources are released to make the execution of low-conflict transactions less affected. We evaluate DAC using a main-memory database prototype and a classical disk-based database system. Experimental results demonstrate that DAC can help OLTP engine significantly improve the performance under mixed OLTP workloads.

[1]  Haibo Chen,et al.  Scaling Multicore Databases via Constrained Parallel Execution , 2016, SIGMOD Conference.

[2]  Daniel J. Abadi,et al.  Calvin: fast distributed transactions for partitioned database systems , 2012, SIGMOD Conference.

[3]  Gerhard Weikum,et al.  Performance Evaluation of an Adaptive and Robust Load Control Method for the Avoidance of Data-Contention Thrashing , 1992, VLDB.

[4]  Mor Harchol-Balter,et al.  Improving preemptive prioritization via statistical characterization of OLTP locking , 2005, 21st International Conference on Data Engineering (ICDE'05).

[5]  Yang Zhang,et al.  Extracting More Concurrency from Distributed Transactions , 2014, OSDI.

[6]  Heon Young Yeom,et al.  A scalable lock manager for multicores , 2013, SIGMOD '13.

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

[8]  Peter Bumbulis,et al.  Automatic tuning of the multiprogramming level in Sybase SQL Anywhere , 2010, 2010 IEEE 26th International Conference on Data Engineering Workshops (ICDEW 2010).

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

[10]  Daniel J. Abadi,et al.  High Performance Transactions via Early Write Visibility , 2017, Proc. VLDB Endow..

[11]  Miron Livny,et al.  Dynamic real-time optimistic concurrency control , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[12]  Adam Wierman,et al.  How to Determine a Good Multi-Programming Level for External Scheduling , 2006, 22nd International Conference on Data Engineering (ICDE'06).

[13]  Daniel J. Abadi,et al.  Lightweight Locking for Main Memory Database Systems , 2012, Proc. VLDB Endow..

[14]  Michael Stonebraker,et al.  Clay: Fine-Grained Adaptive Partitioning for General Database Schemas , 2016, Proc. VLDB Endow..

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

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

[17]  Thomas F. Wenisch,et al.  A Top-Down Approach to Achieving Performance Predictability in Database Systems , 2017, SIGMOD Conference.

[18]  Kwok-Wa Lam,et al.  Real-time optimistic concurrency control protocol with dynamic adjustment of serialization order , 1995, Proceedings Real-Time Technology and Applications Symposium.

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

[20]  Daniel J. Abadi,et al.  Rethinking serializable multiversion concurrency control , 2014, Proc. VLDB Endow..

[21]  Carlo Curino,et al.  Schism , 2010, Proc. VLDB Endow..

[22]  Ippokratis Pandis,et al.  Improving OLTP Scalability using Speculative Lock Inheritance , 2009, Proc. VLDB Endow..

[23]  Erich M. Nahum,et al.  Achieving Class-Based QoS for Transactional Workloads , 2006, 22nd International Conference on Data Engineering (ICDE'06).

[24]  Hans-Ulrich Heiß,et al.  Adaptive Load Control in Transaction Processing Systems , 1991, VLDB.

[25]  Gang Chen,et al.  Exploiting Single-Threaded Model in Multi-Core In-Memory Systems , 2016, IEEE Transactions on Knowledge and Data Engineering.

[26]  Alvin Cheung,et al.  Improving High Contention OLTP Performance via Transaction Scheduling , 2018, ArXiv.

[27]  Patrick Valduriez,et al.  Transaction chopping: algorithms and performance studies , 1995, TODS.

[28]  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.

[29]  Abdul Quamar,et al.  SWORD: scalable workload-aware data placement for transactional workloads , 2013, EDBT '13.

[30]  Ippokratis Pandis,et al.  A data-oriented transaction execution engine and supporting tools , 2011, SIGMOD '11.

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

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

[33]  Grant Schoenebeck,et al.  Contention-Aware Lock Scheduling for Transactional Databases , 2018, Proc. VLDB Endow..

[34]  Anastasia Ailamaki,et al.  Analyzing the Impact of System Architecture on the Scalability of OLTP Engines for High-Contention Workloads , 2017, Proc. VLDB Endow..

[35]  Michael Stonebraker,et al.  The End of an Architectural Era (It's Time for a Complete Rewrite) , 2007, VLDB.

[36]  Arthur J. Bernstein,et al.  Concurrency control for step-decomposed transactions , 1999, Inf. Syst..

[37]  Miron Livny,et al.  Load control for locking: the “half-and-half” approach , 1990, PODS '90.

[38]  Andrew Pavlo,et al.  Performance of OLTP via Intelligent Scheduling , 2018, 2018 IEEE 34th International Conference on Data Engineering (ICDE).

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

[40]  Rebecca Taft Elastic database systems , 2017 .

[41]  Carlo Curino,et al.  OLTP-Bench: An Extensible Testbed for Benchmarking Relational Databases , 2013, Proc. VLDB Endow..

[42]  Amir Shaikhha,et al.  Transaction Repair for Multi-Version Concurrency Control , 2017, SIGMOD Conference.

[43]  Alvin Cheung,et al.  Leveraging Lock Contention to Improve OLTP Application Performance , 2016, Proc. VLDB Endow..