A Generic Framework for Indulgent Consensus

  • Authors:
  • Rachid GUERRAOUI;Michel Raynal

  • Affiliations:
  • -;-

  • Venue:
  • ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Consensus is a fundamental distributed agreement problemthat has to be solved when one has to design or implementreliable applications. As consensus cannot be solvedin pure asynchronous distributed systems, those systemshave to be equipped with appropriate oracles to circumventthe impossibility. Several oracles (unreliable failure detector,leader capability, random number generator) have beenproposed, and consensus protocols based on such ad hoc oracleshave been designed. This paper presents a genericconsensus framework that can be instantiated with any oracle,or combination of oracles, that satisfies a set of properties.This generic framework provides indulgent consensusprotocols that are particularly simple and efficient both inwell-behaved runs (i.e., when there are no failures), and instable runs (i.e., when there is no failure during the executionalthough some processes can be initially crashed). Inthose runs, the protocols terminate in two communicationsteps (which is optimal). Indulgence means that the resultingprotocol never violates its safety property even whenthe underlying oracle behaves arbitrarily. Interestingly, theprotocol can also allow processes to decide in one communicationstep in some specific configurations.