quelques protocoles instantanément stabilisants
DESCRIPTION
Séminaire au LRI, Université Paris Sud. Quelques protocoles instantanément stabilisants. Stéphane Devismes, doctorant en 3 ème année. Introduction. Algorithmique du point de vue concepteur : Ecrire un algorithme Prouver l’algorithme. La spécification d’un problème n’est pas unique - PowerPoint PPT PresentationTRANSCRIPT
Quelques protocoles instantanément stabilisants
Stéphane Devismes, doctorant en 3ème année
Séminaire au LRI, Université Paris Sud
Quelques protocoles instantanément stabilisants 2
Introduction
Algorithmique du point de vue concepteur :
Ecrire un algorithme Prouver l’algorithmeSpécification : énoncé « formel »
• La spécification d’un
problème n’est pas unique
• Adéquation d’une
spécification au problème :
invérifiable
Quelques protocoles instantanément stabilisants 3
Exemple
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
AA
AA
Quelques protocoles instantanément stabilisants 4
Spécification en système distribué
Exclusion Mutuelle
Spécification statique – Jamais plus d’un processeur en SC– Tout processeur demandeur finit par entrer en SC
Spécification dynamique – Si plus d’un processeur en SC alors aucun n’est
demandeur– Tout processeur demandeur finit par entrer en SC
Quelques protocoles instantanément stabilisants 5
Equivalence 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.
Quelques protocoles instantanément stabilisants 6
Exemple: Exclusion Mutuelle
S1 :Jamais plus d’un processeur en SC(Tout processeur demandeur finit par entrer en SC)
S2 :Si plus d’un processeur en SC alors aucun de ces processeurs n’est demandeur(Tout processeur demandeur finit par entrer en SC)
Si un demandeur en SC alors
il est le seul en SC
P vérifie S1 ⇒ P vérifie S2 ?P vérifie S2 ⇒ P vérifie S1 ?S1 et S2 sont équivalentes
Quelques protocoles instantanément stabilisants 7
Stabilisation 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, WSS’99]
Quelques protocoles instantanément stabilisants 8
Une tâche admet une solution instantanément stabilisante SI : ∃ une spécification pour laquelle ∃ un algorithme instantanément stabilisant.
Exemple : Exclusion Mutuelle- S1 : pas d’algorithme 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, ICDCS’2003]
Quelques protocoles instantanément stabilisants 9
Exemple : parcours en profondeur instantanément stabilisant
Quelques protocoles instantanément stabilisants 10
Modè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
Quelques protocoles instantanément stabilisants 11
Parcours en profondeur dans un réseau enraciné quelconque
R
Quelques protocoles instantanément stabilisants 12
Parcours 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 d’abord
Quelques protocoles instantanément stabilisants 13
1ère Solution [OPODIS’2004]
Utiliser des listes d’identités :
On stocke les identités des processeurs visités au fur et à mesure du parcours.
Quelques protocoles instantanément stabilisants 14
Comportement à partir d’une configuration initiale « normale »
1 2 3
8
9
5
{5} {5,6} {5,6,7}
{5,6,7,3,2}
6 7
{5,6,7,3,2,4}
4
{5,6,7,3,2,4,8}
{5,6,7,3,2,4,8}
{5,6,7,3}{5,6,7,3,2}
R
Quelques protocoles instantanément stabilisants 15
A partir d’une configuration quelconque
1 2 3 4
6 9 10
11 13 14 15
17 18
{5,7}
{5,7,10}
{5,7,10,15}
7
16
5
8
{2,3}
{6,8,11}
R
12
{6,8,11,12}
{8}
{8,3}
3 attend la correction de l’erreur
Quelques protocoles instantanément stabilisants 16
Correction des parcours anormaux
4
1
5
6 7 8
32
{} {3}
{3,5}
{3,5,8}
{3,5,8,7}{3,5,8,7,6}
{3,5,8,7,6,4}
{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,8,7,6,4,1,2}
Quelques protocoles instantanément stabilisants 17
2ème Solution [SSS’2005]
But: Améliorer l’occupation mémoire
Remplacer les listes d’identités par un mécanisme de questions [Blin, Cournier et Villain, SSS’2003]
Quelques protocoles instantanément stabilisants 18
Problème : quand remonter le jeton?
R
R
Quelques protocoles instantanément stabilisants 19
Solution : Question à la racine
Q
Reset
Reset ResetWait
Seule la racine peut délivrer une réponse
Quelques protocoles instantanément stabilisants 20
Réponse : 1er cas
R Ok
Ok
Ok
OkOk
Ok
Ok
Quelques protocoles instantanément stabilisants 21
Réponse : 2ème cas
R
Ok
Ok
Ok
Le parcours normal reste bloquer jusqu’à la correction de l’autre parcours
Quelques protocoles instantanément stabilisants 22
Correction des parcours anormaux
Deux étapes : PIF bloquant dans l’arbre des parcours
anormaux Nettoyer de la racine vers les feuilles
Quelques protocoles instantanément stabilisants 23
Problème: nettoyage du parcours de la racine
2 manières classiques de nettoyer :1. A partir des feuilles2. A partir de la racine
Quelques protocoles instantanément stabilisants 24
Problème : nettoyage du parcours de la racine
r
Quelques protocoles instantanément stabilisants 25
Problème : nettoyage du parcours de la racine
r
...
...
Quelques protocoles instantanément stabilisants 26
Solution : nettoyage « synchronisé »
r
Quelques protocoles instantanément stabilisants 27
Conclusion : SSS’05 vs OPODIS’04
OPODIS’04 SSS’05
Mémoire O(NN) O(∆²× N)
Identité Oui Non
Stabilisation instantanée
Oui Oui
DémonInéquitabl
eIné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)
Quelques protocoles instantanément stabilisants 28
Pourquoi écrire de nouveaux protocoles instantanément stabilisant alors qu’il
existe un transformeur?
Quelques protocoles instantanément stabilisants 29
Perspectives
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, ICPADS’06)
Quelques protocoles instantanément stabilisants 30
Publications
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, N°1 & 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. SSS’2005, pages 33-47, LNCS 3764, 2005.
Cournier, Devismes et Villain. Snap-Stabilizing Detection of Cutsets. HIPC’2005, pages 488-497, LNCS 3769, 2005.
Cournier, Devismes, Petit et Villain. Snap-Stabilizing Depth-First Search on Arbitrary Networks. OPODIS’2004, pages 267-282, LNCS 3544, 2005.