Document

publicité
PIF sur l’arbre
Je lance une vague
r
PIF sur l’arbre
J’ai une vague en cours: j’attends
la réponse de mes fils
r
PIF sur l’arbre
r
J’ai une vague en cours: j ’attends
la réponse de mes fils
PIF sur l’arbre
r
Le message est long à
être traité
Je n’est pas de fils: j’accuse réception et
j’ai terminé ma vague
PIF sur l’arbre
r
Un de mes fils m’a répondu:
j’attends que tous me répondent.
PIF sur l’arbre
r
PIF sur l’arbre
r
PIF sur l’arbre
r
PIF sur l’arbre
J’ai reçu une réponse de
tous mes fils: j’accuse
réception.
r
J’attends...
PIF sur l’arbre
r
PIF sur l’arbre
r
PIF sur l’arbre
r
PIF sur l’arbre
r
PIF sur l’arbre
La vague est
terminée : je suis
content!
r
QUESTION : Est-il possible d’implémenter le PIF avec
seulement 2 états ?
PIF sur l’arbre
QUI GAGNE ?
EST-CE UNE
PHASE DE
BROADCAST ou
UNE PHASE DE
FEEDBACK
r
REPONSE : Non. Intuitivement, les états
« J’attend_les_réponses_de_mes_fils » poussent les états
« J’ai_terminé_ma_vague » de la vague précédente (ou état
initial),
et les états « J’ai_terminé_ma_vague » de la vague précédente
poussent les états « J’attend_les_réponses_de_mes_fils ».
Spécifications formelles
Nombre Minimum d’états par processeur
Nombre Minimum d’états par processeur
Temps de Stabilisation
Partie Normale
r
Partie Anormale
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
...
Stabilisation Instantanée
Un algorithme distribué est instantanément
stabilisé pour une tâche T ssi pour toute
configuration initiale , pour toute exécution
(possible) e en partant de , e satisfait les
spécification de T.
L’algorithme de base est instantanément stabilisé
Mais peut être retardé O(h2) étapes.
Amélioration (réduire le retard possible) ?
Temps de Stabilisation
Partie Normale
r
Partie Anormale
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
Temps de Stabilisation
r
...
Algorithme amélioré instantanément stabilisé
Peut être retardé d’au plus 1 étape !
Sans sens d’orientation ?
Temps de Stabilisation
Partie Normale
r
N4
N2
N4
L1
L1
L1
Partie Anormale
L1
L1
Temps de Stabilisation
r
Branches non visitée par la vague
venant de r
Algorithme non instantanément stabilisé!
Temps de Stabilisation
r
L2
N2
N2
L1
N2
N2
Temps de Stabilisation
r
N2
L2
N2
L2
L2
L2
L2
L2
L2
L2
Temps de Stabilisation
r
N2
N3
N2
L2
N3
Temps de Stabilisation
R2
r
N3
N3
N3
L2
N3
Temps de Stabilisation
R2
N3
N3
r
N3
Temps de Stabilisation
R2
r
...
Version instantanément stabilisée ?
PIF sur l’arbre
r
PIF sur l’arbre
-1
r
PIF sur l’arbre
-1
r
PIF sur l’arbre
-1
r
PIF sur l’arbre
-1
r
PIF sur l’arbre
-1
r
PIF sur l’arbre
-1
r
PIF sur l’arbre
-1
r
PIF sur l’arbre
-1
r
PIF sur l’arbre
-1
r
...
Temps de Stabilisation
-1
r
IF
ICor
ICor
LF
Icor
LF
Icor
LF
LF
Temps de Stabilisation
-1
r
IF
LC
Icor
LC
LC
LC
LC
LC
LC
Temps de Stabilisation
-1
r
Icor
IB
LC
LC
IB
Temps de Stabilisation
-1
r
IC
Temps de Stabilisation
-1
IB
r
LF
IB
LF
LF
...
Algorithme instantanément stabilisé
Peut être retardé d’au plus O(h) étapes !
LF
Téléchargement