Data Consistency in Transactional Storage Systems: A Centralised Semantics

15 We introduce an interleaving operational semantics for describing the client-observable behaviour 16 of atomic transactions on distributed key-value stores. Our semantics builds on abstract states 17 comprising centralised, global key-value stores and partial client views. Using our abstract states, 18 we present operational definitions of well-known consistency models in the literature, and prove 19 them to be equivalent to their existing declarative definitions using abstract executions. We explore 20 two applications of our operational framework: (1) verifying that the COPS replicated database 21 and the Clock-SI partitioned database satisfy their consistency models using trace refinement, and 22 (2) proving invariant properties of client programs. 23 2012 ACM Subject Classification Theory of computation → Operational semantics 24

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

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

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

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

[5]  Viktor Vafeiadis,et al.  Concurrent Abstract Predicates , 2010, ECOOP.

[6]  Fernando Pedone,et al.  Database replication using generalized snapshot isolation , 2005, 24th IEEE Symposium on Reliable Distributed Systems (SRDS'05).

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

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

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

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

[11]  Ilya Sergey,et al.  Communicating State Transition Systems for Fine-Grained Concurrent Resources , 2014, ESOP.

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

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

[14]  Kenneth Salem,et al.  Lazy database replication with snapshot isolation , 2006, VLDB.

[15]  Marc Shapiro,et al.  Conflict-Free Replicated Data Types , 2011, SSS.

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

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

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

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

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

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

[22]  Suresh Jagannathan,et al.  Safe replication through bounded concurrency verification , 2018, Proc. ACM Program. Lang..

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

[24]  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.

[25]  Matthew J. Parkinson,et al.  The Push/Pull model of transactions , 2015, PLDI.

[26]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[27]  Philippa Gardner,et al.  TaDA: A Logic for Time and Data Abstraction , 2014, ECOOP.

[28]  Lars Birkedal,et al.  Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning , 2015, POPL.

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

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

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

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

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

[34]  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).

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

[36]  Sebastian Burckhardt,et al.  Global Sequence Protocol: A Robust Abstraction for Replicated Shared State , 2015, ECOOP.

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

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

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

[40]  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.

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

[42]  John Wickerson,et al.  The semantics of transactions and weak memory in x86, Power, ARM, and C++ , 2017, PLDI.

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

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