Broadcasting with failures CIS 720 Broadcasting with failures
Broadcasting with failures Type of failures: - link failures - halting failures: processor may crash and never recovers - omission failures: a processor may fail to send a message - byzantine failures
Broadcasting with failures P1 has a value v1 to be sent to all other processes. Each process must deliver a message with value vj C1: If P1 is normal then each normal process Pj must eventually deliver vj, where vj = v1 C2: If any normal process Pj delivers vj, then every normal processs Pi must eventually deliver vi,, where vj = vi
C3: If any process Pj delivers vj, then every normal process Pi must eventually deliver vi, where vi = vj
Reliable Broadcast 1 P1: send v1 to all processes; deliver v1 Pj: receive vj; deliver vj
Reliable Broadcast 2 P1: send v1 to all processes; deliver v1 Pj: receive vj; deliver vj; send vj to all processes
Reliable Broadcast 3 P1: send v1 to all processes; deliver v1 Pj: receive vj; send vj to all processes; deliver vj;
Reliable Broadcast 4 At most t failures, where t < N/2 P1: send v1 to all processes wait for at least N – t copies of the message deliver v1 Pj: receive vj; send vj to all processes wait for at least N - t copies of the message deliver vj
Byzantine failures Process may not follow the protocol It may send different values to different processes.