Algorithmique Distribuée
Réseaux Asynchrones
Arnaud labourel
http://pageperso.lif.univ-mrs.fr/˜arnaud.labourel
Aix-Marseille Université
5 mars 2013
Arnaud Labourel (AMU) Algorithmique Distribuée 5 mars 2013 1 / 37
Réseaux Asynchrones
Assumptions
Chaque message qui a été envoyé est éventuellement
reçu par le destinataire.
Il n’existe pas un borne sur le délai de transmission.
Par conséquent, il n’est pas possible de détecter des
fautes (perte de messages). On va donc supposer
qu’il n’y a pas de fautes.
Le but : Trouver les meilleurs algorithmes
(Complexité en termes de nombre de messages
transmis.)
Arnaud Labourel (AMU) Algorithmique Distribuée 5 mars 2013 2 / 37
Calcul dans les arbres : convergecast
Il est plus facile de faire des calculs distribués dans un
arbre que dans un réseau arbitraire.
Technique de Saturation (“Convergecast")
Feuille : Envoyer un message à l’unique voisin.
Autres nœuds : Attendre de recevoir les messages
de tous les voisins sauf un et ensuite envoyer à
l’unique voisin n’ayant rien envoyé.
Il existe un processus qui reçois des messages de tous
ses voisins. On le nomme processus Saturé.
Arnaud Labourel (AMU) Algorithmique Distribuée 5 mars 2013 3 / 37
Propriétés du convergecast
Il y a exactement un ou deux processus qui va être
saturé (recevoir les messages de tous ses voisins).
S’il y a deux processus saturés, ils sont voisins.
Attention
Les processus saturés ne sont pas forcément les mêmes
pour toutes les exécutions d’un même algorithme sur un
même arbre. La vitesse de transmission des messages
détermine quel processus va être saturé.
Arnaud Labourel (AMU) Algorithmique Distribuée 5 mars 2013 4 / 37
Applications de la technique de Saturation
(1) ELECTION dans un arbre avec UID :
Exécuter la Saturation
Si il y a un seul processus qui est Saturé, il est élu.
Sinon, les deux processus saturés communiquent
entre eux (ils sont voisins), et celui qui a le plus
grand UID est élu.
Complexité =n+2 messages.
Arnaud Labourel (AMU) Algorithmique Distribuée 5 mars 2013 5 / 37
1 / 38 100%