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)
The weakest failure detector for solving consensus
Journal of the ACM (JACM)
Structured derivations of consensus algorithms for failure detectors
PODC '98 Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing
ACM Transactions on Computer Systems (TOCS)
Distributed systems (2nd Ed.)
Indulgent algorithms (preliminary version)
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Active disk paxos with infinitely many processes
Proceedings of the twenty-first annual symposium on Principles of distributed computing
How to Build a Highly Available System Using Consensus
WDAG '96 Proceedings of the 10th International Workshop on Distributed Algorithms
DISC '00 Proceedings of the 14th International Conference on Distributed Computing
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
A principle for resilient sharing of distributed resources
ICSE '76 Proceedings of the 2nd international conference on Software engineering
ACM SIGACT News
Remote storage with byzantine servers
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Dissecting distributed computations
Future directions in distributed computing
Hi-index | 0.00 |
A universal construction is an algorithm that transforms any object with a sequential specification into a wait-free linearizable implementation of that object. This paper presents a novel universal construction algorithm for a message-passing system with process crash failures. Our algorithm relies on two fine-grained underlying abstractions: a weak form of leader election, and a one-shot form of register.Our algorithm is indulgent, efficient and generic. Being indulgent intuitively means that the algorithm preserves consistency even if the underlying system is asynchronous for arbitrary periods of time. Compared to other indulgent universal constructions, our algorithm uses fewer messages and gives rise to less work in steady-state. Our algorithm is generic in two senses: (1) although it is devised for a crash-stop model, it can be easily ported to various crash-recovery models, and (2) although it is optimized for steady-state periods, it can easily be extended to trade-off between steady-state performance and fail-over time.