Algorithmes distribu´ees auto-stabilisants.
Johanne Cohen1
1LORIA/CNRS, Nancy, France.
1/55 1
ef´erences
Shlomi Dolev
Self-Stabilization
E.W. Dijkstra
Self-stabilizing systems in spite of distributed control.
Commun. ACM 17 (1974), 11 : 643-644.
erard Tel
Introduction to Distributed Algorithms
!ebastien Tixieul
Introduction to Self-stabilization
http ://sogea.loria.fr/.
2/55 2
Plan
Introduction
efinition
Syst`eme auto-stabilisant
Type de communications
Le premier algorithme auto-stabilisant Dijkstra
Technique de preuve
distance dans un graphe.
Composition d’algorithme d’auto-stabilisation
Conclusion
3/55 3
Petit exemple (1/2).
Consid´erons la suite unsuivante
u0=x
un=
un
2si unpair
3un+1
2sinon (unimpair)
n0 1 2 3 4 5 6 7 8 9 10 11
un17 26 13 20 10 5 8 4 2 1 2 1
Quelque soit la valeur initiale, elle converge vers le comportement :
121212121212121212121212121212
4/55 4
Petit exemple (2/2).
1
2
1
2
1
2
1
6
3
5
8
4
2
1
2
1
2
10
5
8
4
2
1
2
1
2
1
2
5/55 5
Plan
Introduction
efinition
Syst`eme auto-stabilisant
Type de communications
Le premier algorithme auto-stabilisant Dijkstra
Technique de preuve
distance dans un graphe.
Composition d’algorithme d’auto-stabilisation
Conclusion
6/55 6
Plan
Introduction
efinition
Syst`eme auto-stabilisant
Type de communications
Le premier algorithme auto-stabilisant Dijkstra
Technique de preuve
distance dans un graphe.
Composition d’algorithme d’auto-stabilisation
Conclusion
7/55 7
Rappel de d´efinition
Definition
Un syst`eme de transition est un couple S=(C,) o`u
Cest un ensemble de configurations
est une relation binaire sur C
Definition
Une ex´ecution de Sest une suite maximale (finie ou infinie)
E=(γ0,γ1, . . . , γn, . . . ) telle que
pour tout i0, on a γiγi+1
Definition
Une sp´ecification est un pr´edicat Psur l’ensemble des ex´ecutions
8/55 8
Retour au petit exemple
Ensemble de configurations possibles (N+)
fonction de transition :
γiγi+1 SSi γi+1 =
γi
2si γipair
3γi+1
2sinon (γiimpair)
une ex´ecution : E= (17,26,13,20,10,5,8,4,2,1,2,1)
Un pr´edicat P(γ) = (γ== 1) (γ== 2)
9/55 9
efinition de l’auto-stabilisation
un syst`eme est auto-stabilisant est d´efini par Dijkstra en 1973
Regardless of its initial state, it is guaranteed
to arrive at a legitimate state in a finite number
of steps.
Plus formellement,
Definition
Un syst`eme de transition S=(C,) est auto-stabilisant pour une
sp´ecification Ps’il existe un ensemble LCde configurations
egitimes v´erifiant les propri´et´es suivantes
1. Convergence : toute ex´ecution atteint une configuration de
L.
2. Correction : toute ex´ecution d´ebutant par une configuration
de Lsatisfait P
10/55 10
efinitions sur les configurations
configurations possibles
configurations l´egitimes
11/55 11
Complexit´e d’un algorithme auto-stabilisant
en espace : est la taille (en nombre de bits) des variables utilis´ees
localement pour chaque processeur.
en temps : est le nombre de tours n´ecessaires pour parvenir `a
une configuration l´egitime (au cours d’un tour,
chaque processeur ex´ecute ou tente d’ex´ecuter son
code local).
12/55 12
Retour au petit exemple
Ensemble de configurations possibles (N+)
fonction de transition :
γiγi+1 SSi γi+1 =
γi
2si γipair
3γi+1
2sinon (γiimpair)
Un pr´edicat P(γ) = (γ== 1) (γ== 2)
Configurations l´egitimes : un= 1, un= 2, i.e : L={1,2}
propri´et´e de correction
propri´et´e de convergence ? (i.e : toute ex´ecution atteint une
configuration de L.)
Conjecture `a 1 000 000 Dollars pour la prouver.
13/55 13
Retour au petit exemple
Ensemble de configurations possibles (N+)
fonction de transition :
γiγi+1 SSi γi+1 =
γi
2si γipair
3γi+1
2sinon (γiimpair)
Un pr´edicat P(γ) = (γ== 1) (γ== 2)
Configurations l´egitimes : un= 1, un= 2, i.e : L={1,2}
propri´et´e de correction ? (i.e toute ex´ecution d´ebutant par
une configuration de Lsatisfait P)
Si γi= 1 alors γi+1 =2
Si γi= 2 alors γi+1 =1
propri´et´e de convergence ? (i.e : toute ex´ecution atteint une
configuration de L.)
Conjecture `a 1 000 000 Dollars pour la prouver.
13/55 13
Retour au petit exemple
Ensemble de configurations possibles (N+)
fonction de transition :
γiγi+1 SSi γi+1 =
γi
2si γipair
3γi+1
2sinon (γiimpair)
Un pr´edicat P(γ) = (γ== 1) (γ== 2)
Configurations l´egitimes : un= 1, un= 2, i.e : L={1,2}
propri´et´e de correction : OUI
propri´et´e de convergence ? (i.e : toute ex´ecution atteint une
configuration de L.)
Conjecture `a 1 000 000 Dollars pour la prouver.
13/55 13
Retour au petit exemple
Ensemble de configurations possibles (N+)
fonction de transition :
γiγi+1 SSi γi+1 =
γi
2si γipair
3γi+1
2sinon (γiimpair)
Un pr´edicat P(γ) = (γ== 1) (γ== 2)
Configurations l´egitimes : un= 1, un= 2, i.e : L={1,2}
propri´et´e de correction : OUI
propri´et´e de convergence ? (i.e : toute ex´ecution atteint une
configuration de L.)
Conjecture `a 1 000 000 Dollars pour la prouver.
13/55 13
Notation
Commande
r`egle gard´ee instruction
une r`egle gard´ee : un pr´edicat sur les ´etats des voisins.
une action instruction : un pr´edicat sur les ´etats des voisins.
instruction : est ex´ecut´ee si la r`egle gard´ee est vraie.
14/55 14
Communications par envoi de messages.
u
vmes.
mes.
15/55 15
Communications par registres partag´es.
v u
registre pour vu
registre pour uv
16/55 16
Communications par m´emoire partag´ee.
Definition
A chaque pas atomique, un processus
peut lire les ´etats de tous ses voisins
peut modifier son ´etat.
u
v zw x
voisins
17/55 17
Plan
Introduction
efinition
Syst`eme auto-stabilisant
Type de communications
Le premier algorithme auto-stabilisant Dijkstra
Technique de preuve
distance dans un graphe.
Composition d’algorithme d’auto-stabilisation
Conclusion
18/55 18
l’algorithme auto-stabilisant du jeton
Contexte :
un anneau de taille No`u chaque noeud a un voisin `a gauche
et `a droite.
Objectif : exclusion mutuelle.
un unique jeton qui circule ind´efiniment et de mani`ere
´equitable
19/55 19
Hypoth`ese
Communications par m´emoire partag´ee.
Tous les processeurs sont activ´es par un ordonnanceur appel´e
D´
emon
Ici, le d´emon est centralis´
e
Il active un processeur `a la fois pour faire une s´equence
atomique d’instructions.
Le d´emon centralis´e est ´
equitable
Il active un processeur une infinit´e de fois pour toutes
ex´ecutions infinies.
20/55 20
Id´ee de l’algorithme
Chaque site iposs`ede une valeur : σi
La pr´esence du jeton d´ependra de la di´erence entre sa valeur
et son pr´ed´ecesseur (voisin de gauche)
eplacement du jeton = la “propagation” de vagues
21/55 21
Algorithme Dijkstra
Soit kN+avec k>navec nle nombre de processeurs
Initialisation sur chaque machine i:
σipris au hasard entre [0, . . . , k1]
efinition du jeton
P0etient le jeton ⇐⇒ σ0=σn1
Pietient le jeton ⇐⇒ σi)=σi1
Ex´ecution du code :
pour P0:σ0=σn1σ0:= σ0+ 1 mod k
pour Pi:σi)=σi1σi:= σi1
22/55 22
Exemple
4
4
4
4
8
8
4
4
P0
´
Etat initial : plusieurs jetons (site en rouge).
Activation de P0: Si σ0=σn1alors σ0:= σ0+ 1 mod k.
23/55 23
Exemple
´
Etat : plusieurs jetons (site P1,P4,P6en rouge).
Activation de P6: Si σ6)=σ5alors σ6:= σ5.
23/55 23
Exemple
P0
P6!execute 5
4
8
8
8
4
4
4
´
Etat : plusieurs jetons (site P1,P4,P7en rouge).
Activation de P7: Si σ7)=σ6alors σ7:= σ6.
23/55 23
Exemple
´
Etat : plusieurs jetons (site P1,P4). Perte d’un jeton
Activation de P1: Si σ1)=σ0alors σ1:= σ0.
23/55 23
Exemple
P0
P1!execute 5
8
8
8
8
4
4
5
´
Etat : plusieurs jetons (site P2,P4).
Activation de P2: Si σ2)=σ1alors σ2:= σ1.
23/55 23
1 / 15 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !