Fine-tuning the consistency-latency trade-off in quorum-replicated distributed storage systems

NoSQL storage systems are used extensively by web applications and provide an attractive alternative to conventional databases when the need for scalability outweighs the need for transactions. Several of these systems, notably Amazon's Dynamo and its open-source derivatives, provide quorum-based replication and present the application developer with a choice of multiple client-side "consistency levels" that determine the number of replicas accessed by reads and writes. This setting, in turn, affects both the latency and the consistency observed by the client application. Since using a fixed combination of read and write consistency levels for a given application provides only a limited number of discrete options for tuning the consistency-latency trade-off, we investigate techniques that allow more fine-grained tuning as may be required to support consistency guarantees through service level agreements (SLAs). We consider two such techniques, a novel technique that assigns the consistency level on a peroperation basis by choosing randomly between two options (e.g., weak vs. strong consistency) with a tunable probability, and a known technique that uses weak consistency and injects delays into storage operations artificially. We compare and contrast these two techniques experimentally against each other and against combinations of fixed consistency levels using Apache Cassandra deployed in Amazon's EC2 environment.

[1]  Eric A. Brewer,et al.  Towards robust distributed systems (abstract) , 2000, PODC '00.

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

[3]  Lewis Tseng,et al.  Characterizing and Adapting the Consistency-Latency Tradeoff in Distributed Key-Value Stores , 2015, ACM Trans. Auton. Adapt. Syst..

[4]  David Bermbach,et al.  Eventual consistency: How soon is eventual? An evaluation of Amazon S3's consistency behavior , 2011, MW4SOC '11.

[5]  Daniel J. Abadi,et al.  Consistency Tradeoffs in Modern Distributed Database System Design: CAP is Only Part of the Story , 2012, Computer.

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

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

[8]  Brian F. Cooper Spanner: Google's globally-distributed database , 2013, SYSTOR '13.

[9]  Ion Stoica,et al.  Probabilistically Bounded Staleness for Practical Partial Quorums , 2012, Proc. VLDB Endow..

[10]  Indranil Gupta,et al.  Client-Centric Benchmarking of Eventual Consistency for Cloud Storage Systems , 2014, ICDCS.

[11]  Ali Ghodsi,et al.  Bolt-on causal consistency , 2013, SIGMOD '13.

[12]  Michael K. Reiter,et al.  Probabilistic quorum systems , 1997, PODC '97.

[13]  Hua Fan,et al.  Understanding the Causes of Consistency Anomalies in Apache Cassandra , 2015, Proc. VLDB Endow..

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

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

[16]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.

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

[18]  Bettina Kemme,et al.  How consistent is your cloud application? , 2012, SoCC '12.

[19]  Xiaozhou Li,et al.  Analyzing consistency properties for fun and profit , 2011, PODC '11.

[20]  Prashant Malik,et al.  Cassandra: a decentralized structured storage system , 2010, OPSR.

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

[22]  William H. Sanders,et al.  An Adaptive Quality of Service Aware Middleware for Replicated Services , 2003, IEEE Trans. Parallel Distributed Syst..

[23]  Marcos K. Aguilera,et al.  Consistency-based service level agreements for cloud storage , 2013, SOSP.

[24]  Hans-Arno Jacobsen,et al.  PNUTS: Yahoo!'s hosted data serving platform , 2008, Proc. VLDB Endow..

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

[26]  Douglas B. Terry,et al.  A Self-Configurable Geo-Replicated Cloud Storage System , 2014, OSDI.

[27]  Marvin Theimer,et al.  Managing update conflicts in Bayou, a weakly connected replicated storage system , 1995, SOSP.