! ! !
!
1!
!
!
Exercice!1!
Les! algorithmes! distribués! vus! en! cours! respectent! tous! le! même! «!modèle!»! (template)! représenté! par!
l’algorithme!1.!Voir!les!slides!12!–!15!de!la!présentation!des!algorithmes!distribués.!
Cond1,!Cond2,!!Condn!sont!des!conditions!booléennes.!M1,!M2,!…!Mn!sont!des!messages!transmis!entre!les!
différents!uds!du!réseau.!A!chaque!itération,!l’algorithme!effectue/traite!une!seule!réception!même!si!
plusieurs!messages!sont!disponibles.!!
Task_t'
'Faire'un'traitement'd’initialisation'
Envoyer'un'message'à'un'sous'ensemble'de'voisins'
Répeter''
A'la'réception'd’un'message'M1'd’un'ou'plusieurs'voisins'et'(Cond1)''
Faire'un'traitement'
Envoyer'un'message'à'un'sous'ensemble'de'voisins'
' ' ou'
A'la'réception'd’un'message'M2'd’un'ou'plusieurs'voisins'et'(Cond2)''
Faire'un'traitement'
Envoyer'un'message'à'un'sous'ensemble'de'voisins'
ou'…'
'
A'la'réception'd’un'message'Mn'd’un'ou'plusieurs'voisins'et'(Condn)'
Faire'un'traitement'
Envoyer'un'message'à'un'sous'ensemble'de'voisins'
'
Jusqu’à'(une'condition'de'fin)'
Algorithme!1!:!Modèle!des!algorithmes!distribués!
L’objectif!de!cet!exercice!est!de!faire!la!correspondance!(matching)!entre!le!modèle!décrit!par!l’Algorithme!
1!et!les!algorithmes!suivants!:!
Algorithme!braodcast!par!vagues,!avec!accusé!de!réception!!
Algorithme!de!construction!d’arbres!de!recouvrement!en!largeur!d’abord!!
Pour! chacun! de! ces! deux! algorithmes,! précisez! pour! chaque! ligne! du! modèle!(Algorithme!1),! le! bloc! de!
code! sources! correspondant.! Précisez! aussi! les! conditions!:! Cond1,' Cond2,! etc.! ainsi! que!les! conditions!
d’arrêt.!
!
! !
! ! !
!
2!
Exercice!2:!
!
L’algorithme!2!représente!la!version!synchrone!de!l’algorithme!du!plus!court!chemin.!Cet!algorithme!est!
incomplet!puisqu’il!ne!précise!pas!la!condition!d’arrêt.!!
- MSGi'(0)'='{}';'
- Pour!(tous!les!nœuds!de!N)!faire!envoyer!seti'(0)!aux!voisins!vi!
- t'='1;'
'
- Pour!(chaque!réception!de!MSGi(t-1))!faire!! //'t'>'0'
o seti'(t)!=!{}!;!
o Pour!(chaque!setj(t-1)!appartenant!à!MSGi'(t-1))!faire!
§ Pour!chaque!nœud!nk!appartenant!à!seti'(t-1)!faire!
Si!(disti'(k)'>'t)!alors!
o disti!(k)!=!t!;!
o firsti!(k)!=!!nj;'
o seti'(t)'='seti'(t)+{nk}'
o Envoyer!seti'(t)!à!tous!les!voisins!de!ni!(ensemble!vi)!
o t!=!t!+!1;!
Algorithme!2!
!
1. Complétez!cet!algorithme!en!précisant!la!condition!d’arrêt!telle!que!vue!en!cours.!
2. Ecrivez!l’algorithme!correspondant!au!texte!en!gras!dans!l’algorithme!2.!
3. Pour! améliorer! les! performances! de! l’algorithme! 2,! l’une! des! idées! consiste! à! réduire,! dans! la!
limite! du! possible,! le! nombre! d’itérations! exécutées.! L’idée! est! de! revoir! la! condition! d’arrêt.!
Expliquez!comment!?!Ecrivez!la!nouvelle!version!de!cet!algorithme.!
4. Version! asynchrone.! Dans! l’algorithme! 2,! la! variable! t! est! considérée! comme! une! horloge!
commune!à!tous!les!nœuds!du!réseau.!Dans!cette!question,!on!se!propose!de!définir!une!horloge!
par!voisin!(au!niveau!de!chaque!nœud).!L’objectif!est!d’éviter!l’attendre!des!messages!de!tous!les!
voisins! avant! de! commencer! le! traitement.!Partant! de! cette! idée!(une! horloge! par! voisin),!
proposez!une!démarche!visant!à!concevoir!une!version!asynchrone!de!l’Algorithme!2.!
!
Exercice!3!
On! dispose! d’un! réseau! freenet! composé! de! cinq! nœuds!:! A,! B,! C,! D,! E.! Les! contenus! des! entrepôts! de!
chaque!nœud!sont!les!suivants!:!
!
A!
B!
C!
D!
E!
(50,!B)!
(200,!D)!
(100,!C)!
(1000,!A)!
(20,!C)!
(30,!E)!
(10,!D)!
(50,!B)!
(100,!C)!
(50,!B)!
(20,!C)!
(5,!D)!
(1000,!A)!
(10,!D)!
(200,!D)!
(50,!B)!
(30,!E)!
!
! ! !
!
3!
Les!entrepôts!contiennent!des!couples!(c,'n)!:!le!nœud!n!est!le!propriétaire!du!document!dont!la!clé!est'c.!Si!
l’entrepôt!d’un!nœud!x!contient!le!couple!(c,'n),!ceci!signifie!que!x!détient!une!copie!du!document!dont!la!
clé!est!c.!!
Question!1!
Représentez!les!connexions!freenet!de!ces!5!nœuds!A,!B,!C,!D,!E.!
Question!2!!
Un!utilisateur!lance!une!requête!de!recherche!d’un!document!dont!la!clé!est!égale!à!5!à!partir!du!nœud!a.!
Donnez! le! circuit! que! va! effectuer! cette! requête.! Précisez! l’ordre! chronologique! de! passage! de! cette!
requête!à!travers!les!nœuds!qu’elle!va!traverser!et!donnez!le!nouveau!contenu!des!différents!entrepôts.!
Question!3!!
En!prenant!en!considération!les! nouveaux! contenus! des! entrepôts,!donnez!le!circuit!qu’effectuerait!une!
requête! de! recherche! du! même! document! (clé! 5)! lancée! à! partir! du! nœud! E.! Précisez! l’ordre!
chronologique!de!passage!de!cette!requête!à!travers!les!nœuds!qu’elle!va!traverser.!
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 !