Consensus cont’d
Proposition : Algorithme 3 r´esout le probl`eme
de consensus en f+1 phases en pr´esence de au
plus fcrashs (syst`eme synchrone avec ´echange
de messages sur un r´eseau complet).
C’est algorithme est le meilleur possible.
Proposition : Il n’existe pas d’algorithme qui
r´esout le probl`eme de consensus en moins que
f+ 1 phases en pr´esence de fcrashs, si n
f+ 2.
1
Mod`ele B
- syst`eme synchrone
- communication par ´echange de messages
- chaque processeur peut envoyer un mes-
sage `a chacun des autres processeurs
- un processeur d´efaillant peut faire n’importe
quoi (d´efaillances arbitraire - Byzantine)
- pas de d´efaillance en communication
2
Algorithme 3
Algorithme ex´ecut´e par processeur pi
Initialement Vi={xi}
Pendant phase k
1 Envoyer toutes les valeurs vViqui n’ont
pas encore ´et´e envoy´ees par pi`a tous les
processeurs
2 Recevoir un ensembme de valeurs Sjde pj,
j6=i
3 Ajouter tous les Sj`a Vi
4 Si k=f+ 1 alors y= min(Vi)
L’Algorithme 3 est-il correct en cas de d´efaillances
arbitraires ?
Termination : oui
Accord et Validit´e : non - il n’a y aucune
garantie que tous les processeurs ont les mˆeme
valeurs `a ligne 4. Les processeurs d´efaillants
peuvent envoy´es diff´erents valeurs `a diff´erents
processeurs.
3
Algorithme 4 - Consensus avec d´efaillances
arbitraire
´
Etape 1 : Les processeurs collectent l’information
f+ 1 phases
Chaque processeur construit un arbre. L’infor-
mation recueillit pendant la phase iest sauv´ee
dans le niveau id’un arbre. Chaque noeud de
l’arbre porte une ´etiquette qui est une s´equence
de noms de processeurs.
ex. p3p5p4est une ´etiquette qui se trouve au
niveau 3
La racine de l’arbre (niveau 0) est ´etiquet´e par
une s´equence vide.
Soit vun noeud avec ´etiquette pi1pi2. . . pir. Ce
noeud a un enfant pour chaque processeur pi
qui n’est pas d´ej`a dans la s´equence ; l’enfant
porte l’´etiquette pi1pi2. . . pirpi.
ex. Si n= 6, le noeud p3p5p4a trois enfants
p3p5p4p0,p3p5p4p1et p3p5p4p2
4
phase 1 :
Chaque processeur pienvoie sa valeur propos´ee
xi´a tout le monde.
Quand un processeur pire¸coit une valeur x
d’un processeur pj, il stocke xdans le noeud
de l’arbre ´etiquet´e pj. Si xn’est pas une valeur
l´egitime ou si aucun valeur a ´et´e re¸cu, la valeur
“9” est stock´ee.
phase r :
Chaque processeur envoie le ri`eme niveau de
son arbre `a tout le monde. C’est `a dire, il
envoie plusieurs messages de la forme “dans le
noeud avec ´etiquette pi1pi2. . . pir, j’ai la valeur
x”.
5
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !