How to share memory in a distributed system
Journal of the ACM (JACM)
Exploiting virtual synchrony in distributed systems
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Sharing memory robustly in message-passing systems
Journal of the ACM (JACM)
ACM Transactions on Computer Systems (TOCS)
A Majority consensus approach to concurrency control for multiple copy databases
ACM Transactions on Database Systems (TODS)
Distributed Algorithms
How to Build a Highly Available System Using Consensus
WDAG '96 Proceedings of the 10th International Workshop on Distributed Algorithms
Top-Down Considerations on Distributed Computing
DISC '98 Proceedings of the 12th International Symposium on Distributed Computing
RAMBO: A Reconfigurable Atomic Memory Service for Dynamic Networks
DISC '02 Proceedings of the 16th International Conference on Distributed Computing
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)
How fast can a distributed atomic read be?
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
FAB: building distributed enterprise disk arrays from commodity components
ASPLOS XI Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
Developing a Consistent Domain-Oriented Distributed Object Service
NCA '05 Proceedings of the Fourth IEEE International Symposium on Network Computing and Applications
Atomic shared register access by asynchronous hardware
SFCS '86 Proceedings of the 27th Annual Symposium on Foundations of Computer Science
Timed quorum systems for large-scale and dynamic environments
OPODIS'07 Proceedings of the 11th international conference on Principles of distributed systems
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
Multi-writer regular registers in dynamic distributed systems with byzantine failures
Proceedings of the 3rd International Workshop on Theoretical Aspects of Dynamic Distributed Systems
An algorithm for implementing BFT registers in distributed systems with bounded churn
SSS'11 Proceedings of the 13th international conference on Stabilization, safety, and security of distributed systems
Ramos: Concurrent writing and reconfiguration for collaborative systems
Journal of Parallel and Distributed Computing
Brief announcement: atomic consistency and partition tolerance in scalable key-value stores
DISC'12 Proceedings of the 26th international conference on Distributed Computing
CATS: a linearizable and self-organizing key-value store
Proceedings of the 4th annual Symposium on Cloud Computing
A protocol for implementing byzantine storage in churn-prone distributed systems
Theoretical Computer Science
Hi-index | 0.00 |
This paper presents a new algorithm for implementing a reconfigurable distributed shared memory in an asynchronous dynamic network. The algorithm guarantees atomic consistency (linearizability) in all executions in the presence of arbitrary crash failures of the processing nodes, message delays, and message loss. The algorithm incorporates a classic quorum-based algorithm for read/write operations, and an optimized consensus protocol, based on Fast Paxos for reconfiguration, and achieves the design goals of: (i) allowing read and write operations to complete rapidly and (ii) providing long-term fault-tolerance through reconfiguration, a process that evolves the quorum configurations used by the read and write operations. The resulting algorithm tolerates dynamism. We formally prove our algorithm to be correct, we present its performance and compare it to existing reconfigurable memories, and we evaluate experimentally the cost of its reconfiguration mechanism.