300 likes | 378 Views
Séminaire au LRI, Université Paris Sud. Quelques protocoles instantanément stabilisants. Stéphane Devismes, doctorant en 3 ème année. Introduction. Algorithmique du point de vue concepteur : Ecrire un algorithme Prouver l’algorithme. La spécification d’un problème n’est pas unique
E N D
Séminaire au LRI, Université Paris Sud Quelques protocoles instantanément stabilisants Stéphane Devismes, doctorant en 3ème année
Introduction • Algorithmique du point de vue concepteur : • Ecrire un algorithme • Prouver l’algorithme • La spécification d’un problème n’est pas unique • Adéquation d’une spécification au problème : invérifiable Spécification : énoncé « formel » Quelques protocoles instantanément stabilisants
Exemple • F = {F définie comme suit} • F: lN → lNn • F(x) = (F1(x), F2(x), …, Fn(x)) • Telle que • i, j, ∃k ≥ j tel que Fi(k) = 0 • i, x, (Fi(x) = 0) ⇒ ( j ≠ i, Fj(x) ≠ 0) A A A A A Quelques protocoles instantanément stabilisants
Spécification en système distribué • Exclusion Mutuelle • Spécification statique • Jamais plus d’un processeur en SC • Tout processeur demandeur finit par entrer en SC • Spécification dynamique • Si plus d’un processeur en SC alors aucun n’est demandeur • Tout processeur demandeur finit par entrer en SC Quelques protocoles instantanément stabilisants
Equivalence entre 2 spécifications ? • 2 spécifications S1 et S2 sont équivalentes SSI : • Tout protocole écrit pour S1 dans un environnement sans panne vérifie aussi S2 et réciproquement. Quelques protocoles instantanément stabilisants
Exemple: Exclusion Mutuelle • S1 : • Jamais plus d’un processeur en SC • (Tout processeur demandeur finit par entrer en SC) • S2 : • Si plus d’un processeur en SC alors aucun de ces processeurs n’est demandeur • (Tout processeur demandeur finit par entrer en SC) Si un demandeur en SC alors il est le seul en SC S1 et S2 sont équivalentes P vérifie S2 ⇒P vérifie S1 ? P vérifie S1 ⇒P vérifie S2 ? Quelques protocoles instantanément stabilisants
Stabilisation instantanée • Un protocole P est instantanément stabilisant pour une tâche T ssi : • Quel que soit l’état initial du système, P vérifie toujours la spécification de T. • [Bui, Datta, Petit et Villain, WSS’99] Quelques protocoles instantanément stabilisants
Une tâche admet une solution instantanément stabilisante SI :∃ une spécification pour laquelle ∃ un algorithme instantanément stabilisant. Exemple : Exclusion Mutuelle - S1 : pas d’algorithme possible- S2 : On peut trouver une solution Toute tâche admettant une solution auto-stabilisante dans un réseau identifié admet une solution instantanément stabilisante. [Cournier, Datta, Petit et Villain, ICDCS’2003] Quelques protocoles instantanément stabilisants
Exemple : parcours en profondeur instantanément stabilisant Quelques protocoles instantanément stabilisants
Modèle à états • Mémoires localement partagées • Démon • Distribution (séquentiel, distribué, synchronisé) • Equité (fortement ou faiblement équitable, inéquitable) • Complexité : • Nombre de pas de calcul • Nombre de rounds Quelques protocoles instantanément stabilisants
Parcours en profondeur dans un réseau enraciné quelconque R Quelques protocoles instantanément stabilisants
Parcours en profondeur instantanément stabilisant • Spécification (dynamique): • La racine crée un jeton en temps fini • Une fois créé, le jeton parcourt tout le réseau en profondeur d’abord Quelques protocoles instantanément stabilisants
1ère Solution [OPODIS’2004] Utiliser des listes d’identités : On stocke les identités des processeurs visités au fur et à mesure du parcours. Quelques protocoles instantanément stabilisants
Comportement à partir d’une configuration initiale « normale » 1 2 4 3 {5,6,7,3,2,4,8} {5,6,7,3,2,4} {5,6,7,3,2} {5,6,7,3} {5,6,7,3,2} R 7 8 6 5 {5,6,7,3,2,4,8} {5,6} {5} {5,6,7} 9 Quelques protocoles instantanément stabilisants
A partir d’une configuration quelconque 3 attend la correction de l’erreur 1 2 3 5 4 {8,3} {2,3} {5,7} R 10 9 7 6 8 {8} {5,7,10} 12 11 13 15 16 14 {6,8,11} {6,8,11,12} {5,7,10,15} 18 17 Quelques protocoles instantanément stabilisants
Correction des parcours anormaux 1 2 3 {3,5,8,7,6,4,1,2} {3,5,8,7,6,4,1} {3,5,8,7,6,4,1,2} {} {3} 5 4 {3,5,8,7,6,4,1,2} {3,5,8,7,6,4} {3,5} 6 7 8 {3,5,8,7,6} {3,5,8,7} {3,5,8} Quelques protocoles instantanément stabilisants
2ème Solution [SSS’2005] • But: Améliorer l’occupation mémoire • Remplacer les listes d’identités par un mécanisme de questions [Blin, Cournier et Villain, SSS’2003] Quelques protocoles instantanément stabilisants
Problème : quand remonter le jeton? R R Quelques protocoles instantanément stabilisants
Solution : Question à la racine Reset Seule la racine peut délivrer une réponse Q Wait Reset Reset Quelques protocoles instantanément stabilisants
Réponse : 1er cas Ok Ok Ok Ok Ok Ok R Ok Quelques protocoles instantanément stabilisants
Réponse : 2ème cas R Ok Ok Ok Le parcours normal reste bloquer jusqu’à la correction de l’autre parcours Quelques protocoles instantanément stabilisants
Correction des parcours anormaux • Deux étapes : • PIF bloquant dans l’arbre des parcours anormaux • Nettoyer de la racine vers les feuilles Quelques protocoles instantanément stabilisants
Problème: nettoyage du parcours de la racine • 2 manières classiques de nettoyer : • A partir des feuilles • A partir de la racine Quelques protocoles instantanément stabilisants
Problème : nettoyage du parcours de la racine r Quelques protocoles instantanément stabilisants
Problème : nettoyage du parcours de la racine r ... ... Quelques protocoles instantanément stabilisants
Solution : nettoyage « synchronisé » r Quelques protocoles instantanément stabilisants
Conclusion : SSS’05 vs OPODIS’04 Quelques protocoles instantanément stabilisants
Pourquoi écrire de nouveaux protocoles instantanément stabilisant alors qu’il existe un transformeur? Quelques protocoles instantanément stabilisants
Perspectives • Trouver une solution efficace à la fois en temps et en espace • Exclusion mutuelle instantanément stabilisante • Transformeur pour un démon inéquitable (Snap-Stabilizing PIF and Useless Computation, ICPADS’06) Quelques protocoles instantanément stabilisants
Publications • Cournier, Devismes, Petit et Villain. Snap-Stabilizing Depth-First Search on Arbitrary Networks. A paraître dansThe Computer Journal, 2005. Devismes. A Silent Self-Stabilizing Algorithm for finding Cut-nodes and Bridges. Parallel Processing Letters, Vol 15, N°1 & 2, page 183-198, 2005. Cournier, Devismes et Villain. Snap-Stabilizing PIF and Useless Computations. Accepté à ICPADS'06, Juillet 12-15, 2006. Minneapolis, USA. Cournier, Devismes et Villain. A Snap-Stabilizing DFS with a Lower Space Requirement. SSS’2005, pages 33-47, LNCS 3764, 2005. Cournier, Devismes et Villain. Snap-Stabilizing Detection of Cutsets. HIPC’2005, pages 488-497, LNCS 3769, 2005. Cournier, Devismes, Petit et Villain. Snap-Stabilizing Depth-First Search on Arbitrary Networks. OPODIS’2004, pages 267-282, LNCS 3544, 2005. Quelques protocoles instantanément stabilisants