Replica Divergence in Data-Centric Consistency Models

Eventual consistency is demanded nowadays in highly scalable and available geo-replicated services. According to the CAP theorem, when network partitions may arise a distributed service should choose between being strongly consistent or being highly available. Since scalable services must be available, relaxed consistency is the regular choice. Eventual consistency is not a regular data-centric consistency model, but only a state convergence property to be added to a relaxed consistency model. This paper discusses which data-centric consistency models are not implicitly convergent and, because of this, provide an adequate basis for building eventually consistent services.

[1]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[2]  Constantin Enea,et al.  Verifying eventual consistency of optimistic replication systems , 2014, POPL.

[3]  Leticia Pascual Miret Consistency models in modern distributed systems. An approach to Eventual Consistency. , 2015 .

[4]  Anoop Gupta,et al.  Programming for Different Memory Consistency Models , 1992, J. Parallel Distributed Comput..

[5]  Gil Neiger,et al.  Causal Memory , 1991, WDAG.

[6]  Yasushi Saito,et al.  Optimistic replication , 2005, CSUR.

[7]  Robert Thomas,et al.  Maintenance of duplicate databases , 1975, RFC.

[8]  Nancy A. Lynch,et al.  Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services , 2002, SIGA.

[9]  Leslie Lamport,et al.  On interprocess communication , 1986, Distributed Computing.

[10]  Hagit Attiya Robust Simulation of Shared Memory: 20 Years After , 2010, Bull. EATCS.

[11]  David Mosberger,et al.  Memory consistency models , 1993, OPSR.

[12]  Werner Vogels,et al.  Building reliable distributed systems at a worldwide scale demands trade-offs between consistency and availability. , 2022 .

[13]  Gary J. Nutt,et al.  A unified theory of shared memory consistency , 2002, JACM.

[14]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[15]  James R. Goodman,et al.  Cache Consistency and Sequential Consistency , 1991 .

[16]  Sebastian Burckhardt,et al.  Principles of Eventual Consistency , 2014, Found. Trends Program. Lang..

[17]  Eric A. Brewer,et al.  Harvest, yield, and scalable tolerant systems , 1999, Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.

[18]  Lorenzo Alvisi,et al.  Consistency , Availability , and Convergence , 2011 .

[19]  Ali Ghodsi,et al.  Eventual Consistency Today: Limitations, Extensions, and Beyond , 2013 .

[20]  Sarita V. Adve,et al.  Shared Memory Consistency Models: A Tutorial , 1996, Computer.

[21]  Philip A. Bernstein,et al.  Rethinking eventual consistency , 2013, SIGMOD '13.

[22]  Liuba Shrira,et al.  Lazy replication: exploiting the semantics of distributed services , 1990, ACM SIGOPS European Workshop.