Time and message-efficient S-based consensus (brief announcement)

  • Authors:
  • Fabíola Greve;Michel Hurfin;Raimundo Macêdo;Michel Raynal

  • Affiliations:
  • IRISA, Campus de Beaulieu, 35042 Rennes Cedex, France;IRISA, Campus de Beaulieu, 35042 Rennes Cedex, France;LaSiD-CPD-UFBA, Campus de Ondina, CEP 40170-110 Bahia, Brazil;IRISA, Campus de Beaulieu, 35042 Rennes Cedex, France

  • Venue:
  • Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
  • Year:
  • 2000

Quantified Score

Hi-index 0.01

Visualization

Abstract

The class of strong failure detectors (denoted S) includes all failure detectors that suspect all crashed processes and that do not suspect some (a priori unknown) process that never crashes. So, a failure detector that belongs to S is intrinsically unreliable as it can arbitrarily suspect correct processes.Several S-based consensus protocols have been designed. They proceed in consecutive asynchronous rounds. Some of them systematically require n rounds (n being the number of processes), each round involving n2 or n messages. Others allow early decision (i.e., when there are no erroneous suspicions, the number of rounds depends only on the maximal number of crashes) but require each round to involve n2 messages.This brief annoucement introduces an early deciding (S-based consensus protocol each round of which involves 3(n - 1) messages. So, the proposed protocol is particularly time and message-efficient. It is based on the rotating coordinator paradigm. Due to space limitation the reader is referred to [2] for an in-depth presentation of the protocol (underlying principles, proof, cost analysis and generalization). Here, the limited space allows us to only compare it with the other S-based consensus protocols we are aware of.This comparison is provided in Table 1. “nb”, “msg” and “c_s” are shortcuts for “number”, “messages” and “communication steps” respectively; GHMR denotes the proposed protocol; ƒ denotes the maximum number of processes that are allowed to crash; |v| is the maximal size (in bits) of a value a process can initially propose to the consensus. All the protocols work provided that ƒ n. Hence, they are optimal with respect to the number of process crashes that can be tolerated. The protocols of the first two lines systematically require n rounds ([4] and [5] each proposes a particular generalization of S; we consider here their protocols used with S). The behavior of the protocols of the last two lines depends on failure occurrences and false failure suspicions (that is why they allow early decision in “good” scenarios, i.e., when the failure detector does not make mistake). For those lines, the table considers that (1) the failure detector does not make mistake, (2) there are ƒ failures, and (3) there is a failure per round (the “simultaneity” of failure occurrences can actually reduce the number of rounds). For the generic protocol described in [3], the table considers its instantiation with S.Hence, it appears that the proposed protocol owns several noteworthy features. The most important of them are its ability to allow early decision and its linear cost for the number of messages per round.