On verifying causal consistency
From MaRDI portal
Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.) (68N30) Data structures (68P05) Analysis of algorithms and problem complexity (68Q25) Specification and verification (program logics, model checking, etc.) (68Q60) Models and methods for concurrent and distributed computing (process algebras, bisimulation, transition nets, etc.) (68Q85)
Abstract: Causal consistency is one of the most adopted consistency criteria for distributed implementations of data structures. It ensures that operations are executed at all sites according to their causal precedence. We address the issue of verifying automatically whether the executions of an implementation of a data structure are causally consistent. We consider two problems: (1) checking whether one single execution is causally consistent, which is relevant for developing testing and bug finding algorithms, and (2) verifying whether all the executions of an implementation are causally consistent. We show that the first problem is NP-complete. This holds even for the read-write memory abstraction, which is a building block of many modern distributed systems. Indeed, such systems often store data in key-value stores, which are instances of the read-write memory abstraction. Moreover, we prove that, surprisingly, the second problem is undecidable, and again this holds even for the read-write memory abstraction. However, we show that for the read-write memory abstraction, these negative results can be circumvented if the implementations are data independent, i.e., their behaviors do not depend on the data values that are written or read at each moment, which is a realistic assumption.
Recommendations
Cited in
(19)- Decidability and complexity for quiescent consistency and its variations
- Checking robustness between weak transactional consistency models
- A formal approach to property testing in causally consistent distributed traces
- Checking causal consistency of distributed databases
- Chapar: certified causally consistent distributed key-value stores
- Analyzing consistency properties for fun and profit
- scientific article; zbMATH DE number 7471661 (Why is no real title available?)
- Read-write causality
- Algebraic laws for weak consistency
- Causal memory: definitions, implementation, and programming
- The inhibition spectrum and the achievement of causal consistency
- Partially Replicated Causally Consistent Shared Memory
- scientific article; zbMATH DE number 7141420 (Why is no real title available?)
- scientific article; zbMATH DE number 7327945 (Why is no real title available?)
- Robustness Against Transactional Causal Consistency.
- Optimal stateless model checking for causal consistency
- Rely-guarantee reasoning for causally consistent shared memory
- Verification of the release-acquire semantics
- Formalizing and checking multilevel consistency
This page was built for publication: On verifying causal consistency
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q5370895)