Quelques protocoles instantanément stabilisants

30
Quelques protocoles instantanément stabilisants Stéphane Devismes, doctorant en 3 ème année Séminaire au LRI, Université Paris Sud

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 Presentation

Transcript of Quelques protocoles instantanément stabilisants

Page 1: Quelques protocoles instantanément stabilisants

Quelques protocoles instantanément stabilisants

Stéphane Devismes, doctorant en 3ème année

Séminaire au LRI, Université Paris Sud

Page 2: Quelques protocoles instantanément stabilisants

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

Page 3: Quelques protocoles instantanément stabilisants

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

Page 4: Quelques protocoles instantanément stabilisants

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

Page 5: Quelques protocoles instantanément stabilisants

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.

Page 6: Quelques protocoles instantanément stabilisants

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

Page 7: Quelques protocoles instantanément stabilisants

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]

Page 8: Quelques protocoles instantanément stabilisants

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]

Page 9: Quelques protocoles instantanément stabilisants

Quelques protocoles instantanément stabilisants 9

Exemple : parcours en profondeur instantanément stabilisant

Page 10: Quelques protocoles instantanément stabilisants

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

Page 11: Quelques protocoles instantanément stabilisants

Quelques protocoles instantanément stabilisants 11

Parcours en profondeur dans un réseau enraciné quelconque

R

Page 12: Quelques protocoles instantanément stabilisants

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

Page 13: Quelques protocoles instantanément stabilisants

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.

Page 14: Quelques protocoles instantanément stabilisants

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

Page 15: Quelques protocoles instantanément stabilisants

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

Page 16: Quelques protocoles instantanément stabilisants

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}

Page 17: Quelques protocoles instantanément stabilisants

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]

Page 18: Quelques protocoles instantanément stabilisants

Quelques protocoles instantanément stabilisants 18

Problème : quand remonter le jeton?

R

R

Page 19: Quelques protocoles instantanément stabilisants

Quelques protocoles instantanément stabilisants 19

Solution : Question à la racine

Q

Reset

Reset ResetWait

Seule la racine peut délivrer une réponse

Page 20: Quelques protocoles instantanément stabilisants

Quelques protocoles instantanément stabilisants 20

Réponse : 1er cas

R Ok

Ok

Ok

OkOk

Ok

Ok

Page 21: Quelques protocoles instantanément stabilisants

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

Page 22: Quelques protocoles instantanément stabilisants

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

Page 23: Quelques protocoles instantanément stabilisants

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

Page 24: Quelques protocoles instantanément stabilisants

Quelques protocoles instantanément stabilisants 24

Problème : nettoyage du parcours de la racine

r

Page 25: Quelques protocoles instantanément stabilisants

Quelques protocoles instantanément stabilisants 25

Problème : nettoyage du parcours de la racine

r

...

...

Page 26: Quelques protocoles instantanément stabilisants

Quelques protocoles instantanément stabilisants 26

Solution : nettoyage « synchronisé »

r

Page 27: Quelques protocoles instantanément stabilisants

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)

Page 28: Quelques protocoles instantanément stabilisants

Quelques protocoles instantanément stabilisants 28

Pourquoi écrire de nouveaux protocoles instantanément stabilisant alors qu’il

existe un transformeur?

Page 29: Quelques protocoles instantanément stabilisants

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)

Page 30: Quelques protocoles instantanément stabilisants

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.