Robustness against Read Committed for Transaction Templates with Functional Constraints

01/13/2022
by   Brecht Vandevoort, et al.
0

The popular isolation level Multiversion Read Committed (RC) trades some of the strong guarantees of serializability for increased transaction throughput. Sometimes, transaction workloads can be safely executed under RC obtaining serializability at the lower cost of RC. Such workloads are said to be robust against RC. Previous work has yielded a tractable procedure for deciding robustness against RC for workloads generated by transaction programs modeled as transaction templates. An important insight of that work is that, by more accurately modeling transaction programs, we are able to recognize larger sets of workloads as robust. In this work, we increase the modeling power of transaction templates by extending them with functional constraints, which are useful for capturing data dependencies like foreign keys. We show that the incorporation of functional constraints can identify more workloads as robust that otherwise would not be. Even though we establish that the robustness problem becomes undecidable in its most general form, we show that various restrictions on functional constraints lead to decidable and even tractable fragments that can be used to model and test for robustness against RC for realistic scenarios.

READ FULL TEXT

page 3

page 5

page 9

page 13

page 23

page 27

page 39

page 41

research
07/26/2021

Robustness against Read Committed for Transaction Templates

The isolation level Multiversion Read Committed (RC), offered by many da...
research
02/17/2023

Detecting Robustness against MVRC for Transaction Programs with Predicate Reads

The transactional robustness problem revolves around deciding whether, f...
research
05/15/2023

PSTM Transaction Scheduler Verification Based on CSP and Testing

Many online transaction scheduler architectures and algorithms for vario...
research
05/13/2016

Efficiently making (almost) any concurrency control mechanism serializable

Concurrency control (CC) algorithms must trade off strictness for perfor...
research
10/29/2020

CoroBase: Coroutine-Oriented Main-Memory Database Engine

Data stalls are a major overhead in main-memory database engines due to ...
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
11/05/2018

Top-Down Transaction-Level Design with TL-Verilog

Transaction-Level Verilog (TL-Verilog) is an emerging extension to Syste...

Please sign up or login with your details

Forgot password? Click here to reset