Title: Quelques protocoles instantan
1Quelques protocoles instantanément stabilisants
Séminaire au LRI, Université Paris Sud
- Stéphane Devismes, doctorant en 3ème année
2Introduction
- Algorithmique du point de vue concepteur
- Ecrire un algorithme
- Prouver lalgorithme
- La spécification dun problème nest pas unique
- Adéquation dune spécification au problème
invérifiable
Spécification énoncé formel
3Exemple
- F F définie comme suit
- F lN ? lNn
- F(x) (F1(x), F2(x), , Fn(x))
- Telle que
- i, j, ?k j tel que Fi(k) 0
- i, x, (Fi(x) 0) ? ( j ? i, Fj(x) ? 0)
A
A
A
A
A
4Spécification en système distribué
- Exclusion Mutuelle
- Spécification statique
- Jamais plus dun processeur en SC
- Tout processeur demandeur finit par entrer en SC
- Spécification dynamique
- Si plus dun processeur en SC alors aucun nest
demandeur - Tout processeur demandeur finit par entrer en SC
5Equivalence entre 2 spécifications ?
- 2 spécifications S1 et S2 sont équivalentes SSI
- Tout protocole écrit pour S1 dans un
environnement sans panne vérifie aussi S2 et
réciproquement.
6Exemple Exclusion Mutuelle
- S1
- Jamais plus dun processeur en SC
- (Tout processeur demandeur finit par entrer en
SC) - S2
- Si plus dun processeur en SC alors aucun de ces
processeurs nest demandeur - (Tout processeur demandeur finit par entrer en
SC)
Si un demandeur en SC alors il est le seul en SC
S1 et S2 sont équivalentes
P vérifie S2 ? P vérifie S1 ?
P vérifie S1 ? P vérifie S2 ?
7Stabilisation instantanée
- Un protocole P est instantanément stabilisant
pour une tâche T ssi - Quel que soit létat initial du système, P
vérifie toujours la spécification de T. - Bui, Datta, Petit et Villain, WSS99
8Une tâche admet une solution instantanément
stabilisante SI ? une spécification pour
laquelle ? un algorithme instantanément
stabilisant.
Exemple Exclusion Mutuelle - S1 pas
dalgorithme possible- S2 On peut trouver une
solution
Toute tâche admettant une solution
auto-stabilisante dans un réseau identifié admet
une solution instantanément stabilisante.
Cournier, Datta, Petit et Villain, ICDCS2003
9Exemple parcours en profondeur instantanément
stabilisant
10Modèle à états
- Mémoires localement partagées
- Démon
- Distribution (séquentiel, distribué, synchronisé)
- Equité (fortement ou faiblement équitable,
inéquitable) - Complexité
- Nombre de pas de calcul
- Nombre de rounds
11Parcours en profondeur dans un réseau enraciné
quelconque
R
12Parcours en profondeur instantanément stabilisant
- Spécification (dynamique)
- La racine crée un jeton en temps fini
- Une fois créé, le jeton parcourt tout le réseau
en profondeur dabord
131ère Solution OPODIS2004
Utiliser des listes didentités On stocke les
identités des processeurs visités au fur et à
mesure du parcours.
14Comportement à partir dune configuration
initiale normale
1
2
3
4
5,6,7,3,2,4
5,6,7,3,2,4,8
5,6,7,3,2
5,6,7,3
5,6,7,3,2
R
8
7
6
5
5,6,7,3,2,4,8
5,6
5
5,6,7
9
15A partir dune configuration quelconque
3 attend la correction de lerreur
1
2
3
5
4
8,3
5,7
2,3
R
10
9
6
7
8
8
5,7,10
12
11
13
15
14
16
6,8,11
6,8,11,12
5,7,10,15
18
17
16Correction des parcours anormaux
1
3
2
3,5,8,7,6,4,1
3,5,8,7,6,4,1,2
3,5,8,7,6,4,1,2
3
5
4
3,5
3,5,8,7,6,4
3,5,8,7,6,4,1,2
6
7
8
3,5,8,7,6
3,5,8,7
3,5,8
172ème Solution SSS2005
- But Améliorer loccupation mémoire
- Remplacer les listes didentités par un mécanisme
de questions Blin, Cournier et Villain, SSS2003
18Problème quand remonter le jeton?
R
R
19Solution Question à la racine
Reset
Seule la racine peut délivrer une réponse
Q
Wait
Reset
Reset
20Réponse 1er cas
Ok
Ok
Ok
Ok
Ok
Ok
R
Ok
21Réponse 2ème cas
R
Ok
Ok
Ok
Le parcours normal reste bloquer jusquà la
correction de lautre parcours
22Correction des parcours anormaux
- Deux étapes
- PIF bloquant dans larbre des parcours anormaux
- Nettoyer de la racine vers les feuilles
23Problème nettoyage du parcours de la racine
- 2 manières classiques de nettoyer
- A partir des feuilles
- A partir de la racine
24Problème nettoyage du parcours de la racine
r
25Problème nettoyage du parcours de la racine
r
...
...
26Solution nettoyage synchronisé
r
27Conclusion SSS05 vs OPODIS04
OPODIS04 SSS05
Mémoire O(NN) O(?² N)
Identité Oui Non
Stabilisation instantanée Oui Oui
Démon Inéquitable Inéquitable
Délai (rounds) O(N) O(N²)
Délai (nb pas) O(N²) O(? N3)
Exécution (rounds) O(N) O(N²)
Exécution (nb pas) O(N²) O(? N3)
28Pourquoi écrire de nouveaux protocoles
instantanément stabilisant alors quil existe un
transformeur?
29Perspectives
- Trouver une solution efficace à la fois en temps
et en espace - Exclusion mutuelle instantanément stabilisante
- Transformeur pour un démon inéquitable
(Snap-Stabilizing PIF and Useless Computation,
ICPADS06)
30Publications
- Cournier, Devismes, Petit et Villain.
Snap-Stabilizing Depth-First Search on Arbitrary
Networks. A paraître dansThe Computer Journal,
2005. Devismes. A Silent Self-Stabilizing
Algorithm for finding Cut-nodes and Bridges.
Parallel Processing Letters, Vol 15, N1 2,
page 183-198, 2005. Cournier, Devismes et
Villain. Snap-Stabilizing PIF and Useless
Computations. Accepté à ICPADS'06, Juillet
12-15, 2006. Minneapolis, USA. Cournier,
Devismes et Villain. A Snap-Stabilizing DFS with
a Lower Space Requirement. SSS2005, pages 33-47,
LNCS 3764, 2005. Cournier, Devismes et
Villain. Snap-Stabilizing Detection of Cutsets.
HIPC2005, pages 488-497, LNCS 3769, 2005.
Cournier, Devismes, Petit et Villain.
Snap-Stabilizing Depth-First Search on Arbitrary
Networks. OPODIS2004, pages 267-282, LNCS 3544,
2005.