Self-stabilizing Multivalued Consensus in Asynchronous Crash-prone Systems
The problem of multivalued consensus is fundamental in the area of fault-tolerant distributed computing since it abstracts a very broad set of agreement problems in which processes have to uniformly decide on a specific value v in V, where |V| >1. Existing solutions (that tolerate process failures) reduce the multivalued consensus problem to the one of binary consensus, e.g., Mostefaoui-Raynal-Tronel and Zhang-Chen. Our study aims at the design of an even more reliable solution. We do so through the lenses of self-stabilization – a very strong notion of fault-tolerance. In addition to node and communication failures, self-stabilizing algorithms can recover after the occurrence of arbitrary transient-faults; these faults represent any violation of the assumptions according to which the system was designed to operate (as long as the algorithm code stays intact). This work proposes the first (to the best of our knowledge) self-stabilizing algorithm for multivalued consensus for asynchronous message-passing systems prone to process failures and arbitrary transient-faults. Our solution is also the first (to the best of our knowledge) to support wait-freedom. Moreover, using piggybacking techniques, our solution can invoke n binary consensus objects concurrently. Thus, the proposed self-stabilizing wait-free solution can terminate using fewer resources than earlier non-self-stabilizing solutions by Mostefaoui, Raynal, and Tronel, which uses an unbounded number of binary consensus objects, or Zhang and Chen, which is not wait-free.
READ FULL TEXT