Checking Robustness Against Snapshot Isolation

05/21/2019
by   Sidi Mohamed Beillahi, et al.
0

Transactional access to databases is an important abstraction allowing programmers to consider blocks of actions (i.e., transactions) as executing in isolation. The strongest consistency model in this context is serializability, which ensures the atomicity abstraction of transactions executing over a sequentially consistent memory. Since ensuring serializability carries a significant penalty on availability, modern databases provide weaker consistency models, one of the most prominent being snapshot isolation. In general, the correctness of a program relying on serializable transactions may be broken when using weaker models. However, certain programs may also be insensitive to consistency relaxations, which means that all their properties holding under serializability are preserved even when they are executed over some weakly consistent database and without additional synchronization. In this paper, we address the issue of verifying if a given program is robust against snapshot isolation, i.e., all its behaviors are serializable even if it is executed over a database ensuring snapshot isolation. We show that this verification problem is polynomial time reducible to a state reachability problem in transactional programs over a sequentially consistent shared memory. This reduction opens the door to the reuse of the classic verification technology (under sequential consistency) for reasoning about weakly-consistent programs. In particular, we show that it can be used to derive a proof technique based on Lipton's reduction theory that allows to prove programs robust.

READ FULL TEXT
research
06/28/2019

Robustness Against Transactional Causal Consistency

Distributed storage systems and databases are widely used by various typ...
research
01/22/2021

Checking Robustness Between Weak Transactional Consistency Models

Concurrent accesses to databases are typically encapsulated in transacti...
research
10/26/2017

Alone Together: Compositional Reasoning and Inference for Weak Isolation

Serializability is a well-understood correctness criterion that simplifi...
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
01/22/2018

ACGreGate: A Framework for Practical Access Control for Applications using Weakly Consistent Databases

Scalable and highly available systems often require data stores that off...
research
01/12/2018

Safe Privatization in Transactional Memory

Transactional memory (TM) facilitates the development of concurrent appl...
research
07/17/2020

Software Transactional Memory with Interactions

Software Transactional memory (STM) is an emerging abstraction for concu...

Please sign up or login with your details

Forgot password? Click here to reset