Title :
A generic framework for indulgent consensus
Author :
Guerraoui, Rachid ; Raynal, Michel
Author_Institution :
Distributed Programming Lab, Swiss Fed. Inst. of Technol., Lausanne, Switzerland
Abstract :
Consensus is a fundamental distributed agreement problem that has to be solved when one has to design or implement reliable applications. As consensus cannot be solved in pure asynchronous distributed systems, those systems have to be equipped with appropriate oracles to circumvent the impossibility. Several oracles (unreliable failure detector leader capability, random number generator) have been proposed, and consensus protocols based on such ad hoc oracles have been designed This paper presents a generic consensus framework that can be instantiated with any oracle, or combination of oracles, that satisfies a set of properties. This generic framework provides indulgent consensus protocols that are particularly simple and efficient both in well-behaved runs (i.e., when there are no failures), and in stable runs (i.e., when there is no failure during the execution although some processes can be initially crashed). In those runs, the protocols terminate in two communication steps (which is optimal). Indulgence means that the resulting protocol never violates its safety property even when the underlying oracle behaves arbitrarily. Interestingly, the protocol can also allow processes to decide in one communication step in some specific configurations.
Keywords :
distributed algorithms; fault tolerant computing; system recovery; asynchronous distributed system; fault tolerant computing; indulgent consensus protocol; oracle; system recovery; Computer crashes; Computer science; Context; Detectors; Distributed computing; Heart; Protocols; Random number generation; Safety; System recovery;
Conference_Titel :
Distributed Computing Systems, 2003. Proceedings. 23rd International Conference on
Print_ISBN :
0-7695-1920-2
DOI :
10.1109/ICDCS.2003.1203455