Improving High Contention OLTP Performance via Transaction Scheduling

10/03/2018
by   Guna Prasaad, et al.
0

Research in transaction processing has made significant progress in improving the performance of multi-core in-memory transactional systems. However, the focus has mainly been on low-contention workloads. Modern transactional systems perform poorly on workloads with transactions accessing a few highly contended data items. We observe that most transactional workloads, including those with high contention, can be divided into clusters of data conflict-free transactions and a small set of residuals. In this paper, we introduce a new concurrency control protocol called Strife that leverages the above observation. Strife executes transactions in batches, where each batch is partitioned into clusters of conflict-free transactions and a small set of residual transactions. The conflict-free clusters are executed in parallel without any concurrency control, followed by executing the residual cluster either serially or with concurrency control. We present a low-overhead algorithm that partitions a batch of transactions into clusters that do not have cross-cluster conflicts and a small residual cluster. We evaluate Strife against the optimistic concurrency control protocol and several variants of two-phase locking, where the latter is known to perform better than other concurrency protocols under high contention, and show that Strife can improve transactional throughput by up to 2x. We also perform an in-depth micro-benchmark analysis to empirically characterize the performance and quality of our clustering algorithm

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/09/2022

Oze: Decentralized Graph-based Concurrency Control for Real-world Long Transactions on BoM Benchmark

In this paper, we propose Oze, a new concurrency control protocol that h...
research
03/17/2021

Releasing Locks As Early As You Can: Reducing Contention of Hotspots by Violating Two-Phase Locking (Extended Version)

Hotspots, a small set of tuples frequently read/written by a large numbe...
research
02/24/2023

Knock Out 2PC with Practicality Intact: a High-performance and General Distributed Transaction Protocol (Technical Report)

Two-phase-commit (2PC) has been widely adopted for distributed transacti...
research
03/07/2019

Scheduling OLTP Transactions via Machine Learning

Current main memory database system architectures are still challenged b...
research
05/21/2021

Polyjuice: High-Performance Transactions via Learned Concurrency Control

Concurrency control algorithms are key determinants of the performance o...
research
03/31/2023

Shirakami: A Hybrid Concurrency Control Protocol for Tsurugi Relational Database System

Modern real-world transactional workloads such as bills of materials or ...
research
04/03/2018

The Transactional Conflict Problem

The transactional conflict problem arises in transactional systems whene...

Please sign up or login with your details

Forgot password? Click here to reset