Distributed Computing

In the context of a system made up of n processes where at most t can crash, the condition-based approach studies restrictions on the inputs of a distributed problem, called conditions, that make it solvable, or easier to solve (in case it is solvable without restricting its inputs). Previous work studied conditions for consensus and other agreement problems, mostly for asynchronous systems. This paper considers the condition-based approach for consensus in synchronous systems, and establishes a bridge between the asynchronous and synchronous models, with a hierarchy S [−t] t ⊂ · · · ⊂ S [0] t ⊂ · · · ⊂ S [t] t where S [t] t includes all conditions (and in particular the trivial one made up of all possible input vectors). For a condition C ∈ S [d] t , −t ≤ d ≤ t, we have: – For values of d ≤ 0 we have the hierarchy of conditions (we introduced in PODC’01) where consensus is solvable by more and more efficient protocols in an asynchronous system with t failures, as we go from d = 0 to d = −t. – For values of d > 0 consensus is not solvable in an asynchronous system with t failures, but it is solvable in a synchronous system with more and more rounds, as we go from d = 1 (two rounds) to d = t (t + 1 rounds). – d = 0 is the borderline case where consensus is solvable in an asynchronous system with t failures, and optimally in a synchronous system (we proved this in DISC’03). The two main results of this paper are proving the second item above. For the upper bound, the paper presents a generic synchronous early-deciding uniform consensus protocol. When instantiated with a condition C ∈ S [d] t , 1 ≤ d ≤ t < n, the processes decide in at most min(α+1, f +2, t+1) rounds, where f is the number of actual crashes, and α = d if the input vector belongs to C, or α = +∞ otherwise. The paper establishes a corresponding lower bound stating that d+1 rounds are necessary to get a decision when the input vector belong to C.