Algorithmes distribu´ees auto-stabilisants.
Johanne Cohen1
1LORIA/CNRS, Nancy, France.
1/55 1
R´ef´erences
Shlomi Dolev
Self-Stabilization
E.W. Dijkstra
Self-stabilizing systems in spite of distributed control.
Commun. ACM 17 (1974), 11 : 643-644.
G´erard Tel
Introduction to Distributed Algorithms
!S´ebastien Tixieul
Introduction to Self-stabilization
http ://sogea.loria.fr/.
2/55 2
Plan
Introduction
D´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
D´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
D´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 i≥0, 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
D´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 L⊆Cde configurations
l´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
D´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 v→u
registre pour u→v
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
D´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 diff´erence entre sa valeur
et son pr´ed´ecesseur (voisin de gauche)
•D´eplacement du jeton = la “propagation” de vagues
21/55 21
Algorithme Dijkstra
•Soit k∈N+avec k>navec nle nombre de processeurs
•Initialisation sur chaque machine i:
•σipris au hasard entre [0, . . . , k−1]
•D´efinition du jeton
•P0d´etient le jeton ⇐⇒ σ0=σn−1
•Pid´etient le jeton ⇐⇒ σi)=σi−1
•Ex´ecution du code :
•pour P0:σ0=σn−1→σ0:= σ0+ 1 mod k
•pour Pi:σi)=σi−1→σi:= σi−1
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=σn−1alors σ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 l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!