Consensus in the presence of partial synchrony
Journal of the ACM (JACM)
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)
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Unreliable failure detectors for reliable distributed systems
Journal of the ACM (JACM)
PODC '97 Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing
Fault-tolerant wait-free shared objects
Journal of the ACM (JACM)
ACM Transactions on Computer Systems (TOCS)
Practical Byzantine fault tolerance
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
A Majority consensus approach to concurrency control for multiple copy databases
ACM Transactions on Database Systems (TODS)
Reaching Agreement in the Presence of Faults
Journal of the ACM (JACM)
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
A method for obtaining digital signatures and public-key cryptosystems
Communications of the ACM
DISC '02 Proceedings of the 16th International Conference on Distributed Computing
Weighted voting for replicated data
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
Synchronous Consensus for Dependent Process Failures
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Separating agreement from execution for byzantine fault tolerant services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Efficient Byzantine-Tolerant Erasure-Coded Storage
DSN '04 Proceedings of the 2004 International Conference on Dependable Systems and Networks
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
Distributed Computing
Fault-scalable Byzantine fault-tolerant services
Proceedings of the twentieth ACM symposium on Operating systems principles
Lucky Read/Write Access to Robust Atomic Storage
DSN '06 Proceedings of the International Conference on Dependable Systems and Networks
Quorum placement in networks: minimizing network congestion
Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing
How fast can a very robust read be?
Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing
IEEE Transactions on Dependable and Secure Computing
HQ replication: a hybrid quorum protocol for byzantine fault tolerance
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
Lower bounds for asynchronous consensus
Future directions in distributed computing
Parsimonious asynchronous byzantine-fault-tolerant atomic broadcast
OPODIS'05 Proceedings of the 9th international conference on Principles of Distributed Systems
On the robustness of (semi) fast quorum-based implementations of atomic shared memory
Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing
On the Robustness of (Semi) Fast Quorum-Based Implementations of Atomic Shared Memory
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
Optimizing Threshold Protocols in Adversarial Structures
DISC '08 Proceedings of the 22nd international symposium on Distributed Computing
Fault-tolerant semifast implementations of atomic read/write registers
Journal of Parallel and Distributed Computing
On the Time-Complexity of Robust and Amnesic Storage
OPODIS '08 Proceedings of the 12th International Conference on Principles of Distributed Systems
Low-latency access to robust amnesic storage
LADIS '08 Proceedings of the 2nd Workshop on Large-Scale Distributed Systems and Middleware
Efficient Robust Storage Using Secret Tokens
SSS '09 Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems
On the Efficiency of Atomic Multi-reader, Multi-writer Distributed Memory
OPODIS '09 Proceedings of the 13th International Conference on Principles of Distributed Systems
The complexity of robust atomic storage
Proceedings of the 30th annual ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Hi-index | 0.00 |
It is considered good distributed computing practice to devise object implementations that tolerate contention, periods of asynchrony and a large number of failures, but perform fast if few failures occur, the system is synchronous and there is no contention. This paper initiates the first study of quorum systems that help design such implementations by encompassing, at the same time, optimal resilience (just like traditional quorum systems), as well as optimal best-case complexity (unlike traditional quorum systems). We introduce the notion of a refined quorum system (RQS) of some set S as a set of three classes of subsets (quorums) of S: firstclass quorums are also second class quorums, themselves being also third class quorums. First class quorums have large intersections with all other quorums, second class quorums typically have smaller intersections with those of the third class, the latter simply correspond to traditional quorums. Intuitively, under uncontended and synchronous conditions, a distributed object implementation would expedite an operation if a quorum of the first class is accessed, then degrade gracefully depending on whether a quorum of the second or the third class is accessed. Our notion of refined quorum system is devised assuming a general adversary structure, and this basically allows relying on refined quorum systems to relax the assumption of independent process failures, often questioned in practice. We illustrate the power of refined quorums by introducing two new optimal Byzantine-resilient distributed object implementations: anatomic storage and a consensus algorithm. Both match previously established resilience and best-case complexity lower bounds, closing open gaps, as well as new complexity bounds we establish here.