Narrowing power vs efficiency in synchronous set agreement: Relationship, algorithms and lower bound - Mostéfaoui, Achour; Raynal, Michel; Travers, Corentin (Theoretical computer science, 2010)
The k -set agreement problem is a generalization of the uniform consensus problem: each process proposes a value, and each non-faulty process has to decide a value such that a decided value is a proposed value, and at most k different values are decided. It has been shown that any algorithm that solves the k -set agreement problem in synchronous systems that can suffer up to t crash failures requires ⌊ t k ⌋ + 1 rounds in the worst case. It has also been shown that it is possible to design early deciding algorithms where no process decides and halts after min ( ⌊ f k ⌋ + 2 , ⌊ t k ⌋ + 1 ) rounds, where f is the number of actual crashes in a run ( 0 ≤ f ≤ t ). This paper explores a new direction to solve the k -set agreement problem in a synchronous system. It considers that the system is enriched with base objects (denoted has [ m , ℓ ] _SA objects) that allow solving the ℓ -set agreement problem in a set of m processes ( m < n ). The paper makes several contributions. It first proposes a synchronous k -set agreement algorithm that benefits from such underlying base objects. This algorithm requires O ( t ℓ m k ) rounds, more precisely, ⌊ t Δ ⌋ + 1 rounds, where Δ = m ⌊ k ℓ ⌋ + ( k mod ℓ ) . The paper then shows that this bound, that involves all the parameters that characterize both the problem ( k ) and its environment ( t , m and ℓ ), is a lower bound. The proof of this lower bound sheds additional light on the deep connection between synchronous efficiency and asynchronous computability. Finally, the paper extends its investigation to the early deciding case. It presents a k -set agreement algorithm that directs the processes to decide and stop by round min ( ⌊ f Δ ⌋ + 2 , ⌊ t Δ ⌋ + 1 ) . These bounds generalize the bounds previously established for solving the k -set agreement problem in pure synchronous systems.