How to share memory in a distributed system
Journal of the ACM (JACM)
Dynamic quorum adjustment for partitioned data
ACM Transactions on Database Systems (TODS)
Exploiting virtual synchrony in distributed systems
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Epidemic algorithms for replicated database maintenance
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Dynamic voting algorithms for maintaining the consistency of a replicated database
ACM Transactions on Database Systems (TODS)
Weak-consistency group communication and membership
Weak-consistency group communication and membership
Sharing memory robustly in message-passing systems
Journal of the ACM (JACM)
Dynamic voting for consistent primary components
PODC '97 Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing
ACM Transactions on Computer Systems (TOCS)
ACM Transactions on Computer Systems (TOCS)
A Majority consensus approach to concurrency control for multiple copy databases
ACM Transactions on Database Systems (TODS)
An efficient, fault-tolerant protocol for replicated data management
PODS '85 Proceedings of the fourth ACM SIGACT-SIGMOD symposium on Principles of database systems
Bayou: replicated database services for world-wide applications
EW 7 Proceedings of the 7th workshop on ACM SIGOPS European workshop: Systems support for worldwide applications
Distributed Algorithms
Scalable Update Propagation in Epidemic Replicated Databases
EDBT '96 Proceedings of the 5th International Conference on Extending Database Technology: Advances in Database Technology
RAMBO: A Reconfigurable Atomic Memory Service for Dynamic Networks
DISC '02 Proceedings of the 16th International Conference on Distributed Computing
ACM Transactions on Computer Systems (TOCS)
Robust emulation of shared memory using dynamic quorum-acknowledged broadcasts
FTCS '97 Proceedings of the 27th International Symposium on Fault-Tolerant Computing (FTCS '97)
Weighted voting for replicated data
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
Graceful Quorum Reconfiguration in a Robust Emulation of Shared Memory
ICDCS '00 Proceedings of the The 20th International Conference on Distributed Computing Systems ( ICDCS 2000)
HIERARCHICAL CORRECTNESS PROOFS FOR DISTRIBUTED ALGORITHMS
HIERARCHICAL CORRECTNESS PROOFS FOR DISTRIBUTED ALGORITHMS
Spreading rumors cheaply, quickly, and reliably
Spreading rumors cheaply, quickly, and reliably
On the Robustness of (Semi) Fast Quorum-Based Implementations of Atomic Shared Memory
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
Evaluating a Dependable Sharable Atomic Data Service on a Planetary-Scale Network
ICA3PP '09 Proceedings of the 9th International Conference on Algorithms and Architectures for Parallel Processing
On the Efficiency of Atomic Multi-reader, Multi-writer Distributed Memory
OPODIS '09 Proceedings of the 13th International Conference on Principles of Distributed Systems
Online selection of quorum systems for RAMBO reconfiguration
CP'09 Proceedings of the 15th international conference on Principles and practice of constraint programming
Hi-index | 5.23 |
Shareable data services providing consistency guarantees, such as atomicity (linearizability), make building distributed systems easier. However, combining linearizability with efficiency in practical algorithms is difficult. A reconfigurable linearizable data service, called Rambo, was developed by Lynch and Shvartsman. This service guarantees consistency under dynamic conditions involving asynchrony, message loss, node crashes, and new node arrivals. The specification of the original algorithm is given at an abstract level aimed at concise presentation and formal reasoning about correctness. The algorithm propagates information by means of gossip messages. If the service is in use for a long time, the size and the number of gossip messages may grow without bound. This paper presents a consistent data service for long-lived objects that improves on Rambo in two ways: it includes an incremental communication protocol and a leave service. The new protocol takes advantage of the local knowledge, and carefully manages the size of messages by removing redundant information, while the leave service allows the nodes to leave the system gracefully. The new algorithm is formally proved correct by forward simulation using levels of abstraction. An experimental implementation of the system was developed for networks-of-workstations. The paper also includes selected analytical and preliminary empirical results that illustrate the advantages of the new algorithm.