Agreement in a Failure-Free System
Let's see how we can reach a consensus in a failure-free system.
Reaching consensus in a failure-free system
It’s obvious that reaching an agreement or consensus in a failure-free system is possible in a straightforward manner by applying a flooding algorithm (
Algorithm 5
A simple deterministic consensus protocol for failure-free systems does the following:
- Broadcasts its own value to all other processes.
- Receives values from all other processes.
- Decides on the minimum value.
In this case, the correctness conditions of termination and validity ( of this definition
Example: reaching consensus in a failure-free system with five processes
Assume there’s a synchronous system with processes , where each process has its initial value as shown in Figure 1
(a) and is the set of possible initial values. Let’s further assume that the communication takes place in synchronous communication rounds.
By applying Algorithm 5, each process broadcasts its own value to all other processes in one round. After broadcasting, each process calculates its decision value . Since every process receives the minimum value , every process decides with (see Figure 1 (b)), hence a consensus is reached.
Figure 1
Get hands-on with 1200+ tech skills courses.