Reliable communication in the presence of failures
ACM Transactions on Computer Systems (TOCS)
On the minimal synchronism needed for distributed consensus
Journal of the ACM (JACM)
Consensus in the presence of partial synchrony
Journal of the ACM (JACM)
Early stopping in Byzantine agreement
Journal of the ACM (JACM)
Unreliable failure detectors for asynchronous systems (preliminary version)
PODC '91 Proceedings of the tenth annual ACM symposium on Principles of distributed computing
The weakest failure detector for solving consensus
PODC '92 Proceedings of the eleventh annual ACM symposium on Principles of distributed computing
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Building Secure and Reliable Network Applications
Building Secure and Reliable Network Applications
SIGMOD '81 Proceedings of the 1981 ACM SIGMOD international conference on Management of data
Revistiting the Relationship Between Non-Blocking Atomic Commitment and Consensus
WDAG '95 Proceedings of the 9th International Workshop on Distributed Algorithms
Randomization and Failure Detection: A Hybrid Approach to Solve Consensus
WDAG '96 Proceedings of the 10th International Workshop on Distributed Algorithms
Notes on Data Base Operating Systems
Operating Systems, An Advanced Course
Unreliable Intrusion Detection in Distributed Computations
CSFW '97 Proceedings of the 10th IEEE workshop on Computer Security Foundations
Consensus: The Big Misunderstanding
FTDCS '97 Proceedings of the 6th IEEE Workshop on Future Trends of Distributed Computing Systems
k-set agreement with limited accuracy failure detectors
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Indulgent algorithms (preliminary version)
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Computing Global Functions in Asynchronous Distributed Systems with Perfect Failure Detectors
IEEE Transactions on Parallel and Distributed Systems
Implementing E-Transactions with Asynchronous Replication
IEEE Transactions on Parallel and Distributed Systems
Consensus-based fault-tolerant total order multicast
IEEE Transactions on Parallel and Distributed Systems
The inherent price of indulgence
Proceedings of the twenty-first annual symposium on Principles of distributed computing
A Versatile Family of Consensus Protocols Based on Chandra-Toueg's Unreliable Failure Detectors
IEEE Transactions on Computers
An Efficient Solution to the k-Set Agreement Problem
EDCC-4 Proceedings of the 4th European Dependable Computing Conference on Dependable Computing
Fast Indulgent Consensus with Zero Degradation
EDCC-4 Proceedings of the 4th European Dependable Computing Conference on Dependable Computing
Consistent Lamport Clocks for Asynchronous Groups with Process Crashes
PaCT '999 Proceedings of the 5th International Conference on Parallel Computing Technologies
Proceedings of the 13th International Symposium on Distributed Computing
Distributed Agreement and Its Relation with Error-Correcting Codes
DISC '02 Proceedings of the 16th International Conference on Distributed Computing
On the Impact of Fast Failure Detectors on Real-Time Fault-Tolerant Systems
DISC '02 Proceedings of the 16th International Conference on Distributed Computing
Unreliable Failure Detectors with Limited Scope Accuracy and an Application to Consensus
Proceedings of the 19th Conference on Foundations of Software Technology and Theoretical Computer Science
Consensus in Asynchronous Distributed Systems: A Concise Guided Tour
Advances in Distributed Systems, Advanced Distributed Computing: From Algorithms to Systems
Consensus in byzantine asynchronous systems
Journal of Discrete Algorithms
A necessary and sufficient condition for transforming limited accuracy failure detectors
Journal of Computer and System Sciences
Eventually consistent failure detectors
Journal of Parallel and Distributed Computing
The inherent price of indulgence
Distributed Computing - Special issue: PODC 02
Design and Performance Evaluation of Efficient Consensus Protocols for Mobile Ad Hoc Networks
IEEE Transactions on Computers
Using asynchrony and zero degradation to speed up indulgent consensus protocols
Journal of Parallel and Distributed Computing
A methodology to design arbitrary failure detectors for distributed protocols
Journal of Systems Architecture: the EUROMICRO Journal
Open questions on consensus performance in well-behaved runs
Future directions in distributed computing
Future directions in distributed computing
The failure detector abstraction
ACM Computing Surveys (CSUR)
Eventually consistent failure detectors
EUROMICRO-PDP'02 Proceedings of the 10th Euromicro conference on Parallel, distributed and network-based processing
Performance tuning of failure detectors in wireless ad-hoc networks: modelling and experiments
EPEW'05/WS-FM'05 Proceedings of the 2005 international conference on European Performance Engineering, and Web Services and Formal Methods, international conference on Formal Techniques for Computer Systems and Business Processes
DISC'05 Proceedings of the 19th international conference on Distributed Computing
Hi-index | 0.01 |
The Consensus problem is a fundamental paradigm for fault-tolerant asynchronous systems. It abstracts a family of problems known as Agreement (or Coordination) problems. Any solution to consensus can serve as a basic building block for solving such problems (e.g., atomic commitment or atomic broadcast). Solving consensus in an asynchronous system is not a trivial task: it has been proven (1985) by Fischer, Lynch and Paterson that there is no deterministic solution in asynchronous systems which are subject to even a single crash failure. To circumvent this impossibility result, Chandra and Toueg have introduced the concept of unreliable failure detectors (1991), and have studied how these failure detectors can be used to solve consensus in asynchronous systems with crash failures. This paper presents a new consensus protocol that uses a failure detector of the class ♦J. Like previous protocols, it is based on the rotating coordinator paradigm and proceeds in asynchronous rounds. Simplicity and efficiency are the main characteristics of this protocol. From a performance point of view, the protocol is particularly efficient when, whether failures occur or not, the underlying failure detector makes no mistake (a common case in practice). From a design point of view, the protocol is based on the combination of three simple mechanisms: a voting mechanism, a small finite state automaton which manages the behavior of each process, and the possibility for a process to change its mind during a round.