Dotted Version Vectors: Logical Clocks for Optimistic Replication
2010
Abstract
In cloud computing environments, a large number of users access data stored in highly available storage systems. To provide good performance to geographically disperse users and allow operation even in the presence of failures or network partitions, these systems often rely on optimistic replication solutions that guarantee only eventual consistency. In this scenario, it is important to be able to accurately and efficiently identify updates executed concurrently. In this paper, first we review, and expose problems with current approaches to causality tracking in optimistic replication: these either lose information about causality or do not scale, as they require replicas to maintain information that grows linearly with the number of clients or updates. Then, we propose a novel solution that fully captures causality while being very concise in that it maintains information that grows linearly only with the number of servers that register updates for a given data element, bounded by the degree of replication.
References (24)
- 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 Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, ser. SOSP '07. New York, NY, USA: ACM, 2007, pp. 205-220. [Online]. Available: http://doi.acm.org/10.1145/1294261.1294281
- A. Lakshman and P. Malik, "Cassandra: a decentralized structured storage system," SIGOPS Oper. Syst. Rev., vol. 44, pp. 35-40, April 2010. [Online]. Available: http://doi.acm.org/10.1145/1773912.1773922
- E. A. Brewer, "Towards robust distributed systems (abstract)," in Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing, ser. PODC '00. New York, NY, USA: ACM, 2000, pp. 7-. [Online]. Available: http://doi.acm.org/10.1145/343477.343502
- S. Gilbert and N. Lynch, "Brewer's conjecture and the feasibility of consistent available partition-tolerant web services," in In ACM SIGACT News, 2002, p. 2002.
- L. Lamport, "Time, clocks and the ordering of events in a distributed system," Communications of the ACM, vol. 21, no. 7, pp. 558-565, Jul. 1978.
- D. S. Parker, G. Popek, G. Rudisin, A. Stoughton, B. Walker, E. Walton, J. Chow, D. Edwards, S. Kiser, and C. Kline, "Detection of mutual inconsistency in distributed systems," Transactions on Software Engi- neering, vol. 9, no. 3, pp. 240-246, 1983.
- R. Schwarz and F. Mattern, "Detecting causal relation- ships in distributed computations: In search of the holy grail," Distributed Computing, vol. 3, no. 7, pp. 149- 174, 1994.
- M. Raynal and M. Singhal, "Logical time: Captur- ing causality in distributed systems," IEEE Computer, vol. 30, pp. 49-56, Feb. 1996.
- Y. Saito and M. Shapiro, "Optimistic replication," ACM Comput. Surv., vol. 37, pp. 42-81, March 2005. [Online]. Available: http://doi.acm.org/10.1145/ 1057977.1057980
- P. Mahajan, S. Setty, S. Lee, A. Clement, L. Alvisi, M. Dahlin, and M. Walfish, "Depot: Cloud storage with minimal trust," in OSDI 2010, Oct. 2010.
- D. Terry, A. Demers, K. Petersen, M. Spreitzer, M. Theimer, and B. Welch, "Session guarantees for weakly consistent replicated data," in International Conference on Parallel and Distributed Inormation Systems, Austin, TX, US, Sep. 1994.
- F. J. Torres-Rojas and M. Ahamad, "Plausible clocks: constant size logical clocks for distributed systems," Distributed Computing, vol. 12, no. 4, pp. 179-196, 1999.
- J. J. Kistler and M. Satyanarayanan, "Disconnected operation in the Coda file system," in Thirteenth ACM Symposium on Operating Systems Principles, vol. 25, Asilomar Conference Center, Pacific Grove, US, 1991, pp. 213-225.
- P. S. Almeida, C. Baquero, and V. Fonte, "Interval tree clocks," in Proceedings of the 12th International Conference on Principles of Distributed Systems, ser. OPODIS '08. Berlin, Heidelberg: Springer- Verlag, 2008, pp. 259-274. [Online]. Available: http://dx.doi.org/10.1007/978-3-540-92221-6 18
- C. Fidge, "Timestamps in message-passing systems that preserve the partial ordering," in 11th Australian Computer Science Conference, 1989, pp. 55-66.
- F. Mattern, "Virtual time and global clocks in dis- tributed systems," in Workshop on Parallel and Dis- tributed Algorithms, 1989, pp. 215-226.
- R. A. Golding, "A weak-consistency architecture for distributed information services," Computing Systems, vol. 5, pp. 5-4, 1992.
- K. Petersen, M. J. Spreitzer, D. B. Terry, M. M. Theimer, and A. J. Demers, "Flexible update propa- gation for weakly consistent replication," in Sixteen ACM Symposium on Operating Systems Principles, Saint Malo, France, Oct. 1997.
- B. Charron-Bost, "Concerning the size of logical clocks in distributed systems," Information Processing Letters, vol. 39, pp. 11-16, 1991.
- D. H. Ratner, "Roam: A scalable replication system for mobile and distributed computing," Ph.D. dissertation, 1998, uCLA-CSD-970044.
- R. Prakash and M. Singhal, "Dependency sequences and hierarchical clocks: Efficient alternatives to vector clocks for mobile computing systems," Wireless Net- works, pp. 349-360, 1997, also presented in Mobi- com96.
- D. Malkhi and D. B. Terry, "Concise version vectors in winfs," in DISC, ser. Lecture Notes in Computer Science, P. Fraigniaud, Ed., vol. 3724. Springer, 2005, pp. 339-353.
- V. Ramasubramanian, T. L. Rodeheffer, D. B. Terry, M. Walraed-Sullivan, T. Wobber, C. C. Marshall, and A. Vahdat, "Cimbiosys: a platform for content- based partial replication," in Proceedings of the 6th USENIX symposium on Networked systems design and implementation. Berkeley, CA, USA: USENIX Association, 2009, pp. 261-276. [Online]. Available: http://portal.acm.org/citation.cfm?id=1558977.1558995
- B. B. Kang, R. Wilensky, and J. Kubiatowicz, "The hash history approach for reconciling mutual inconsis- tency," in Proceedings of the 23nd International Con- ference on Distributed Computing Systems (ICDCS). IEEE Computer Society, 2003, pp. 670-677.