ABSTRACT
CRDTs are highly available replicated data structures which offer strong eventual consistency in the face of concurrent operations [3]. By their definition, CRDTs eventually converge to a consistent state given enough time. However, this is not strict enough for some distributed applications. Current state-of-the-art CRDT implementations fail to provide programmers with the means to specify these constraints. As a result, programmers need to write application-level code which ignores stale or timed-out operations. In this paper, we introduce a leasing model which allows programmers to declaratively specify timing constraints for CRDTs. In short, programmers are able to attach leases to operations on a CRDT instance. When such a lease expires the underlying implementation ensures that the operation is eventually canceled for all replicas.
- T. Van Cutsem, S. Mostinckx, E. Gonzalez Boix, J. Dedecker, and W. De Meuter. 2007. AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad hoc Networks. In Chilean Society of Computer Science, 2007. SCCC '07. XXVI International Conference of the. 3--12. Google ScholarDigital Library
- C. Gray and D. Cheriton. 1989. Leases: An Efficient Fault-tolerant Mechanism for Distributed File Cache Consistency. SIGOPS Oper. Syst. Rev. 23, 5 (Nov. 1989), 202--210. Google ScholarDigital Library
- M. Shapiro, N. Preguiça, C. Baquero, and M. Zawirski. 2011. A comprehensive study of Convergent and Commutative Replicated Data Types. Technical Report 7506.Google Scholar
Index Terms
- Constraining the eventual in eventual consistency
Recommendations
Verifying strong eventual consistency in distributed systems
Data replication is used in distributed systems to maintain up-to-date copies of shared data across multiple computers in a network. However, despite decades of research, algorithms for achieving consistency in replicated systems are still poorly ...
The Weakest Failure Detector for Eventual Consistency
PODC '15: Proceedings of the 2015 ACM Symposium on Principles of Distributed ComputingIn its classical form, a consistent replicated service requires all replicas to witness the same evolution of the service state. Assuming a message-passing environment with a majority of correct processes, the necessary and sufficient information about ...
Eventual consistency: How soon is eventual? An evaluation of Amazon S3's consistency behavior
MW4SOC '11: Proceedings of the 6th Workshop on Middleware for Service Oriented ComputingOver the last few years, Cloud storage systems and so-called NoSQL datastores have found widespread adoption. In contrast to traditional databases, these storage systems typically sacrifice consistency in favor of latency and availability as mandated by ...
Comments