1/k phase stamping for continuous shared data (extended abstract)

Interactive distributed applications are a relatively new class of applications that are enabled by sharing continuously evolving data across distributed sites (and users). The characteristics of application data include very fine-grained updates that can atomically access a subset of the shared data, masking of update effects, and irregular locality and contention for access. Existing programming approaches are not appropriate for programming such continuous shared data in a wide-area environment. We define an object-set abstraction, where a set is replicated at sites interested in the objects, and is modified using add, delete and update operations. The key features of this abstraction are issue-time access information for update operations, and the potential for replicating the computation associated with updates. Ordering of operations is an important problem, and we present a fast, scalable ordering algorithm, 1/k phase stamping, that uses distributed tokens that correspond to objects in the set. This algorithm provides substantially better performance than alternative algorithms, is deadlock and abort free, and requires no queuing at the tokens. Therefore, tokens can be located inside a programmable 'active' network. The precise stamps generated with 1/k phase stamping enable a dynamic communication optimization technique, effect and stamp merging, which can reduce communication and allow utilization of best-effort message delivery. These algorithms have been implemented in the RAGA system which can tolerate crash failures.

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

[2]  Partha Dasgupta,et al.  The five color concurrency control protocol: non-two-phase locking in general databases , 1990, TODS.

[3]  Andrew S. Tanenbaum,et al.  Group communication in the Amoeba distributed operating system , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[4]  Gail E. Kaiser,et al.  Concurrency control in advanced database applications , 1991, CSUR.

[5]  Karsten Schwan,et al.  Exploiting Temporal and Spatial Constraints on Distributed Shared Objects , 1997, ICDCS.

[6]  Alain Karsenty,et al.  An algorithm for distributed groupware applications , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[7]  Jessica K. Hodgins,et al.  Temporal notions of synchronization and consistency in Beehive , 1997, SPAA '97.

[8]  Atul Prakash,et al.  Concurrency control and view notification algorithms for collaborative replicated objects , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

[9]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[10]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

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

[12]  Mustaque Ahamad,et al.  Workload modeling for highly interactive applications , 1999, SIGMETRICS '99.

[13]  Guruduth Banavar,et al.  Responsiveness and consistency tradeoffs in interactive groupware , 1998, CSCW '98.

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

[15]  Mustaque Ahamad,et al.  Replication in interactive distributed applications: abstractions, algorithms and evaluation , 1999 .