ABSTRACT
Modern replicated data stores aim to provide high availability, by immediately responding to client requests, often by implementing objects that expose concurrency. Such objects, for example, multi-valued registers (MVRs), do not have sequential specifications. This paper explores a recent model for replicated data stores that can be used to precisely specify causal consistency for such objects, and liveness properties like eventual consistency, without revealing details of the underlying implementation. The model is used to prove the following results: An eventually consistent data store implementing MVRs cannot satisfy a consistency model strictly stronger than observable causal consistency (OCC). OCC is a model somewhat stronger than causal consistency, which captures executions in which client observations can use causality to infer concurrency of operations. This result holds under certain assumptions about the data store. Under the same assumptions, an eventually consistent and causally consistent replicated data store must send messages of unbounded size: If s objects are supported by n replicas, then, for every k > 1, there is an execution in which an Ω({n,s} k)-bit message is sent.
- The Apache Cassandra Project.Google Scholar
- M. Ahamad, G. Neiger, J. E. Burns, P. Kohli, and P. W. Hutto. Causal memory: definitions, implementation, and programming. Dist. Comp., 9(1), 1995.Google Scholar
- B. Alpern and F. B. Schneider. Defining liveness. Inf. Process. Lett., 21:181--185, October 1985.Google ScholarCross Ref
- P. Bailis, A. Fekete, A. Ghodsi, J. M. Hellerstein, and I. Stoica. The Potential Dangers of Causal Consistency and an Explicit Solution. In SoCC '12, pages 22:1--22:7. Google ScholarDigital Library
- P. Bailis and A. Ghodsi. Eventual consistency today: Limitations, extensions, and beyond. Commun. ACM, 56(5):55--63, May 2013. Google ScholarDigital Library
- P. Bailis, A. Ghodsi, J. M. Hellerstein, and I. Stoica. Bolt-on Causal Consistency. In SIGMOD '13, pages 761--772. Google ScholarDigital Library
- A. Bieniusa, M. Zawirski, N. Pregui\c ca, M. Shapiro, C. Baquero, V. Balegas, and S. Duarte. An Optimized Conflict-free Replicated Set. Technical Report RR-8083, INRIA, Oct. 2012.Google Scholar
- E. A. Brewer. Towards robust distributed systems. In PODC '00, page 7. Google ScholarDigital Library
- S. Burckhardt. Principles of Eventual Consistency. Found. and Trends in Programming Languages, 2014. Google ScholarDigital Library
- S. Burckhardt, A. Gotsman, H. Yang, and M. Zawirski. Replicated data types: Specification, verification, optimality. In POPL '14, pages 271--284. Google ScholarDigital Library
- S. Burckhardt, D. Leijen, J. Protzenko, and M. Fahndrich. Global Sequence Protocol: A Robust Abstraction for Replicated Shared State. In ECOOP '15.Google Scholar
- B. Charron-Bost. Concerning the Size of Logical Clocks in Distributed Systems. Inf. Process. Lett., 39(1):11--16, July 1991. Google ScholarDigital Library
- G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: Amazon's Highly Available Key-value Store. In SOSP '07, pages 205--220. Google ScholarDigital Library
- J. Du, S. Elnikety, A. Roy, and W. Zwaenepoel. Orbe: Scalable causal consistency using dependency matrices and physical clocks. In SOCC '13, pages 11:1--11:14. Google ScholarDigital Library
- J. Du, C. Iorgulescu, A. Roy, and W. Zwaenepoel. GentleRain: Cheap and Scalable Causal Consistency with Physical Clocks. In SoCC '14, pages 4:1--4:13. Google ScholarDigital Library
- J. Du, C. Iorgulescu, A. Roy, and W. Zwaenepoel. Closing The Performance Gap between Causal Consistency and Eventual Consistency. In Proceedings of the 1st Workshop on Principles and Practice of Eventual Consistency, 2014.Google Scholar
- C. J. Fidge. Partial orders for parallel debugging. ACM SIGPLAN Notices, 24(1):183--194, 1989. Google ScholarDigital Library
- S. Gilbert and N. Lynch. Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News, 33(2):51--59, June 2002. Google ScholarDigital Library
- M. P. Herlihy and J. M. Wing. Linearizability: a correctness condition for concurrent objects. ACM Trans. Prog. Lang. Syst., 12:463--492, July 1990. Google ScholarDigital Library
- L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, 21(7):558--565, July 1978. Google ScholarDigital Library
- W. Lloyd, M. J. Freedman, M. Kaminsky, and D. G. Andersen. Don't Settle for Eventual: Scalable Causal Consistency for Wide-area Storage with COPS. In SOSP '11, pages 401--416. Google ScholarDigital Library
- W. Lloyd, M. J. Freedman, M. Kaminsky, and D. G. Andersen. Stronger Semantics for Low-Latency Geo-Replicated Storage. In NSDI '13, pages 313--328. Google ScholarDigital Library
- P. Mahajan. Highly Available Storage with Minimal Trust. PhD thesis, The University Of Texas at Austin, Austin, TX, USA, May 2012.Google Scholar
- P. Mahajan, L. Alvisi, and M. Dahlin. Consistency, Availability, and Convergence. Technical Report TR-11--22, The University of Texas at Austin, 2011.Google Scholar
- F. Mattern. Virtual time and global states of distributed systems. In M. Consard and P. Quinton, editors, Parallel and Distributed Algorithm, pages 215--226. North-Holland, 1989.Google Scholar
- M. Perrin, A. Mostéfaoui, and C. Jard. Brief Announcement: Update Consistency in Partitionable Systems. In DISC '14, pages 546--547.Google Scholar
- M. Shapiro, N. Preguica, C. Baquero, and M. Zawirski. A comprehensive study of Convergent and Commutative Replicated Data Types. Technical Report RR-7506, INRIA, Jan. 2011.Google Scholar
- M. Shapiro, N. Preguiça, C. Baquero, and M. Zawirski. Conflict-free Replicated Data Types. In SSS '11, pages 386--400. Google ScholarDigital Library
- W. Vogels. Eventually consistent. Commun. ACM, 52(1):40--44, Jan. 2009. Google ScholarDigital Library
- M. Zawirski, A. Bieniusa, V. Balegas, S. Duarte, C. Baquero, M. Shapiro, and N. Preguica. SwiftCloud: Fault-Tolerant Geo-Replication Integrated all the Way to the Client Machine. Technical Report RR-8347, INRIA, Aug. 2013.Google Scholar
Index Terms
- Limitations of Highly-Available Eventually-Consistent Data Stores
Recommendations
Bolt-on causal consistency
SIGMOD '13: Proceedings of the 2013 ACM SIGMOD International Conference on Management of DataWe consider the problem of separating consistency-related safety properties from availability and durability in distributed data stores via the application of a "bolt-on" shim layer that upgrades the safety of an underlying general-purpose data store. ...
Limitations of Highly-Available Eventually-Consistent Data Stores
Modern replicated data stores aim to provide high availability, by immediately responding to client requests, often by implementing objects that expose concurrency. Such objects, for example, multi-valued registers (MVRs), do not have sequential ...
Declarative programming over eventually consistent data stores
PLDI '15User-facing online services utilize geo-distributed data stores to minimize latency and tolerate partial failures, with the intention of providing a fast, always-on experience. However, geo-distribution does not come for free; application developers ...
Comments