Adaptive Transaction Scheduling for Highly Contended Workloads

Traditional transaction scheduling mechanism—which is a key component in database systems—slows down the performance of concurrency control greatly in such environments for highly contended workloads. Obviously, to address this issue, there are two effective methods: (1) avoiding concurrent transactions that access the same high-contention tuple at the same time; (2) accelerating the execution of these high-contention transactions. In this demonstration, we present a new transaction scheduling mechanism, which aims to achieve the above goals. An adaptive group of first-class queues is introduced, where each queue is allocated to a specified worker thread and takes charge of transactions accessing specified high-contention tuples. We implement a system prototype and demonstrate that our transaction scheduling mechanism can effectively reduce the abort ratio of high-contention transactions and improve the system throughput dramatically.