Abstract

Fault tolerance and agreement are essential capabilities of current distributed systems. In this context, Binary Consensus is a key problem. It is well-known that consensus cannot be solved in a pure asynchronous system when at least one process can crash. To overcome this impossibility result, the asynchronous system is usually augmented with randomization, failure detectors or some kind of synchronization. Random binary consensus in classic asynchronous systems is usually solved using a common coin to achieve a constant expected number of rounds. However, to our knowledge, the literature lacks the existence of common coin algorithms for anonymous asynchronous systems. In this paper, an implementation of a common coin that runs on anonymous asynchronous systems is proposed and it is proved that the probability that this common coin gives the same outcome to all processes is bigger than 0.75 with small bias. This result allows to solve random consensus, in anonymous asynchronous systems, in four expected rounds, independently of the number of processes in the system. The main result of this paper is a hybrid (deterministic/random) binary consensus algorithm which solves consensus in anonymous asynchronous systems enriched with a common coin and a failure detector of class $$A{\varOmega}'$$, where less than half of the processes may fail, which is an optimal bound on the number of failures. To our knowledge, this is the first such algorithm. It only needs a quadratic number of interchanged messages per round, and the size of these messages is minimal (O(1) bytes). Consensus is achieved in one round by our hybrid algorithm if the failure detector does not make any errors or all processes propose the same value, and in four expected rounds if the adversary does not control the common coin. Additionally, we conducted an experimental evaluation whose results agree with the expected ones and slightly improve them. In particular, above 95% of the times, all processes get the same outcome from the coin, and random consensus is achieved in less than two rounds on average with very small standard deviation. This makes our algorithms good candidates for deployment in practical distributed systems.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call