Automated Detection of Serializability Violations Under Weak Consistency
Kartik Nagar,Suresh Jagannathan +1 more
- Vol. 118, pp 18
Reads0
Chats0
TLDR
This work combines a dependency graph-based characterization of serializability and the framework of abstract executions to develop a fully-automated approach for statically finding boundedserializability violations under any weak consistency model.Abstract:
While a number of weak consistency mechanisms have been developed in recent years to improve performance and ensure availability in distributed, replicated systems, ensuring the correctness of transactional applications running on top of such systems remains a difficult and important problem. Serializability is a well-understood correctness criterion for transactional programs; understanding whether applications are serializable when executed in a weakly-consistent environment, however remains a challenging exercise. In this work, we combine a dependency graph-based characterization of serializability and leverage the framework of abstract executions to develop a fully-automated approach for statically finding bounded serializability violations under any weak consistency model. We reduce the problem of serializability to satisfiability of a formula in First-Order Logic (FOL), which allows us to harness the power of existing SMT solvers. We provide rules to automatically construct the FOL encoding from programs written in SQL (allowing loops and conditionals) and express consistency specifications as FOL formula. In addition to detecting bounded serializability violations, we also provide two orthogonal schemes to reason about unbounded executions by providing sufficient conditions (again, in the form of FOL formulae) whose satisfiability implies the absence of anomalies in any arbitrary execution. We have applied the proposed technique on TPC-C, a real-world database program with complex application logic, and were able to discover anomalies under Parallel Snapshot Isolation (PSI), and verify serializability for unbounded executions under Snapshot Isolation (SI), two consistency mechanisms substantially weaker than serializability.read more
Citations
More filters
Proceedings ArticleDOI
Robustness Against Transactional Causal Consistency.
TL;DR: In this article, the authors investigate application-specific relationships between several variations of causal consistency and address the issue of verifying automatically if a given transactional program is robust against causal consistency, i.e., all its behaviors when executed over an arbitrary causally consistent database are serializable.
Proceedings ArticleDOI
Robustness against release/acquire semantics
Ori Lahav,Roy David Margalit +1 more
TL;DR: This work presents an algorithm for automatically checking robustness of concurrent programs against C/C++11 release/acquire semantics, namely verifying that all program behaviors under release/ACquire are allowed by sequential consistency.
Proceedings ArticleDOI
Decidable verification under a causally consistent shared memory
Ori Lahav,Udi Boker +1 more
TL;DR: This paper establishes the decidability of safety properties for finite-state concurrent programs running under a causally consistent shared memory model, and develops an alternative operational semantics, based on the notion of a thread potential, that is equivalent to the existing declarative semantics and constitutes a well-structured transition system.
Proceedings Article
Cobra: Making transactional key-value stores verifiably serializable
TL;DR: Cobra is the first system that combines black-box checking, of (b) serializability, while (c) scaling to real-world online transactional processing workloads, and introduces several new techniques, including a new encoding of the validity condition.
Journal ArticleDOI
Verification under causally consistent shared memory
TL;DR: This work considers concurrent programs interacting with causally consistent shared memory and describes the semantics of such programs, and outlines several verification problems and survey some existing solutions.
References
More filters
Proceedings ArticleDOI
A critique of ANSI SQL isolation levels
TL;DR: It is shown that these phenomena and the ANSI SQL definitions fail to properly characterize several popular isolation levels, including the standard locking implementations of the levels covered, and new phenomena that better characterize isolation types are introduced.
Proceedings ArticleDOI
Don't settle for eventual: scalable causal consistency for wide-area storage with COPS
TL;DR: This paper identifies and defines a consistency model---causal consistency with convergent conflict handling, or causal+---that is the strongest achieved under these constraints and presents the design and implementation of COPS, a key-value store that delivers this consistency model across the wide-area.
Proceedings ArticleDOI
Transactional storage for geo-replicated systems
TL;DR: The design and implementation of Walter is described, a key feature behind Walter is a new property called Parallel Snapshot Isolation (PSI), which allows Walter to replicate data asynchronously, while providing strong guarantees within each site.
Journal ArticleDOI
Making snapshot isolation serializable
TL;DR: A theory is developed that characterizes when nonserializable executions of applications can occur under Snapshot Isolation, and it is applied to demonstrate that the TPC-C benchmark application has no serialization anomalies under SI, and how this demonstration can be generalized to other applications.
Journal ArticleDOI
Serializable isolation for snapshot databases
TL;DR: A modification to the concurrency control algorithm of a database management system that automatically detects and prevents snapshot isolation anomalies at runtime for arbitrary applications, thus providing serializable isolation.