330 likes | 525 Views
Stabilisation instantanée efficace. Alain Cournier, Stéphane Devismes et Vincent Villain Séminaire FRAGILE, le 19 juin 2007, LIP6. Stabilisation ?. Auto-stabilisation (Dijkstra, 1974)
E N D
Stabilisation instantanée efficace Alain Cournier, Stéphane Devismes et Vincent Villain Séminaire FRAGILE, le 19 juin 2007, LIP6
Stabilisation ? • Auto-stabilisation(Dijkstra, 1974) • Un système auto-stabilisant, quel que soit son état initial, converge en un temps fini vers un comportement vérifiant ses spécifications. • Stabilisation instantanée(Bui, Datta, Petit et Villain, 1999) • Un système instantanément stabilisant, quel que soit son état initial, vérifie toujours ses spécifications. Stéphane Devismes, FRAGILE, 19 juin 2007
Auto-stabilisation : point de vue « système » Etats légitimes Etats illégitimes Stéphane Devismes, FRAGILE, 19 juin 2007
1.X F(X) Stabilisation instantanée : point de vue « utilisateur » A partir de n’importe quelle configuration initiale, assurer un service spécifique dès la première requête. F(.) Stéphane Devismes, FRAGILE, 19 juin 2007
Exemple: imprimante partagée Stéphane Devismes, FRAGILE, 19 juin 2007
Auto-stabilisation N.X 1.X 2.X Stéphane Devismes, FRAGILE, 19 juin 2007
Stabilisation instantanée 1.X Stéphane Devismes, FRAGILE, 19 juin 2007
Modèle à états • Mémoire localement partagée • Algorithme sous forme de règles gardées : • Garde(p) → Traitement(p) Stéphane Devismes, FRAGILE, 19 juin 2007
Modèle à états Exécutions gérées par un démon : α0 → α1 → … → αi → αi+1 → …→ αk αi αi+1 Stéphane Devismes, FRAGILE, 19 juin 2007
Modèle à états • Caractéristiques des démons : • Propriété d’un choix : répartition • Séquentiel • Synchrone • Distribué • Propriété sur une suite de choix : équité • Fortement équitable • Faiblement équitable • Inéquitable Stéphane Devismes, FRAGILE, 19 juin 2007
PIR : Propagation d’information avec retour r Stéphane Devismes, FRAGILE, 19 juin 2007
r A partir d’une configuration quelconque Stéphane Devismes, FRAGILE, 19 juin 2007
Problème : quand exécuter le retour ? r r Stéphane Devismes, FRAGILE, 19 juin 2007
Solution : Question / Réponse[Blin et al,2003] Q Stéphane Devismes, FRAGILE, 19 juin 2007
Premier cas OK Q OK Q OK r OK Q OK Q Q OK Q Q OK OK Q OK Stéphane Devismes, FRAGILE, 19 juin 2007
Deuxième cas OK OK OK r OK OK Pré-traitement : Reset OK OK Stéphane Devismes, FRAGILE, 19 juin 2007
PIR instantanément stabilisant[Cournier, Devismes et Villain, 2006] • Avantage : démon distribué inéquitable • Nombre borné d’étapes par vague • Outil de base : • Reset • Snapshot • Détection de termination • … Stéphane Devismes, FRAGILE, 19 juin 2007
Transformateur Algorithme non tolérant aux fautes Algorithme instantanément stabilisant Stéphane Devismes, FRAGILE, 19 juin 2007
Les autres transformateurs Transformateur auto-stabilisant de [Katz et Perry, 1993] (modèle à passage de messages) Stéphane Devismes, FRAGILE, 19 juin 2007
Les autres transformateurs Transformateur instantanément stabilisant de [Cournier, Datta, Petit et Villain, 2003] (modèle à états) Stéphane Devismes, FRAGILE, 19 juin 2007
Transformateur de [Cournier et al, 2003] Auto(P) KP P Snap(P) CDPV Stéphane Devismes, FRAGILE, 19 juin 2007
Transformateur de [Cournier et al, 2003] • Snapshots • Inconvénients : • Prédicat • Réseau identifié • Nombre de snapshots non bornable • Conséquence : nombre d’étapes de calculs pour une vague non bornable Stéphane Devismes, FRAGILE, 19 juin 2007
Transformateur instantanément stabilisant efficace Stéphane Devismes, FRAGILE, 19 juin 2007
Exemple : Circulation de jeton en profondeur r Prédicat PriseEnMain(r) Stéphane Devismes, FRAGILE, 19 juin 2007
Exemple : Circulation de jeton en profondeur r PriseEnMain(r)est vérifié Stéphane Devismes, FRAGILE, 19 juin 2007
Reset : PIR • PIR instantanément stabilisant : • Phase de diffusion : Les processeurs stoppent l’exécution du protocole initial • Phase de retour : les variables du protocole initial sont réinitialisées • Avantage : • surcoût borné en nombre d’étapes ⇒Efficacité Stéphane Devismes, FRAGILE, 19 juin 2007
Notre transformateur • Algorithme à vagues mono-initiateur • Décision à l’initiateur • Exemples : • Parcours en profondeur • Calcul d’arbre en largeur avec détection de terminaison • Applications : • Calcul d’arbre couvrant • Exclusion mutuelle • Diffusion • … Stéphane Devismes, FRAGILE, 19 juin 2007
Notre transformateur Pour tout algorithme à vagues P mono-initiateur avec décision à l’initiateur, on a : Stabilisant(P) ⇒∃PriseEnMain(r) ⇍ PriseEnMain(r) est plus faible Stéphane Devismes, FRAGILE, 19 juin 2007
Efficacité HC93 CDPV04 CDV05 DFST Mémoire Θ(log n) Θ(n log n) Θ(log n) Θ(log n) Exécution(rondes) Θ(Dn) Θ(n) Θ(n²) Θ(n) Exécution(étapes) ∞ Θ(n²) Θ(∆n3) Θ(∆n3) F Equité I I I Surcoût Θ(1) Θ(1) Θ(n) Θ(1) Stéphane Devismes, FRAGILE, 19 juin 2007
Conclusion • Simplicité • Solution avec un démon distribué inéquitable • Efficacité Stéphane Devismes, FRAGILE, 19 juin 2007
Perspectives • Peut-on obtenir un transformateur efficace pour des classes de protocoles plus larges ? • Existe-t-il une propriété plus faible que la propriété de «prise en main» permettant d’obtenir un transformateur efficace ? • Peut-on obtenir la propriété de «prise en main» automatiquement ? Stéphane Devismes, FRAGILE, 19 juin 2007