TD6 : Diffusion et Consensus A Rappel B Diffusion C Tolérance aux

TD6 : Diffusion et Consensus
A Rappel
A.1 Enum´erez les diff´erents types de diffusions et leurs sp´ecificit´es.
A.2 Que sont les diff´erents types de pannes, donnez des exemples.
A.3 Quel est la limite de processus fautif en synchrone ?
A.4 Est-il possible de faire un consensus avec panne en mode asynchrone ?
A.5 Dans ce cas comment peut-on se ramener au mode synchrone ?
B Diffusion
B.1 Proposez au moins deux algorithmes de diffusion de donn´ee.
B.2 Pour chacun d’eux v´erifier leur fiabilit´e.
C Tol´erance aux pannes
Consid´erons la diffusion comme fiable. Consid´erons l’algorithme de r´ef´erendum suivant :
int id
Begin referendum :
Broadcast <referendum: question>
Recieve referendum :
Breadcast <referendum: r´eponse>
End : Quand toutes les r´eponses ont ´et´e re¸cues.
C.1 Dans le cas sans pannes, v´erifier les propri´et´es d’accord,d’int´egrit´e, de validit´e et de
terminaisons
C.2 En cas de panne cet algorithme termine-t-il ?
C.3 A partir de quel moment on peut consid´erer la fin du r´ef´erendum ?
C.4 A partir de combien de processus fautifs l’algorithme ne termine-t-il pas ?
C.5 En pratique comment d´etecter une panne franche ?
D Pannes byzantines
Cet exercice est consacr´e `a ´etudier le probl`eme du consensus plus particuli`erement avec pannes
byzantines. Voici un exemple de probl`eme de consensus : dans un syst`eme de gestion de transac-
tion r´epartie, tous les processus ayant particip´e `a une transaction doivent finalement d´ecider de
sa validation ou de son annulation. Ils doivent tous prendre la mˆeme d´ecision. Un des probl`emes
n n
n1
n f
01n1
 
δ
P0
0
0,...,32
L
v
0
1
2
v =v
vv
v
v
v
0
v
v
0
1
3
2
3
v =v v = v
0
L
L
1
3
L
2
v
v
00
1
3
2
3
v =v v = v
0
L
L
1
3
L
2
L
v =v
0
1
2
v =v
v =v
v =v
v =v
v =y
v =z
y
z
v
v
0v123
231v
2v31v=majorite(v, v, v)
1v3y2v=majorite(v, y, v)
3v1x2v=majorite(v, x, v)
12v0
n m n>3m
m=0
0v
jvvj=v vj=DEF
mm>0n>3m>0
0v
j
vvj=v vj=DEF
vj
n2
ij=i
vjvijvj=DEF
δ
val =majorite(v0,...,v
n1)
majorite(v0,...,v
n1)=v v
DEF
val
n m 3n>m)
1
m=0
m k n>2k+m k
m
n
m=0
m>0
Fig. 1 – Exemple pour 4 lieutenants avec l2traitre
majeur est d’ˆetre robuste vis `a vis des pannes (de sites ou de communications). Consid´erons le
probl`eme des g´en´eraux byzantins. L’arm´ee byzantine assi`ege une ville : elle a ncampements com-
mand´e par un lieutenant. Un g´en´eral commande un parmi ces ncampements et commande aussi
les n1 lieutenants. Par abus de notation, le g´en´eral sera aussi consid´er´e comme un lieutenant.
Parmi ces n lieutenants, il y a ftraites (ou byzantins). Cette arm´ee doit attaquer cette ville. Pour
r´eussir il faut que tous les campements command´es par des lieutenants loyaux doivent attaquer
en mˆeme temps. Chaque jour, le g´en´eral donne l’ordre d’attaquer ou d’attendre : il est not´e l0.
Les autres lieutenants sont not´es l1, ..., ln1. Le probl`eme est ´etudi´e dans le cadre suivant dans le
mode synchrone et dans le monde se restreint au probl`eme suivant :
1. dans le mode de communication oral : Les communications se font par l’interm´ediaire de
messagers (chaque destinataire d’un message connaˆıt l’exp´editeur).
2. dans une nombre limit´e d’ordres : deux possibles < AT T AQUER > ou < REP OSER >.
3. dans le mode de synchrone : le temps de transmission ne peut pas ˆetre sup´erieure `a φ. Les
lieutenants se rendent compte quand il y a une perte de messages. Lors de non-r´eception de
messages, la valeur re¸cue par d´efaut sera DEF.
Le r´esultat de l’algorithme doit satisfaire les deux conditions suivantes :
IC1 : tous les lieutenants loyaux prennent la mˆeme d´ecision processus normaux doivent connaˆıtre/prendre
la d´ecision de P0.
IC2 : Si le g´en´eral l0est byzantin, alors chaque lieutenant loyal ob´eissent `a l’ordre du g´en´eral.
Description de l’algorithme Voici l’algorithme P(0) avec ncampements et mparticipants by-
zantins (n > 3m) :
1. Cas P(0) (aucun participant est byzantin : m = 0) :
(a) Le g´en´eral l0envoie la valeur < v > `a chacun de ses lieutenants.
(b) Si le lieutenant ljre¸coit la valeur < v > alors vj=vsinon vj=DEF (d´etection d’une
non r´eception d’un message).
2. Cas P(m) (m participants byzantins, m > 0, n > 3m > 0) :
(a) Le g´en´eral l0envoie la valeur < v > `a chacun de ses lieutenants.
(b) Pour chaque lieutenant lj,
i s’il re¸coit la valeur < v > alors vj=vsinon vj= DEF
ii il lance la proc´edure P(m-1) en se comportant comme g´en´eral et en envoyant vj`a
ces n2 autres lieutenants.
2
(c) Pour chaque lieutenant liet tout j6=i:
i Soit vj= la valeur < v > que lire¸coit de ljlors de P(m1) ´etape 2(b)ii ; vj=DEF
si aucune valeur est re¸cue (avant φ).
(d) val =majorite(v0, ..., vn1) d´efinie par
majorite(v0, ..., vn1) = vsi la valeur vest majoritaire
DEF s’il n’existe pas de valeur majoritaire
(e) val est la valeur d´ecid´ee dans ce tour
D.1 Cet Algorithme termine-t-il ?
D.2 Montrer que pour tout met k, si n > 2k+mavec kbyzantins, l’algorithme P(m)
satisfait la condition IC2.
D.3 Montrer que si il y a n lieutenants avec m byzantins (n > 3m), l’algorithme P(m)
satisfait les deux IC1 et IC2
3
1 / 3 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 !