Abstract
Conflicts naturally arise in optimistically replicated systems. The common way to detect update conflicts is via version vectors, whose storage and communication overhead are number of replicas × number of objects. These costs may be prohibitive for large systems. This paper presents predecessor vectors with exceptions (PVEs), a novel optimistic replication technique developed for Microsoft’s WinFS system. The paper contains a systematic study of PVE’s performance gains over traditional schemes. The results demonstrate a dramatic reduction of storage and communication overhead in normal scenarios, during which communication disruptions are infrequent. Moreover, they identify a cross-over threshold in communication failure-rate, beyond which PVEs loses efficiency compared with traditional schemes.
Similar content being viewed by others
References
Almeida, J.B., Almeida, P.S., Bacquero, C.: Bounded version vectors. In: Proceedings International Symposium on Distributed Computing (DISC), pp. 102–116 (2004)
Arora, A., Kulkarni, S.S., Demirbas, M.: Resettable vector clocks. In: 19th Symposium on Principles of Distributed Computing (PODC) (2000)
Fidge, C.: Timestamps in message-passing systems that preserve the partial ordering. In: Proceedings of the 11th Australian Computer Science Conference, pp. 56–66 (1988)
Fischer, M.J., Michael, A.: Sacrificing serializability to attain high availability of data in an unreliable network. In: Proceedings SIGACT-SIGMOD Symposium on Principles of Database Systems, March (1982)
Huang, Y.-W., Yu, P.: Lightweight version vectors for pervasive computing devices. In: Proceedings IEEE International Workshops on Parallel Processing, pp. 43–48 (2000)
Parker D.S., Popek G.J., Rudisin G., Stoughton A., Walker B. J., Walton E., Chow J.M., Kiser S., Edwards D. and Kline C. (1992). Detection of mutual inconsistency in distributed systems. IEEE Trans Softw Eng 9(3): 240–247
Page, T.W., Jr., Guy, R.G., Heidemann, J.S., Ratner, D.H., Reiher, P.L., Goel, A., Kuenning, G.H., Popek, G.: Perspectives on optimistically replicated peer-to-peer filing. In: Software—practice and experience, vol. 11(1), December (1997)
Kistler J.J. and Satyanarayanan M. (1992). Disconnected operation in the Coda file system. ACM Trans Comput Syst 10(1): 3–25
Ladin R., Liskov B., Shrira L. and Ghemawat S. (1992). Providing high availability using lazy replication. ACM Trans Comput Syst 10(4): 360–391
Novik, L., Hudis, I., Terry, D.B., Anand, S., Jhaveri, V.J., Shah, A., Wu, Y.: Peer-to-peer replication in WinFS. Technical Report MSR-TR-2006-78, Microsoft, June (2006)
Ratner, D.H.: Roam: A Scalable Replication System for Mobile and Distributed Computing. PhD thesis, 1998. UCLA Technical report UCLA-CSD-970044 (1998)
Saito, Y.: Unilateral version vector pruning using loosely synchronized clocks. Technical Report Technical Report HPL-2002, HP
Schwarz R. and Mattern F. (1994). Detecting causal relationships in distributed computations: in search of the holy grail. Distrib Comput 7(3): 149–174
Terry, D.B., Theimer, M.M., Petersen, K., Demers, A.J., Spreitzer, M.J., Hauser, C.: Managing update conflicts in Bayou, a weakly connected replicated storage system. In: Proceedings 15th Symposium on Operating Systems Principles (SOSP), pp. 172–183, December (1995)
Torres-Rojas F. and Ahamad M. (1999). Plausible clocks: constant size logical clocks for distributed systems. Distrib Comput 12(4): 179–196
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Malkhi, D., Terry, D. Concise version vectors in WinFS. Distrib. Comput. 20, 209–219 (2007). https://doi.org/10.1007/s00446-007-0044-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-007-0044-y