Buffl

Synchronisation and Agreement

CF
by Carmen F.

Agreement in a Synchronous DS general algorithm

solve the consensus problem in a synchronous system under the assumption of a maximum of 𝑑 crash failures is the following:

  • Assume a group of 𝑛 processes, where each process 𝑝𝑖 tracks the proposed values that were sent and received in each round π‘Ÿ of the algorithm via sets 𝑉𝑖,π‘Ÿ

    • A round is bounded in time to the maximum one-way transmission delay of a message

  • Initially, each process 𝑝𝑖 sets 𝑉𝑖,0 = {} and 𝑉𝑖,1 = {𝑣𝑖}, where 𝑣𝑖 is the process’ proposed value

  • For each round π‘Ÿ, with π‘Ÿ = 1 … (𝑓 + 1), each process 𝑝𝑖 performs the following actions:

    • Send the set of values 𝑉𝑠𝑒𝑛𝑑,𝑖 = 𝑉𝑖,π‘Ÿ βˆ’ 𝑉𝑖,π‘Ÿβˆ’1 containing all proposed values that were not sent in the prior round via (unreliable) multicast to all other processes

    • Set 𝑉𝑖,π‘Ÿ+1 to 𝑉𝑖,π‘Ÿ as preparation for the next round

    • If a message with a set of proposed values 𝑉𝑗,π‘Ÿπ‘’π‘ is received from some process 𝑝𝑗, add all received values to the set for the next round, i. e. set 𝑉𝑖,π‘Ÿ+1 to 𝑉𝑖,π‘Ÿ+1 βˆͺ 𝑉𝑗,π‘Ÿπ‘’π‘

  • After the 𝑑 + 1-th round, each process 𝑝𝑖 sets its consensus value 𝑐𝑖 to the value 𝑑𝑒𝑐(𝑉𝑖,π‘Ÿ+1), where 𝑑𝑒𝑐() is some decision function, such as the minimum or majority function

    • For certain decision functions, like majority, a default value must be defined in case of no majority etc.


Author

Carmen F.

Information

Last changed