Stabilisation instantanée efficace
description
Transcript of Stabilisation instantanée efficace
Stabilisation instantanée efficace
Alain Cournier, Stéphane Devismes et Vincent Villain
Séminaire FRAGILE, le 19 juin 2007, LIP6
Stéphane Devismes, FRAGILE, 19 juin 2007 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.
Stéphane Devismes, FRAGILE, 19 juin 2007 3
Auto-stabilisation : point de vue « système »
Etats légitimesEtats illégitimes
Stéphane Devismes, FRAGILE, 19 juin 2007 4
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.
1.X F(X)F(.)
Stéphane Devismes, FRAGILE, 19 juin 2007 5
Exemple: imprimante partagée
Stéphane Devismes, FRAGILE, 19 juin 2007 6
Auto-stabilisation
1.X2.XN.X
Stéphane Devismes, FRAGILE, 19 juin 2007 7
Stabilisation instantanée
1.X
Stéphane Devismes, FRAGILE, 19 juin 2007 8
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 9
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 10
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 11
PIR : Propagation d’information avec retour
r
Stéphane Devismes, FRAGILE, 19 juin 2007 12
A partir d’une configuration quelconque
r
Stéphane Devismes, FRAGILE, 19 juin 2007 13
Problème : quand exécuter le retour ?
r r
Stéphane Devismes, FRAGILE, 19 juin 2007 14
Solution : Question / Réponse [Blin et al,2003]
Q
Stéphane Devismes, FRAGILE, 19 juin 2007 15
Premier cas
r
Q
Q Q
Q
Q
Q
OK
OK
OK
OK
OK
OK
OK
OK
OK
Stéphane Devismes, FRAGILE, 19 juin 2007 16
Deuxième cas
r
OK OK OK
OK
OK
OKOK
Pré-traitement : Reset
Stéphane Devismes, FRAGILE, 19 juin 2007 17
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 18
Transformateur
Algorithme non tolérant aux fautes
Algorithme instantanément stabilisant
Stéphane Devismes, FRAGILE, 19 juin 2007 19
Les autres transformateurs
Transformateur auto-stabilisant de
[Katz et Perry, 1993]
(modèle à passage de messages)
Stéphane Devismes, FRAGILE, 19 juin 2007 20
Les autres transformateurs
Transformateur instantanément stabilisant de
[Cournier, Datta, Petit et Villain, 2003]
(modèle à états)
Stéphane Devismes, FRAGILE, 19 juin 2007 21
Transformateur de [Cournier et al, 2003]
KP Auto(P)
P
CDPV Snap(P)
Stéphane Devismes, FRAGILE, 19 juin 2007 22
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 23
Transformateur instantanément stabilisant efficace
Stéphane Devismes, FRAGILE, 19 juin 2007 24
Exemple : Circulation de jeton en profondeur
r
Prédicat PriseEnMain(r
)
Stéphane Devismes, FRAGILE, 19 juin 2007 25
Exemple : Circulation de jeton en profondeur
r
PriseEnMain(r)
est vérifié
Stéphane Devismes, FRAGILE, 19 juin 2007 26
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 27
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 28
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 29
Stéphane Devismes, FRAGILE, 19 juin 2007 30
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é
DFSTCDV05CDPV04HC93
Stéphane Devismes, FRAGILE, 19 juin 2007 31
Conclusion
Simplicité
Solution avec un démon distribué inéquitable
Efficacité
Stéphane Devismes, FRAGILE, 19 juin 2007 32
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 33