Stabilisation instantanée efficace

publicité
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
2
Algorithme à vagues
Un algorithme à vagues P vérifie [Tel, 2001] :
1. Chaque exécution (vague) de P se déroule en un temps fini
2. Chaque exécution de P contient au moins une décision
3. 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
3
Algorithme à vagues auto-stabilisant
1.X
2.X
3.X
4.X
N.X
F(.)
Stabilisation instantanée efficace
F(X)
≠
F(X)
4
Algorithme à vagues instantanément stabilisant
1.X
F(.)
Stabilisation instantanée efficace
F(X)
5
Modèle à états
Mémoire localement partagée
Algorithme sous forme de règles gardées :
Garde(p) → Traitement(p)
Stabilisation instantanée efficace
6
Transformateur
Algorithme non tolérant aux fautes
Algorithme instantanément stabilisant
Stabilisation instantanée efficace
7
Les autres transformateurs
Transformateur auto-stabilisant de
[Katz et Perry, 1993]
(modèle à passage de messages)
Stabilisation instantanée efficace
8
Les autres transformateurs
Transformateur instantanément stabilisant de
[Cournier, Datta, Petit et Villain, 2003]
(modèle à états)
Stabilisation instantanée efficace
9
Transformateur de [Cournier et al, 2003]
KP
Auto(P)
CDPV
Snap(P)
P
Stabilisation instantanée efficace
10
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
11
Transformateur instantanément
stabilisant efficace
Stabilisation instantanée efficace
12
Exemple : Circulation de jeton en profondeur
r
Prédicat
PriseEnMain(r)
Stabilisation instantanée efficace
13
Exemple : Circulation de jeton en profondeur
r
Stabilisation instantanée efficace
14
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
15
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
16
Notre transformateur
Pour tout algorithme à vagues P mono-initiateur avec
décision à l’initiateur, on a :
Stabilisant(P) ⇒ ∃ PriseEnMain(r)
⇍
Stabilisation instantanée efficace
17
Stabilisation instantanée efficace
18
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
I
I
I
Θ(1)
Θ(1)
Θ(n)
Θ(1)
Equité
Surcoût
Stabilisation instantanée efficace
19
Extention de la circulation de jeton
Extention directe
stabilisante efficace

:
exclusion
mutuelle
auto-
– 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
20
Conclusion

Simplicité

Solution avec un démon distribué inéquitable

Efficacité

Extension :
– Exclusion mutuelle instantanément stabilisante
Stabilisation instantanée efficace
21
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
22
Stabilisation instantanée efficace
23
Téléchargement