Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Stabilisation instantanée efficace
Séminaire à l’université de Reims, le 5 avril 2007 Stabilisation instantanée efficace Alain Cournier, Stéphane Devismes et Vincent Villain
2
Stabilisation instantanée efficace
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
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
4
Algorithme à vagues auto-stabilisant
N est fini mais non borné N.X F(X) 4.X ≠ F(X) 3.X ≠ F(X) 2.X ≠ F(X) 1.X ≠ F(X) F(.) Un protocole de service auto-stab converges vers un comportement spécifique en un temps fini. En conséquence, un tel protocole doit être répété un nombre fini de fois pour assurer que le service fini par être rendu conformément à ses spécifs. En fait, le service sera rendu correctement à condition qu’il soit initié à partir d’une configuration légitime. Pb : dns le cas général, le nombre de répétitions nécessaire pour assurer un service correct n’est pas borné. Stabilisation instantanée efficace
5
Algorithme à vagues instantanément stabilisant
1.X F(X) F(.) Au contraire, la stabilisation instantanée assure que le service est rendu correctement dès la première exécution, quelque soit la config initiale. Il faut noter, que dans la snap, le service n’a pas besoin d’être démarrer à partir d’une configuration spéciale. Une configuration initial correct n’est pas requise pour assurer le service. Plus précisément, une perturbation du réseau, le réseau se retrouve dans une configuration quelconque. La snap assure qu’à partir de cette conf, dès la première requête. Le service associé à cette requête sera démarré en un temps fini et à partir de ce démarrage, le service sera rendu conformément à ses spécifs. 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) Le modèle à états est un modèle à mémoire partagée : Chaque processeur a un accès direct en lecture aux variables de ses voisins En revanche, son accès en écriture est limité a ses propres variables Dans le modèle à états, on écrit les algorithmes sous la forme de commandes gardées : La garde d’une commande est un prédicats sur les variables du processeur et celle de ses voisins On dira qu’une commande est activable dans une configuration donnée si sa garde est à vrai Et dans ce cas le processeur sera dit « activable » Stabilisation instantanée efficace
7
Algorithme non tolérant aux fautes
Transformateur Algorithme non tolérant aux fautes Algorithme instantanément stabilisant Le but d’un transformateur instantanément stabilisant est de … Stabilisation instantanée efficace
8
Les autres transformateurs
Transformateur auto-stabilisant de [Katz et Perry, 1993] (modèle à passage de messages) Pour graphe quelconques Stabilisation instantanée efficace
9
Les autres transformateurs
Transformateur instantanément stabilisant de [Cournier, Datta, Petit et Villain, 2003] (modèle à états) Pour graphe quelconques Stabilisation instantanée efficace
10
Transformateur de [Cournier et al, 2003]
Auto(P) KP P Snap(P) CDPV Pas à usage pratique Outil de demonstration Tout protocole qui peut être transformé en protocole auto par KP peut être rtansformé en protocole snap par Counier et al 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 Le transformateur de Cournier Datta Petit et Villain utilise périodiquement des calculs d’état global pour vérifié si le systeme est dans une configuration normale Inconvénient : Prédicat difficile à formaliser Réseau identifié Les snapshot se font indépendamment de la progreession de l’exécution du protocol à transformer. D’après le dernier inconvénient, on a les conséquences suivantes Stabilisation instantanée efficace
12
Transformateur instantanément stabilisant efficace
Stabilisation instantanée efficace
13
Exemple : Circulation de jeton en profondeur
Prédicat PriseEnMain(r) Stabilisation instantanée efficace
14
Exemple : Circulation de jeton en profondeur
PriseEnMain(r) est vérifié Stabilisation instantanée efficace
15
Réinitialisation : 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 PIR -> RESET : easy Nous avons créé un protocole de PIR instantanément stabilisant en utilisant en particulier le mécanisme de question Avantage ? Stabilisation instantanée efficace
16
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 Notre transformateur : utilisable mais pas universel On s’intéresse à … Pourquoi ces proto : Tout d’abord, protocole fondammentaux qui permettent de résoudre de nombreuse tâches. Ensuite, nous allons utiliser les propriétés intrinsecque de ces proto pour pourvoir nous affranchir de l’utilisation des snapshots. Stabilisation instantanée efficace
17
PriseEnMain(r) est plus faible
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 Ce type de prédicat existe aussi intrinsequement dans les solutions auto car comme on répéte les exécutions de service. On doit assurer que le prochain service sera exécuté seulement après que le précédent soit terminé. Donc la propriété de stabilisation dans les proto de service implique l’existence d’un tel prédicat. La réciproque est qu’en a elle fausse. Assurer que la racien reprend la main en un temps fini malgré la configuration initial quelconque n’assure pas la stabilisation du protocole. Nous verrons par la suite un exemple de protocole … Il faut noté qu’en utilisant ce prédicat de prise en main, nous avons montrer que tout proto auto de service mono initiateur avec décision à la racine pouvais être trivialement transformer en proto snap . (interblocage du la config initiale quelconque) Stabilisation instantanée efficace
18
Stabilisation instantanée efficace
La propriété étant plus simple en théorie, l’est aussi en pratique : Par exemple À gauche on a le code de notre deuxième sol snap Et à droite, le code de notre protocole modifié Stabilisation instantanée efficace
19
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) Equité F I I I Surcoût Θ(1) Θ(1) Θ(n) Θ(1) 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
Stabilisation instantanée efficace
Conclusion Simplicité Solution avec un démon distribué inéquitable Efficacité Extension : Exclusion mutuelle instantanément stabilisante Avantanges Stabilisation instantanée efficace
22
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
23
Stabilisation instantanée efficace
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.