Checking Causal Consistency of Distributed Databases
Abstract
The CAP Theorem shows that (strong) Consistency, Availability, and Partition tolerance are impossible to be ensured together. Causal consistency is one of the weak consistency models that can be implemented to ensure availability and partition tolerance in distributed systems. In this work, we propose a tool to check automatically the conformance of distributed/concurrent systems executions to causal consistency models. Our approach consists in reducing the problem of checking if an execution is causally consistent to solving Datalog queries. The reduction is based on complete characterizations of the executions violating causal consistency in terms of the existence of cycles in suitably defined relations between the operations occurring in these executions. We have implemented the reduction in a testing tool for distributed databases, and carried out several experiments on real case studies, showing the efficiency of the suggested approach.
Cite
@article{arxiv.2011.09753,
title = {Checking Causal Consistency of Distributed Databases},
author = {Rachid Zennou and Ranadeep Biswas and Ahmed Bouajjani and Constantin Enea and Mohammed Erradi},
journal= {arXiv preprint arXiv:2011.09753},
year = {2021}
}
Comments
Extended version of the paper <Checking Causal Consistency of Distributed Databases>. It has been published in the Special issue of NETYS2019 by Computing Journal (https://link.springer.com/article/10.1007/s00607-021-00911-3). It is extended with more than 30% of novel contribution, CFP:https://www.springer.com/journal/607/updates/17646200 . Computing is abstracted and indexed by SCOPUS and DBLP