Data Consistency in Transactional Storage Systems: a Centralised Approach

We introduce an interleaving operational semantics for describing the client-observable behaviour of atomic transactions on distributed key-value stores. Our semantics builds on abstract states comprising centralised, global key-value stores and partial client views. We provide operational definitions of consistency models for our key-value stores which are shown to be equivalent to the well-known declarative definitions of consistency model for execution graphs. We explore two immediate applications of our semantics: specific protocols of geo-replicated databases (e.g. COPS) and partitioned databases (e.g. Clock-SI) can be shown to be correct for a specific consistency model by embedding them in our centralised semantics; programs can be directly shown to have invariant properties such as robustness results against a weak consistency model.

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

[2]  Alexey Gotsman,et al.  A Framework for Transactional Consistency Models with Atomic Visibility , 2015, CONCUR.

[3]  Patrick Valduriez,et al.  Transaction chopping: algorithms and performance studies , 1995, TODS.

[4]  Alexey Gotsman,et al.  Analysing Snapshot Isolation , 2018, J. ACM.

[5]  Fernando Gustavo Tinetti,et al.  Distributed systems: principles and paradigms (2nd edition): Andrew S. Tanenbaum, Maarten Van Steen Pearson Education, Inc., 2007 ISBN: 0-13-239227-5 , 2011 .

[6]  Werner Vogels,et al.  Eventually consistent , 2008, CACM.

[7]  Sebastian Burckhardt,et al.  Eventually Consistent Transactions , 2012, ESOP.

[8]  Marc Shapiro,et al.  Non-monotonic Snapshot Isolation: Scalable and Strong Consistency for Geo-replicated Transactional Systems , 2013, 2013 IEEE 32nd International Symposium on Reliable Distributed Systems.

[9]  Cheng Li,et al.  Making geo-replicated systems fast as possible, consistent when necessary , 2012, OSDI 2012.

[10]  Marcos K. Aguilera,et al.  Transactional storage for geo-replicated systems , 2011, SOSP.

[11]  Peter Zeller,et al.  Testing properties of weakly consistent programs with Repliss , 2017, PaPoC@EuroSys.

[12]  Patrick E. O'Neil,et al.  Generalized isolation level definitions , 2000, Proceedings of 16th International Conference on Data Engineering (Cat. No.00CB37073).

[13]  Ali Ghodsi,et al.  Scalable atomic visibility with RAMP transactions , 2014, SIGMOD Conference.

[14]  João Lourenço,et al.  Efficient and Correct Transactional Memory Programs Combining Snapshot Isolation and Static Analysis , 2011 .

[15]  Constantin Enea,et al.  Checking Robustness Against Snapshot Isolation , 2019, CAV.

[16]  John Derrick,et al.  Verifying C11 programs operationally , 2018, PPoPP.

[17]  Lorenzo Alvisi,et al.  Seeing is Believing: A Client-Centric Specification of Database Isolation , 2017, PODC.

[18]  Norman May,et al.  Distributed snapshot isolation: global transactions pay globally, local transactions pay locally , 2014, The VLDB Journal.

[19]  Suresh Jagannathan,et al.  Automated Detection of Serializability Violations under Weak Consistency , 2018, CONCUR.

[20]  Peter Csaba Ölveczky,et al.  ROLA: A New Distributed Transaction Protocol and Its Formal Analysis , 2018, FASE.

[21]  Barbara Liskov,et al.  Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions , 1999 .

[22]  Alan Fekete,et al.  The Cost of Serializability on Platforms That Use Snapshot Isolation , 2008, 2008 IEEE 24th International Conference on Data Engineering.

[23]  Jim Gray,et al.  A critique of ANSI SQL isolation levels , 1995, SIGMOD '95.

[24]  Dennis Shasha,et al.  Making snapshot isolation serializable , 2005, TODS.

[25]  Hongseok Yang,et al.  Transaction Chopping for Parallel Snapshot Isolation , 2015, DISC.

[26]  Suresh Jagannathan,et al.  Alone together: compositional reasoning and inference for weak isolation , 2017, Proc. ACM Program. Lang..

[27]  Richard J. Lipton,et al.  Reduction: a method of proving properties of parallel programs , 1975, CACM.

[28]  Sameh Elnikety,et al.  Clock-SI: Snapshot Isolation for Partitioned Data Stores Using Loosely Synchronized Clocks , 2013, 2013 IEEE 32nd International Symposium on Reliable Distributed Systems.

[29]  Alexey Gotsman,et al.  Robustness against Consistency Models with Atomic Visibility , 2016, CONCUR.

[30]  Michael J. Freedman,et al.  Don't settle for eventual: scalable causal consistency for wide-area storage with COPS , 2011, SOSP.

[31]  Suresh Jagannathan,et al.  Declarative programming over eventually consistent data stores , 2015, PLDI.

[32]  Ori Lahav,et al.  On Parallel Snapshot Isolation and Release/Acquire Consistency , 2018, ESOP.

[33]  Sebastian Burckhardt,et al.  Replicated data types: specification, verification, optimality , 2014, POPL.

[34]  Michael J. Freedman,et al.  Stronger Semantics for Low-Latency Geo-Replicated Storage , 2013, NSDI.

[35]  Jerzy Brzezinski,et al.  From session causality to causal consistency , 2004, 12th Euromicro Conference on Parallel, Distributed and Network-Based Processing, 2004. Proceedings..

[36]  Jeehoon Kang,et al.  A promising semantics for relaxed-memory concurrency , 2017, POPL.

[37]  Marc Shapiro,et al.  G-DUR: a middleware for assembling, analyzing, and improving transactional protocols , 2014, Middleware.

[38]  Hongseok Yang,et al.  'Cause I'm strong enough: Reasoning about consistency choices in distributed systems , 2016, POPL.

[39]  Hongseok Yang,et al.  Algebraic Laws for Weak Consistency , 2017, CONCUR.

[40]  Willy Zwaenepoel,et al.  Wren: Nonblocking Reads in a Partitioned Transactional Causally Consistent Data Store , 2018, 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).