2 research outputs found

    Conditions for Set Agreement with an Application to Synchronous Systems

    Get PDF
    The kk-set agreement problem is a generalization of the consensus problem: considering a system made up of nn processes where each process proposes a value, each non-faulty process has to decide a value such that a decided value is a proposed value, and no more than kk different values are decided. While this problem cannot be solved in an asynchronous system prone to tt process crashes when t≥kt \geq k, it can always be solved in a synchronous system; ⌊tk⌋+1\lfloor \frac{t}{k} \rfloor +1 is then a lower bound on the number of rounds (consecutive communication steps) for the non-faulty processes to decide. The {\it condition-based} approach has been introduced in the consensus context. Its aim was to both circumvent the consensus impossibility in asynchronous systems, and allow for more efficient consensus algorithms in synchronous systems. This paper addresses the condition-based approach in the context of the kk-set agreement problem. It has two main contributions. The first is the definition of a framework that allows defining conditions suited to the ℓ\ell-set agreement problem. More precisely, a condition is defined as a set of input vectors such that each of its input vectors can be seen as ``encoding'' ℓ\ell values, namely, the values that can be decided from that vector. A condition is characterized by the parameters tt, ℓ\ell, and a parameter denoted dd such that the greater d+ℓd+\ell, the least constraining the condition (i.e., it includes more and more input vectors when d+ℓd+\ell increases, and there is a condition that includes all the input vectors when d+ℓ>td+\ell>t). The conditions characterized by the triple of parameters tt, dd and ℓ\ell define the class of conditions denoted Std,ℓ{\cal S}_t^{d,\ell}, 0≤d≤t0\leq d\leq t, 1≤ℓ≤n−11\leq \ell \leq n-1 . The properties of the sets Std,ℓ{\cal S}_t^{d,\ell}are investigated, and it is shown that they have a lattice structure. The second contribution is a generic synchronous kk-set agreement algorithm based on a condition C∈Std,ℓC\in {\cal S}_t^{d,\ell}, i.e., a condition suitedto the ℓ\ell-set agreement problem, for ℓ≤k\ell \leq k. This algorithm requires at most ⌊d−1+ℓk⌋+1\left\lfloor \frac{d-1+\ell}{k} \right\rfloor +1 rounds when the input vector belongs to CC, and ⌊tk⌋+1\left\lfloor \frac{t}{k} \right\rfloor +1 rounds otherwise. (Interestingly, this algorithm includes as particular cases the classical synchronous kk-set agreement algorithm that requires ⌊tk⌋+1\left\lfloor \frac{t}{k} \right\rfloor+1 rounds (case d=td=t and ℓ=1\ell=1), and the synchronous consensus condition-based algorithm that terminates in d+1d+1 rounds when the input vector belongs to the condition, and in t+1t+1 rounds otherwise (case k=ℓ=1k=\ell=1).
    corecore