Checking Robustness Between Weak Transactional Consistency Models

01/22/2021
by   Sidi Mohamed Beillahi, et al.
0

Concurrent accesses to databases are typically encapsulated in transactions in order to enable isolation from other concurrent computations and resilience to failures. Modern databases provide transactions with various semantics corresponding to different trade-offs between consistency and availability. Since a weaker consistency model provides better performance, an important issue is investigating the weakest level of consistency needed by a given program (to satisfy its specification). As a way of dealing with this issue, we investigate the problem of checking whether a given program has the same set of behaviors when replacing a consistency model with a weaker one. This property known as robustness generally implies that any specification of the program is preserved when weakening the consistency. We focus on the robustness problem for consistency models which are weaker than standard serializability, namely, causal consistency, prefix consistency, and snapshot isolation. We show that checking robustness between these models is polynomial time reducible to a state reachability problem under serializability. We use this reduction to also derive a pragmatic proof technique based on Lipton's reduction theory that allows to prove programs robust. We have applied our techniques to several challenging applications drawn from the literature of distributed systems and databases.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/21/2019

Checking Robustness Against Snapshot Isolation

Transactional access to databases is an important abstraction allowing p...
research
08/13/2019

On the Complexity of Checking Transactional Consistency

Transactions simplify concurrent programming by enabling computations on...
research
06/28/2019

Robustness Against Transactional Causal Consistency

Distributed storage systems and databases are widely used by various typ...
research
05/16/2018

On the Semantics of Snapshot Isolation

Snapshot isolation (SI) is a standard transactional consistency model us...
research
06/21/2018

Automated Detection of Serializability Violations under Weak Consistency

While a number of weak consistency mechanisms have been developed in rec...
research
03/04/2021

MonkeyDB: Effectively Testing Correctness against Weak Isolation Levels

Modern applications, such as social networking systems and e-commerce pl...
research
06/29/2022

Coo: Consistency Check for Transactional Databases

In modern databases, transaction processing technology provides ACID (At...

Please sign up or login with your details

Forgot password? Click here to reset