Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Sharing memory robustly in message-passing systems
Journal of the ACM (JACM)
Efficient and robust sharing of memory in message-passing systems
Journal of Algorithms
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Distributed computing: fundamentals, simulations and advanced topics
Distributed computing: fundamentals, simulations and advanced topics
Distributed Algorithms
Failure Detection and Consensus in the Crash-Recovery Model
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)
How fast can a distributed atomic read be?
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
Reliable and total order broadcast in the crash-recovery model
Journal of Parallel and Distributed Computing
Optimistic Erasure-Coded Distributed Storage
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
Hi-index | 0.00 |
This article considers the problem of robustly emulating a shared atomic memory over a distributed message-passing system where processes can fail by crashing and possibly recover. We revisit the notion of atomicity in the crash-recovery context and introduce a generic algorithm that emulates an atomic memory. The algorithm is instantiated for various settings according to whether processes have access to local stable storage, and whether, in every execution of the algorithm, a sufficient number of processes are assumed not to crash. We establish the optimality of specific instances of our algorithm in terms of resilience, log complexity (number of stable storage accesses needed in every read or write operation), as well as time complexity (number of communication steps needed in every read or write operation). The article also discusses the impact of considering a multiwriter versus a single-writer memory, as well as the impact of weakening the consistency of the memory by providing safe or regular semantics instead of atomicity.