Consenso in un Sistema Sincrono

Ipotesi:

$V_i^k$ vettore dei valori proposti noti al processi $p_i$ all’inizio del ciclo $k$

$f$ numero guasti per crash tollerati dall’algoritmo

$f+1$ numero complessivo di iterazioni

Nel caso peggiore, nelle $f+1$ iterazioni si verifica il numero massimo di crash possibili $f$

L’algoritmo garantisce che al termine i processi corretti sopravvissuti raggiungano il consenso

Nell’iterazione $k$ il processo $p_i$ $(i = 1,..,N)$:

Dopo $f+1$ cicli, ogni processo sceglie il valore minimo di $V_i^{f+1}$ come valore di decisione

La durata di un ciclo è limitata da un apposito timeout

Algoritmo di Dolev et al

image.png