Copyright © by SIAM. Unauthorized reproduction of this article is prohibited.
SIAM J. COMPUT. c 2011 Society for Industrial and Applied Mathematics
Vol. 40, No. 1, pp. 63–78
THE COMPLEXITY OF EARLY DECIDING SET AGREEMENT
∗
ELI GAFNI
†
, RACHID GUERRAOUI
‡
, AND BASTIAN POCHON
‡
Abstract. In the k-set agreement problem, each processor starts with a private input value and
eventually decides on an output value. At most k distinct output values may be chosen, and every
processor’s output value must be one of the proposed values. We consider a synchronous message
passing system, and we prove a tight bound of f/k + 2 rounds of communication for all processors
to decide in every run in which at most f processors fail. The lower bound proof proceeds through
a simulation of a synchronous solution to k-set agreement in message passing, in an asynchronous
shared memory system in which k − 1 processors may fail, and which was proven to be impossible
using topological approaches. In contrast to past complexity results on set agreement, our lower
bound proof is purely algorithmic. It does not use any direct topological argument but uses instead
the impossibility of asynchronous set agreement to encapsulate the needed topology. We thus derive
an adaptive complexity lower bound for a message passing system from a static impossibility in a
shared memory system.
Key words. distributed algorithm, set agreement, lower bound, message passing system, shared
memory system, simulation
AMS subject classification. 68
DOI. 10.1137/050640746
1. Introduction. Results about the complexity of set agreement are intriguing,
as they present an intrinsic trade-off between the degree of coordination that these
processors can reach and the number of failures that are tolerated [7]. The complexity
of early deciding [9] set agreement is even more intriguing as it brings to the picture
the number of failures that actually occur in a given computation.
1.1. Set agreement. Set agreement is a natural generalization of the widely
studied consensus problem [11]. In set agreement, just like in consensus, each pro-
cessor is supposed to propose a value and eventually decide on some output that was
initially proposed, such that every correct processor eventually decides. Processors
are restricted not to decide on more than k distinct outputs. We talk about k-set
agreement, and consensus is the special case where k = 1.
Set agreement was introduced in [6], where it was conjectured that, in an asyn-
chronous system, the problem has a solution if and only if strictly less than k proces-
sors may crash. (An asynchronous model of distributed computation is characterized
by the following two properties: (1) processors execute the algorithm assigned to them
unless they crash, in which case they stop all their activities and they are said to be
faulty (not correct); (2) processors make no assumption on their relative speed and
message communication delay.) This conjecture has sparked a fruitful line of research
[3, 14, 17].
∗
Received by the editors September 20, 2005; accepted for publication (in revised form) October
18, 2010; published electronically January 11, 2011. This paper is a revised version of a paper by
the same authors entitled “From a static impossibility to an adaptive lower bound: The complexity
of early deciding set agreement,” which appeared in the Proceedings of the 37th Annual ACM Sym-
posium on Theory of Computing (STOC’05).
http://www.siam.org/journals/sicomp/40-1/64074.html
†
Department of Computer Science, UCLA, Los Angeles, CA 90024 (eli@cs.ucla.edu).
‡
School of Computer and Communication Sciences, EPFL, 1015 Lausanne, Switzerland (rachid.
guerraoui@epfl.ch, bastian.pochon@gmail.com).
63
Downloaded 06/01/15 to 128.178.154.12. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php