Optimal implementation of the weakest failure detector for solving consensus (brief announcement)

  • Authors:
  • Mikel Larrea;Antonio Fernández;Sergio Arévalo

  • Affiliations:
  • Univ. Pública de Navarra, 31006 Pamplona, Spain;Universidad Rey Juan Carlos, 28933 Móstoles, Spain;Universidad Rey Juan Carlos, 28933 Móstoles, Spain

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

Unreliable failure detectors were introduced by Chandra and Toueg [2] as a mechanism that provides (possibly incorrect) information about process failures. They showed how unreliable failure detectors can be used to solve the Consensus problem in asynchronous systems. They also showed in [1] that one of the classes of failure detectors they defined, namely Eventually Strong (⋄S), is the weakest class allowing to solve Consensus1.This brief announcement presents a new algorithm implementing ⋄S. Due to space limitation, the reader is referred to [4] for an in-depth presentation of the algorithm (system model, correctness proof, and performance analysis). Here, we present the general idea of the algorithm and compare it with other algorithms implementing unreliable failure detectors.The algorithm works as follows. We have n processes, p1, …, pn. Initially, process p1 starts sending messages periodically to the rest of processes. The rest of processes initially trust p1, and wait for its messages. If a process does not receive a message within some timeout period from its trusted process, then it suspects its trusted process and takes the next process as its new trusted process. If a process trusts itself, then it starts sending messages periodically to its successors. Otherwise, it just waits for periodical messages from its trusted process. If, at some point, a process receives a message from a process pi such that pi precedes its trusted process, then it will trust pi again, increasing the value of its timeout period with respect to pi.With this algorithm, eventually all the correct processes will permanently trust the same correct process. This provides the eventual weak accuracy property required by ⋄S. By simply suspecting the rest of processes, we obtain the strong completeness property required by ⋄S.Our algorithm compares favorably with the algorithms proposed in [2] and [3] in terms of the number and size of the messages periodically sent and the total amount of information periodically exchanged. Since algorithms implementing failure detectors need not necessarily be periodic, we propose a new and (we believe) more adequate performance measure, which we call eventual monitoring degree. Informally, this measure counts the number of pairs of correct processes that will infinitely often communicate. We show that the proposed algorithm is optimal with respect to this measure. Table 1 summarizes the comparison, where C denotes the number of correct processes and LFA denotes the proposed algorithm.