[Dijkstra 74] BT Bottom Top Middle BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
[Dijkstra 74] BT Bottom Top Middle BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BottomTopMiddle BT
Bottom Top Middle [Dijkstra 74] BottomTopMiddle BT
Bottom Top Middle [Dijkstra 74] BottomTopMiddle BT
Bottom Top Middle [Dijkstra 74] BottomTopMiddle BT
Bottom Top Middle [Dijkstra 74] BottomTopMiddle BT
Bottom Top Middle [Dijkstra 74] BottomTopMiddle BT
Bottom Top Middle [Dijkstra 74] BottomTopMiddle BT
Bottom Top Middle [Dijkstra 74] BottomTopMiddle BT
Bottom Top Middle [Dijkstra 74] BottomTopMiddle BT
Auto-stabilisation ?
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle Stabilisé !
Bottom Top Middle [Dijkstra 74] BT BottomTopMiddle Stabilisé ! Temps de stabilisation = O(n)
Exclusion mutuelle sur un arbre Circulation d’un jeton en profondeur Pas d’identité sauf un processeur : la racine r r i : nombre de voisins p i i = 4 1 = 2
Parcours en profondeur r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
Nombre de configurations r i pointeurs ( , ) = 2 i états/processeur + (, ) = 2 ( i + 1) états/processeur 2 n n ( i +1) configurations
Sur un arbre avec un sens d’orientation
Nombre de configurations avec sens d’orientation r i pointeurs ( , ) = 2 i états/processeur + (, ) = 2 i états/processeur 2 n n i configurations OPTIMAL [Tchuente 81]
Définition du privilège selon Dijkstra La possibilité pour un processeur d’exécuter une action [Dijkstra 74] [Dijkstra 74] :Ordre séquentiel des actions particulière [Villain 97] [Villain 97] :Actions concurrentes
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
[Villain 97] BottomTopMiddle Bottom Top Middle ? ? ? ? ? ? BT
Parcours en profondeur r Privilège = Le processeur reçoit le jeton pour la première fois
r Parcours en profondeur
r
r
r
r
r Nettoyage d’état en parallèle Parcours en profondeur
r
r
r
r
r
r
r
r
r
r
r A la première réception du jeton : on attend ! A la première réception du jeton : on attend !
r Parcours en profondeur
Nombre de configuration r i pointeurs = ( i + 2) états/processeur + (, ) ( 1 + 1) n ( i + 2) configurations i=2 Sauf à la racine r ( i + 1) états n ( i + 1) configurations avec sens d’orientation i=1
r Auto-stabilisation Ascendant de r Racine illégale Configuration initiale incorrecte
r Auto-stabilisation Racine illégale Cycle Les racines illégales se détruisent d’elles-même
r Auto-stabilisation
r
r
r
r
r
r
r
Coût de l’auto-stabilisation sur un arbre = 0 état par processeur
r Temps de Stabilisation Une racine illégale Attend que la racine illégale disparaisse
r Temps de Stabilisation
r
r
r
r
r
r
r
r Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré.
r Temps de Stabilisation Le chemin légal est retardé par les racines illégales qu’il rencontre sur son chemin mais son parcours n’est pas altéré....
r Temps de Retard Maximum Une racine illégale Attend que la racine illégale disparaisse
r Temps de Retard Maximum
r
r
r
r... Algorithme amélioré instantanément stabilisé Parcours en cours, retardé d'au plus 1 étape ! Racine peut lancer un parcours après au plus le temps d'un... parcours (n (n étapes) ! Temps de Retard Maximum
Parcours en Profondeur et auto-stabilisation dans les graphes quelconques Asymptotiquement optimal 3 ( p +1) états par processor p [Datta, Johnen, Petit, Villain 2000] –Temps de stabilisation O(n D) Temps de stabilisation O(n) unités de temps [Petit 2001] –Nombre d'états O(n)
PIF et auto-stabilisation PIF instantanément stabilisant à 3 états / p [Bui, Datta, Petit and Villain 1999] –3 états par processor –Optimal en temps et en nombre d'états PIF instantanément stabilisant pour arbre non- orienté [Bui, Datta, Petit and Villain 1999] – p + 2 states / p dans les arbres
PIF et auto-stabilisation Dans les arbres quelconques
PIF et auto-stabilisation dans les arbres quelconques [Cournier, Datta, Petit, and Villain 2002] PIF instantanément stabilisant
Broadcast message reaches leaves Count reaches Root Permission reaches Leaves This complete a PIF wave Root initiates Broadcast Leaves initiate Couting Leaves initiate Feedback If Count = N Root initiates Permission to feedback Leaves initiate Cleaning to start another PIF wave PIF et stabilisation instantanée dans les arbres quelconques
Conclusion Toutes les optimalités dans les graphes sans cycle > Modèle à états < Et dans le modèle à passge de messages ? Mais...