Algo Dis
Algo Dis
Algo Dis
Shantanu Das
http://pageperso.lif.univ-mrs.fr/˜shantanu.das/M1algodist/
Aix-Marseille Université
Processus
Donnée
Processus Donnée
Processus
Donnée
une donnée
n processus qui exécutent le même algorithme et
peuvent lire/écrire dans la donnée
complexité : nombre d’écriture/lecture
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 5 / 52
Agents mobiles
Donnée
Processus
n données
k processus qui exécutent le même algorithme et
peuvent se déplacer dans le réseau
complexité : nombre de déplacements
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 6 / 52
Passage de message
Processus
Donnée
n données
n processus qui exécutent le même algorithme et
peuvent envoyer des messages à leur voisins
complexité : nombre de messages
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 7 / 52
Quelques propriétés pour le modèle de
communication par passage de message
NON NON
ELU ELU
NON
ELU
1 3 3 3
4 3
5 7 3 3
2) Aspects Statiques
information structurelle :
I n° unique =⇒ identités
I connexions orientées ou non
connaissance structurelle :
I famille de graphes (arbres, anneaux, planaires, . . .)
=⇒ domaine
I borne sur la taille
I borne sur le diamètre
Rappel :
On es intéressés à la quantité de la communication plutôt
que la quantité de calculs.
Spécification
Etant donné un réseau de noeud initialement dans l’état
Inconnu, l’algorithme termine avec les conditions
suivantes :
Election : Un noeud et un seul termine dans l’état
ELU
Election avec terminaison explicite :
Tous les autres noeuds savent que l’algorithme est
terminé (et qu’ils sont non-ELU)
Définition
Un système est synchrone si il existe une horloge globale
partagée par tous les processus du système.
Envoi de message simultané, les messages sont reçus
durant le même round.
P2
P1
P3
P6
P4
P5
Théorème
Dans un anneau de processus synchrones anonymes (états
de départ identiques), il est impossible d’élire.
1
6 8
4 3
7 5
2
u=4 4 2 u=2
u=3
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 27 / 52
Execution de LCR
u=1
4 1
u=4 4 2 u=2
3 2
u=3
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 27 / 52
Execution de LCR
u=4
u=null 4 2 u=null
u=null
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 27 / 52
Execution de LCR
u=4
null 4
u=null 4 2 u=null
null null
u=null
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 27 / 52
Execution de LCR
u=null
u=null 4 2 u=4
u=null
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 27 / 52
Execution de LCR
u=null
null null
u=null 4 2 u=4
null 4
u=null
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 27 / 52
Execution de LCR
u=null
u=null 4 2 u=null
u=4
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 27 / 52
Execution de LCR
u=null
null null
u=null 4 2 u=null
4 null
u=4
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 27 / 52
Execution de LCR
u=null
u=null
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 27 / 52
Preuve de Correction de LCR
Propriété
Le processus d’UID maximal est dans l’état ELU à la
n-ième ronde et c’est le seul.
V2(u)
Principe
A la phase k, le processus se compare à ses voisins actifs à
distance 2k : V2k (u). S’il a le plus grand identifiant, il
reste actif. Sinon il devient passif et ne compte plus pour
les comparaisons suivantes
Phase 0 : on se compare aux voisins à distance 1
Phase 1 : on se compare aux voisins à distance 2
Phase 2 : on se compare aux voisins à distance 4
Phase 3 : on se compare aux voisins à distance 8
1
6 8
4 3
7 5
2
4 3
7 5
2
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 34 / 52
Exemple d’exécution
1
6 8
4 3
7 5
2
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 34 / 52
Exemple d’exécution
1
6 8
4 3
7 5
2
4 3
7 5
2
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 34 / 52
Exemple d’exécution
1
6 8
4 3
7 5
2
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 34 / 52
Exemple d’exécution
1
6 8
4 3
7 5
2
4 3
7 5
2
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 34 / 52
Exemple d’exécution
1
6 8
4 3
7 5
2
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 34 / 52
Exemple d’exécution
1
6 8 est élu
4 3
7 5
2
Lemme
A la phase k au plus 4.2k messages sont envoyés pour un
candidat actif.
Lemme
Pourn chaque
k ≥ 1, le nombre de processeurs actifs est au
2k−1 +1
.
Phase 1 à dlog ne + 1
= O(n log n)
En temps : ∆ rondes
En nombre du messages : ∆ × nb d’arêtes du G
Algorithmique distribuée
pour
les systèmes avec défaillances
1 3 3 3
4 3
5 7 3 3
Spécification
Etant donnés des processus avec une valeur initiale
quelconque,
Accord Tous les processus qui décident une valeur
décident la même valeur.
Validité Si tous les processus ont w comme valeur
initiale, alors c’est la valeur décidée.
Terminaison Tous les processus (non défaillants)
décident.
Théorème
Le problème des deux généraux n’a aucune solution déterministe.
Exécution E
A
B
Exécution E 0
A
B
Shantanu Das (AMU) Algorithmique Distribuée 20/21 fevrier 2018 50 / 52
Preuve d’mpossibilité III
Le général A ne peut différencier E de E 0 . Puisque A
attaque dans E il doit aussi attaquer dans E 0 . La valeur
OA est donc fixée à la ronde t dans E 0 .
Puisque A attaque dans E 0 , B doit aussi attaquer dans E 0 .
Si k − 1 > 0 alors l’exécution E 0 est plus courte que E et
contient au moins un message. Cela contredit le fait que
E est l’exécution la plus courte qui décide 1.
Si k − 1 = 0 alors il n’y a pas de message reçu dans E 0 et
malgré cela A et B décident 1. Contradiction avec notre
remarque initiale.
Question
1. Si on ne peut perdre qu’un seul message à la fois,
ou bien
2. Si un seul des deux processus peut perdre ses messages,