A scalable technique for implementing multiple consistency levels for distributed objects

In large scale distributed systems, caching and replication could greatly speedup access and increase availability. Consistency of replicated state can be guaranteed by forcing operations to occur in the same order at all sites. However some applications can preserve correctness with weaker consistency requirements leading to better performance. We propose an object lifetime based mutual consistency detection mechanism that is used to implement multiple consistency levels. This mechanism provides scalable implementations because caching overheads at client nodes depend only on the accesses done at the node. A contribution of this paper is the separation of the the mutual consistency detection mechanism from the policy that decides the desired consistency guarantees. This allows multiple consistency levels to coexist, thus improving system performance through the use of weaker consistency levels when possible. Besides improving performance, the mechanism allows for a graceful weakening of consistency requirements when stronger requirements cannot be maintained, as in the case of disconnection that can be experienced in mobile environments. The mutual consistency detection mechanism also provides a uniform way of hoarding a mutually consistent set of objects during voluntary disconnection.

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

[2]  Qi Lu,et al.  Isolation-only transactions for mobile computing , 1994, OPSR.

[3]  Hector Garcia-Molina,et al.  Consistency in a partitioned network: a survey , 1985, CSUR.

[4]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[5]  Colin J. Fidge,et al.  Timestamps in Message-Passing Systems That Preserve the Partial Ordering , 1988 .

[6]  Richard D. Schlichting,et al.  Preserving and using context information in interprocess communication , 1989, TOCS.

[7]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

[8]  Mustaque Ahamad,et al.  Evaluation of Causal Distributed Shared Memory for Data-race-free Programs , 1994 .

[9]  Liuba Shrira,et al.  Providing high availability using lazy replication , 1992, TOCS.

[10]  Alley Stoughton,et al.  Detection of Mutual Inconsistency in Distributed Systems , 1983, IEEE Transactions on Software Engineering.

[11]  Mustaque Ahamad,et al.  Detecting Mutual Consistency of Shared Objects , 1994, 1994 First Workshop on Mobile Computing Systems and Applications.

[12]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[13]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[14]  Mahadev Satyanarayanan,et al.  Disconnected Operation in the Coda File System , 1999, Mobidata.