230 likes | 389 Views
Séminaire à l’université de Reims, le 5 avril 2007. Stabilisation instantanée efficace. Alain Cournier, Stéphane Devismes et Vincent Villain. Stabilisation. Auto-stabilisation (Dijkstra, 1974)
E N D
Séminaire à l’université de Reims, le 5 avril 2007 Stabilisation instantanée efficace Alain Cournier, Stéphane Devismes et Vincent Villain
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. • Applications : • Tolérance aux fautes transitoires, systèmes dynamiques Stabilisation instantanée efficace
Algorithme à vagues • Un algorithme à vagues P vérifie [Tel, 2001] : • Chaque exécution (vague) de P se déroule en un temps fini • Chaque exécution de P contient au moins une décision • Durant une exécution, chaque décision est causalement précédée par au moins une action sur chaque processeur • Décision : tâche « terminée » • Actions de démarrage • Exemples : • Propagation d’informations avec retour (PIR) • Circulation de jetons Stabilisation instantanée efficace
1.X 2.X 3.X 4.X ≠ F(X) ≠ F(X) ≠ F(X) ≠ F(X) Nest fini mais non borné N.X F(X) Algorithme à vagues auto-stabilisant F(.) Stabilisation instantanée efficace
1.X F(X) Algorithme à vagues instantanément stabilisant F(.) Stabilisation instantanée efficace
Modèle à états • Mémoire localement partagée • Algorithme sous forme de règles gardées : • Garde(p) → Traitement(p) Stabilisation instantanée efficace
Transformateur • Algorithme non tolérant aux fautes Algorithme instantanément stabilisant Stabilisation instantanée efficace
Les autres transformateurs • Transformateur auto-stabilisant de • [Katz et Perry, 1993] • (modèle à passage de messages) Stabilisation instantanée efficace
Les autres transformateurs • Transformateur instantanément stabilisant de • [Cournier, Datta, Petit et Villain, 2003] • (modèle à états) Stabilisation instantanée efficace
Transformateur de [Cournier et al, 2003] Auto(P) KP P Snap(P) CDPV Stabilisation instantanée efficace
Transformateur de [Cournier et al, 2003] • Calcul périodique d’état global du système • Inconvénients : • Prédicat • Réseau identifié • Nombre de calculs d’état global non bornable • Conséquence : nombre d’étapes de calculs pour une exécution non bornable Stabilisation instantanée efficace
Transformateur instantanément stabilisant efficace Stabilisation instantanée efficace
Exemple : Circulation de jeton en profondeur r Prédicat PriseEnMain(r) Stabilisation instantanée efficace
Exemple : Circulation de jeton en profondeur r PriseEnMain(r)est vérifié Stabilisation instantanée efficace
Réinitialisation : PIR • PIR : • Phase de diffusion : Les processeurs stoppent l’exécution du protocole initial • Phase de retour : les variables du protocole initial sont réinitialisées • PIR instantanément stabilisant [Cournier, Devismes et Villain, 2006] • Nombre borné d’étapes de calculs par exécution Stabilisation instantanée efficace
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 Stabilisation instantanée efficace
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 Stabilisation instantanée efficace
Aucun calcul d’état global ⇒ Efficacité HC93 Opodis’04 SSS’05 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) Stabilisation instantanée efficace
Extention de la circulation de jeton • Extention directe : exclusion mutuelle auto-stabilisante efficace • Sûreté vérifiée dès le 3ème jeton • Avec une légère modification : Exclusion mutuelle instantanément stabilisante • Spécification : • Tout processeur demandeur finit par entrer en SC (Vivacité) • Si un processeur demandeur est en SC alors il est le seul en SC (Sûreté) Stabilisation instantanée efficace
Conclusion • Simplicité • Solution avec un démon distribué inéquitable • Efficacité • Extension : • Exclusion mutuelle instantanément stabilisante Stabilisation instantanée efficace
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 ? Stabilisation instantanée efficace