Analyzing consistency properties for fun and profit

Motivated by the increasing popularity of eventually consistent key-value stores as a commercial service, we address two important problems related to the consistency properties in a history of operations on a read/write register (i.e., the start time, finish time, argument, and response of every operation). First, we consider how to detect a consistency violation as soon as one happens. To this end, we formulate a specification for online verification algorithms, and we present such algorithms for several well-known consistency properties. Second, we consider how to quantify the severity of the violations, if a history is found to contain consistency violations. We investigate two quantities: one is the staleness of the reads, and the other is the commonality of violations. For staleness, we further consider time-based staleness and operation-count-based staleness. We present efficient algorithms that compute these quantities. We believe that addressing these problems helps both key-value store providers and users adopt data consistency as an important aspect of key-value store offerings.

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

[2]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[3]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[4]  Joseph Y.-T. Leung,et al.  Efficient algorithms for interval graphs and circular-arc graphs , 1982, Networks.

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

[6]  G. Khosrovshahi,et al.  Computing the bandwidth of interval graphs , 1990 .

[7]  Xiaozhou Li,et al.  Efficient eventual consistency in Pahoehoe, an erasure-coded key-blob archive , 2010, 2010 IEEE/IFIP International Conference on Dependable Systems & Networks (DSN).

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

[9]  Kevin Lee,et al.  Data Consistency Properties and the Trade-offs in Commercial Cloud Storage: the Consumers' Perspective , 2011, CIDR.

[10]  Daniel J. Kleitman,et al.  Computing the Bandwidth of Interval Graphs , 1990, SIAM Journal on Discrete Mathematics.

[11]  Christos H. Papadimitriou,et al.  The NP-Completeness of the bandwidth minimization problem , 1976, Computing.

[12]  R. Varga,et al.  Proof of Theorem 4 , 1983 .

[13]  Rida A. Bazzi,et al.  On the Availability of Non-strict Quorum Systems , 2005, DISC.

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

[15]  David S. Johnson,et al.  COMPLEXITY RESULTS FOR BANDWIDTH MINIMIZATION , 1978 .

[16]  Jayadev Misra Axioms for memory access in asynchronous hardware systems , 1986, TOPL.

[17]  Richard N. Taylor,et al.  Complexity of analyzing the synchronization structure of concurrent programs , 1983, Acta Informatica.

[18]  Michel Raynal,et al.  Timed consistency for shared distributed objects , 1999, PODC '99.

[19]  Arthur J. Bernstein,et al.  Bounded ignorance in replicated systems , 1991, PODS.

[20]  Xiaozhou Li,et al.  What Consistency Does Your Key-Value Store Actually Provide? , 2010, HotDep.

[21]  Jessica K. Hodgins,et al.  Temporal notions of synchronization and consistency in Beehive , 1997, SPAA '97.

[22]  Phillip B. Gibbons,et al.  Testing Shared Memories , 1997, SIAM J. Comput..

[23]  Mikko H. Lipasti,et al.  The complexity of verifying memory coherence and consistency , 2005, IEEE Transactions on Parallel and Distributed Systems.

[24]  James B. Saxe,et al.  Dynamic-Programming Algorithms for Recognizing Small-Bandwidth Graphs in Polynomial Time , 1980, SIAM J. Algebraic Discret. Methods.

[25]  Alan Fekete,et al.  Quantifying Isolation Anomalies , 2009, Proc. VLDB Endow..

[26]  Amin Vahdat,et al.  Design and evaluation of a conit-based continuous consistency model for replicated services , 2002, TOCS.

[27]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.