23
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

  • Upload
    tejana

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

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) - PowerPoint PPT Presentation

Citation preview

Page 1: Stabilisation instantanée efficace

Stabilisation instantanée efficace

Alain Cournier, Stéphane Devismes et Vincent Villain

Séminaire à l’université de Reims, le 5 avril 2007

Page 2: Stabilisation instantanée efficace

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

Page 3: Stabilisation instantanée efficace

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

Page 4: Stabilisation instantanée efficace

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(.)

Page 5: Stabilisation instantanée efficace

Stabilisation instantanée efficace 5

Algorithme à vagues instantanément stabilisant

1.X F(X)F(.)

Page 6: Stabilisation instantanée efficace

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)

Page 7: Stabilisation instantanée efficace

Stabilisation instantanée efficace 7

Transformateur

Algorithme non tolérant aux fautes

Algorithme instantanément stabilisant

Page 8: Stabilisation instantanée efficace

Stabilisation instantanée efficace 8

Les autres transformateurs

Transformateur auto-stabilisant de

[Katz et Perry, 1993]

(modèle à passage de messages)

Page 9: Stabilisation instantanée efficace

Stabilisation instantanée efficace 9

Les autres transformateurs

Transformateur instantanément stabilisant de

[Cournier, Datta, Petit et Villain, 2003]

(modèle à états)

Page 10: Stabilisation instantanée efficace

Stabilisation instantanée efficace 10

Transformateur de [Cournier et al, 2003]

KP Auto(P)

P

CDPV Snap(P)

Page 11: Stabilisation instantanée efficace

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

Page 12: Stabilisation instantanée efficace

Stabilisation instantanée efficace 12

Transformateur instantanément stabilisant efficace

Page 13: Stabilisation instantanée efficace

Stabilisation instantanée efficace 13

Exemple : Circulation de jeton en profondeur

r

Prédicat PriseEnMain(r

)

Page 14: Stabilisation instantanée efficace

Stabilisation instantanée efficace 14

Exemple : Circulation de jeton en profondeur

r

PriseEnMain(r)

est vérifié

Page 15: Stabilisation instantanée efficace

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

Page 16: Stabilisation instantanée efficace

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

Page 17: Stabilisation instantanée efficace

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

Page 18: Stabilisation instantanée efficace

Stabilisation instantanée efficace 18

Page 19: Stabilisation instantanée efficace

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

Page 20: Stabilisation instantanée efficace

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é)

Page 21: Stabilisation instantanée efficace

Stabilisation instantanée efficace 21

Conclusion

Simplicité

Solution avec un démon distribué inéquitable

Efficacité

Extension : – Exclusion mutuelle instantanément stabilisante

Page 22: Stabilisation instantanée efficace

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 ?

Page 23: Stabilisation instantanée efficace

Stabilisation instantanée efficace 23