Early Decision and Stopping in Synchronous Consensus: A Predicate-Based Guided Tour

  • Armando Castañeda
  • Yoram Moses
  • Michel Raynal
  • Matthieu Roy
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10299)

Abstract

Consensus is the most basic agreement problem encountered in fault-tolerant distributed computing: each process proposes a value and non-faulty processes must agree on the same value, which has to be one of the proposed values. While this problem is impossible to solve in asynchronous systems prone to process crash failures, it can be solved in synchronous (round-based) systems where all but one process might crash in any execution. It is well-known that \((t+1)\) rounds are necessary and sufficient in the worst case execution scenario for the processes to decide and stop executing, where \(t < n\) is a system parameter denoting the maximum number of allowed process crashes and n denotes the number of processes in the system.

Early decision and stopping considers the case where \(f<t\) processes actually crash, f not being known by processes. It has been shown that the number of rounds that have to be executed in the worst case is then \(\mathsf{min}(f+2,t+1)\). Following Castañeda, Gonczarowski and Moses (DISC 2014), the paper shows that this value is an upper bound attained only in worst execution scenarios. To this end, it investigates a sequence of three early deciding/stopping predicates \(P_1=P_\mathsf{count}\), \(P_2=P_\mathsf{dif}\) and \(P_3=P_\mathsf{pref0}\), of increasing power, which differ in the information obtained by the processes from the actual failure, communication and data pattern. It is shown that each predicate \(P_i\) is better than the previous one \(P_{i-1}\), \(i\in \{2,3\}\), in the sense that there are executions where \(P_i\) allows processes to reach a decision earlier than \(P_{i-1}\), while \(P_{i-1}\) never allows a process to decide earlier than \(P_i\). Moreover, \(P_3=P_\mathsf{pref0}\) is an unbeatable predicate in the sense that it cannot be strictly improved: if there is an early deciding/stopping predicate \(P'\) that improves the decision time of a process with respect to \(P_\mathsf{pref0}\) in a given execution, then there is at least one execution in which a process decides with \(P'\) strictly later than with \(P_\mathsf{pref0}\).

Keywords

Agreement Consensus Early decision Early stopping Process crash Round-based algorithm Synchronous message-passing system t-Resilience 

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Armando Castañeda
    • 1
  • Yoram Moses
    • 2
  • Michel Raynal
    • 3
    • 4
  • Matthieu Roy
    • 5
  1. 1.Instituto de MatemáticasUNAMMexico CityMexico
  2. 2.TechnionHaifaIsrael
  3. 3.Institut Universitaire de FranceParisFrance
  4. 4.IRISAUniversité de RennesRennesFrance
  5. 5.LAAS, CNRSUniversité de ToulouseToulouseFrance

Personalised recommendations