ACM Transactions on Programming Languages and Systems (TOPLAS)
The five color concurrency control protocol: non-two-phase locking in general databases
ACM Transactions on Database Systems (TODS)
Introduction to algorithms
Concurrency control in advanced database applications
ACM Computing Surveys (CSUR)
Lightweight causal and atomic group multicast
ACM Transactions on Computer Systems (TOCS)
Managing update conflicts in Bayou, a weakly connected replicated storage system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Temporal notions of synchronization and consistency in Beehive
Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures
Concurrency Control and View Notification Algorithms for Collaborative Replicated Objects
IEEE Transactions on Computers
Workload modeling for highly interactive applications
SIGMETRICS '99 Proceedings of the 1999 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Responsiveness and consistency tradeoffs in interactive groupware
CSCW '98 Proceedings of the 1998 ACM conference on Computer supported cooperative work
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Exploiting Temporal and Spatial Constraints on Distributed Shared Objects
ICDCS '97 Proceedings of the 17th International Conference on Distributed Computing Systems (ICDCS '97)
Replication in interactive distributed applications: abstractions, algorithms and evaluation
Replication in interactive distributed applications: abstractions, algorithms and evaluation
Unconscious eventual consistency with gossips
SSS'06 Proceedings of the 8th international conference on Stabilization, safety, and security of distributed systems
Hi-index | 0.00 |
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.