Post on 03-Apr-2015
Stabilisation instantanée efficace
Alain Cournier, Stéphane Devismes et Vincent Villain
Séminaire à l’université de Reims, le 5 avril 2007
Stabilisation instantanée efficace 2
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 3
Algorithme à vagues
Un algorithme à vagues P vérifie [Tel, 2001] :1. Chaque exécution (vague) de P se déroule en un temps fini2. Chaque exécution de P contient au moins une décision3. 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 4
Algorithme à vagues auto-stabilisant
1.X ≠ F(X)2.X ≠ F(X)3.X ≠ F(X)4.X ≠ F(X)N.X F(X)
N est fini mais non borné
F(.)
Stabilisation instantanée efficace 5
Algorithme à vagues instantanément stabilisant
1.X F(X)F(.)
Stabilisation instantanée efficace 6
Modèle à états
Mémoire localement partagée
Algorithme sous forme de règles gardées :
Garde(p) → Traitement(p)
Stabilisation instantanée efficace 7
Transformateur
Algorithme non tolérant aux fautes
Algorithme instantanément stabilisant
Stabilisation instantanée efficace 8
Les autres transformateurs
Transformateur auto-stabilisant de
[Katz et Perry, 1993]
(modèle à passage de messages)
Stabilisation instantanée efficace 9
Les autres transformateurs
Transformateur instantanément stabilisant de
[Cournier, Datta, Petit et Villain, 2003]
(modèle à états)
Stabilisation instantanée efficace 10
Transformateur de [Cournier et al, 2003]
KP Auto(P)
P
CDPV Snap(P)
Stabilisation instantanée efficace 11
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 12
Transformateur instantanément stabilisant efficace
Stabilisation instantanée efficace 13
Exemple : Circulation de jeton en profondeur
r
Prédicat PriseEnMain(r
)
Stabilisation instantanée efficace 14
Exemple : Circulation de jeton en profondeur
r
PriseEnMain(r)
est vérifié
Stabilisation instantanée efficace 15
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 16
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 17
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 18
Stabilisation instantanée efficace 19
Aucun calcul d’état global ⇒ Efficacité
Θ(1)Θ(n)Θ(1)Θ(1)Surcoût
Θ(∆n3)Θ(∆n3)Θ(n²)∞Exécution(étapes)
Θ(n)Θ(n²)Θ(n)Θ(Dn)Exécution(rondes)
Θ(log n)Θ(log n)Θ(n log n)Θ(log n)Mémoire
IIIFEquité
DFSTSSS’05Opodis’04HC93
Stabilisation instantanée efficace 20
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 21
Conclusion
Simplicité
Solution avec un démon distribué inéquitable
Efficacité
Extension : – Exclusion mutuelle instantanément stabilisante
Stabilisation instantanée efficace 22
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 23