Quelques protocoles instantanément stabilisants

Post on 30-Dec-2015

16 views 1 download

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

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.