Ingénierie des Protocoles

Post on 24-Feb-2016

65 views 4 download

description

Ingénierie des Protocoles. Stéphane Devismes. Infos pratiques. Contact : Stephane.Devismes@imag.fr Web : www-verimag.imag.fr/~devismes/WWW/enseignements.html Contact promo : Ricm5-reseau@googlegroups.com Salle de Cours/TD : 319 Salle de TP : ?. But. Algorithmes distribués : - PowerPoint PPT Presentation

Transcript of Ingénierie des Protocoles

Algorithmique Distribuée 45

CaractéristiquesProcessusInitiateur (démarrage « spontané ») ou non-initiateur (aussi appelé suiveur, démarrage suite à une communication avec un voisin)Sujet ou pas aux pannes ? (et quel type ?)Asynchrone (équitable), synchrone ou finalement synchroneMémoire locale de taille bornée ou non ?

Algorithmique Distribuée 88

Spécification de l’exclusion mutuelle

Sûreté : Au plus un processus est à la fois dans la section critique.

Vivacité : Tout processus demandeur finit par entrer en section critique.

Algorithmique Distribuée 89

Hypothèses

Processus et canaux asynchronesPas de fautesTopologies : anneaux unidirectionnel avec orientation consistanteAu moins deux processusUn seul initiateurSection critique : finie, mais non bornée

Algorithmique Distribuée 90

Syntaxe générale2 primitives :Envoyer <MessageType, liste de donnée …> à XX est un numéro de canal ou une identité

Réception <MessageType, liste de donnée …> depuis XX est un numéro de canal ou une identitéVaut VRAI ou FAUX (réception non-bloquante)

Algorithmique Distribuée 91

Syntaxe générale

Algorithmique Distribuée 92

Algorithmique Distribuée 93

Preuve de correction

(La preuve est triviale, mais voici une version très détaillée.)

Lemme 1 (Sûreté). Jamais plus d’un processus n’est en section critique. Preuve. Une seule création : A l’initialisation, un seul jeton est créé car il n’y a qu’un seul initiateur. Pas de duplication : Chaque processus relaie un message « Jeton » à droite que s’il l’a reçu préalablement de la gauche. Donc, le jeton créé initialement reste unique dans le système pendant toute l’exécution. Comme un processus ne peut exécuter la section critique que s’il détient le jeton, le lemme est vérifié. ◻

Algorithmique Distribuée 95

Preuve de correction

D’après les deux lemmes précédents, nous avons :

Théorème 1. L’algorithme 1 résout l’exclusion mutuelle dans un anneau unidirectionnel.

Remarque 2. Si on lève l’une des hypothèses, la preuve ne marche plus !

Algorithmique Distribuée 96

ComplexitéEn nombre de mess ages et en temps d ’ex éc ution dans le mei lleur e t le pi re des c as . Complex ité pour un tour de jeton : n Si un proces sus es t demandeur en c ours d ’ex écution, quel est le nombr e de mes sages générés avant que le proces sus entre en section c ritique (p ire : n − 1, meilleur : 0) Temps de serv ice : combien d’autres process us peuv ent exéc uter la section c ri tique av ant qu ’un proc es s us (demandeur ) par tic u lier ne le fas s e (p ire : n − 1, meilleur : 0) Ratio nombre de mess ages / nombre de demandes (p ire : ∞ — auc une demande, meilleur : 1 — tous demandeurs )

Algorithmique Distribuée 97

Conclusion sur l’algorithmeLe dernier résultat montre un inconvénient majeur de ce type de solution (proactive) : les échanges de messages continuent même s’il n’y a aucune demande.

Pour régler ce problème, il existe des algorithmes dit « à permission » (réactive)

Algorithmique Distribuée 98

Deuxième Exemple : Circulation d’un jeton dans un réseau quelconque

Algorithmique Distribuée 99

SpécificationLa circulation de jeton

est un algorithme à vague

Algorithme à vague

Algorithmique Distribuée 101

Introduction

Dans un système distribué, on a (parfois) besoin de :Diffuser des informations (à tous les processus)(Broadcast) m

m

m

mm m

Algorithmique Distribuée 102

Introduction

Dans un système distribué, on a (parfois) besoin de :Synchroniser (globalement) les processusE.g., l’étape i-1 est elle finie ?

i

i i

i

i-1

Algorithmique Distribuée 103

Introduction

Dans un systèmes distribué, on a (parfois) besoin de :Calculer des fonctions globalesE.g., quelle est la plus petite identité ?

23

43

30

67

5

Algorithmique Distribuée 104

Introduction

Ces problèmes ont plusieurs points communsD’où, l’idée de trouver un algorithme général

Les algorithmes à vague

Algorithmique Distribuée 105

DéfinitionUn algorithme à vague vérifie les trois propriétés suivantes :TerminaisonDécisionDépendance