156

Ingénierie des Protocoles

  • Upload
    rafal

  • View
    65

  • Download
    4

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Ingénierie des Protocoles
Page 2: Ingénierie des Protocoles
Page 3: Ingénierie des Protocoles
Page 4: Ingénierie des Protocoles
Page 5: Ingénierie des Protocoles
Page 6: Ingénierie des Protocoles
Page 7: Ingénierie des Protocoles
Page 8: Ingénierie des Protocoles
Page 9: Ingénierie des Protocoles
Page 10: Ingénierie des Protocoles
Page 11: Ingénierie des Protocoles
Page 12: Ingénierie des Protocoles
Page 13: Ingénierie des Protocoles
Page 14: Ingénierie des Protocoles
Page 15: Ingénierie des Protocoles
Page 16: Ingénierie des Protocoles
Page 17: Ingénierie des Protocoles
Page 18: Ingénierie des Protocoles
Page 19: Ingénierie des Protocoles
Page 20: Ingénierie des Protocoles
Page 21: Ingénierie des Protocoles
Page 22: Ingénierie des Protocoles
Page 23: Ingénierie des Protocoles
Page 24: Ingénierie des Protocoles
Page 25: Ingénierie des Protocoles
Page 26: Ingénierie des Protocoles
Page 27: Ingénierie des Protocoles
Page 28: Ingénierie des Protocoles
Page 29: Ingénierie des Protocoles
Page 30: Ingénierie des Protocoles
Page 31: Ingénierie des Protocoles
Page 32: Ingénierie des Protocoles
Page 33: Ingénierie des Protocoles
Page 34: Ingénierie des Protocoles
Page 35: Ingénierie des Protocoles
Page 36: Ingénierie des Protocoles
Page 37: Ingénierie des Protocoles
Page 38: Ingénierie des Protocoles
Page 39: Ingénierie des Protocoles
Page 40: Ingénierie des Protocoles
Page 41: Ingénierie des Protocoles
Page 42: Ingénierie des Protocoles
Page 43: Ingénierie des Protocoles
Page 44: Ingénierie des Protocoles
Page 45: 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 ?

Page 46: Ingénierie des Protocoles
Page 47: Ingénierie des Protocoles
Page 48: Ingénierie des Protocoles
Page 49: Ingénierie des Protocoles
Page 50: Ingénierie des Protocoles
Page 51: Ingénierie des Protocoles
Page 52: Ingénierie des Protocoles
Page 53: Ingénierie des Protocoles
Page 54: Ingénierie des Protocoles
Page 55: Ingénierie des Protocoles
Page 56: Ingénierie des Protocoles
Page 57: Ingénierie des Protocoles
Page 58: Ingénierie des Protocoles
Page 59: Ingénierie des Protocoles
Page 60: Ingénierie des Protocoles
Page 61: Ingénierie des Protocoles
Page 62: Ingénierie des Protocoles
Page 63: Ingénierie des Protocoles
Page 64: Ingénierie des Protocoles
Page 65: Ingénierie des Protocoles
Page 66: Ingénierie des Protocoles
Page 67: Ingénierie des Protocoles
Page 68: Ingénierie des Protocoles
Page 69: Ingénierie des Protocoles
Page 70: Ingénierie des Protocoles
Page 71: Ingénierie des Protocoles
Page 72: Ingénierie des Protocoles
Page 73: Ingénierie des Protocoles
Page 74: Ingénierie des Protocoles
Page 75: Ingénierie des Protocoles
Page 76: Ingénierie des Protocoles
Page 77: Ingénierie des Protocoles
Page 78: Ingénierie des Protocoles
Page 79: Ingénierie des Protocoles
Page 80: Ingénierie des Protocoles
Page 81: Ingénierie des Protocoles
Page 82: Ingénierie des Protocoles
Page 83: Ingénierie des Protocoles
Page 84: Ingénierie des Protocoles
Page 85: Ingénierie des Protocoles
Page 86: Ingénierie des Protocoles
Page 87: Ingénierie des Protocoles
Page 88: Ingénierie des Protocoles

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.

Page 89: Ingénierie des Protocoles

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

Page 90: Ingénierie des Protocoles

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)

Page 91: Ingénierie des Protocoles

Algorithmique Distribuée 91

Syntaxe générale

Page 92: Ingénierie des Protocoles

Algorithmique Distribuée 92

Page 93: Ingénierie des Protocoles

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é. ◻

Page 94: Ingénierie des Protocoles
Page 95: Ingénierie des Protocoles

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 !

Page 96: Ingénierie des Protocoles

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 )

Page 97: Ingénierie des Protocoles

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)

Page 98: Ingénierie des Protocoles

Algorithmique Distribuée 98

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

Page 99: Ingénierie des Protocoles

Algorithmique Distribuée 99

SpécificationLa circulation de jeton

est un algorithme à vague

Page 100: Ingénierie des Protocoles

Algorithme à vague

Page 101: Ingénierie des Protocoles

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

Page 102: Ingénierie des Protocoles

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

Page 103: Ingénierie des Protocoles

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

Page 104: Ingénierie des Protocoles

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

Page 105: Ingénierie des Protocoles

Algorithmique Distribuée 105

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

Page 106: Ingénierie des Protocoles
Page 107: Ingénierie des Protocoles
Page 108: Ingénierie des Protocoles
Page 109: Ingénierie des Protocoles
Page 110: Ingénierie des Protocoles
Page 111: Ingénierie des Protocoles
Page 112: Ingénierie des Protocoles
Page 113: Ingénierie des Protocoles
Page 114: Ingénierie des Protocoles
Page 115: Ingénierie des Protocoles
Page 116: Ingénierie des Protocoles
Page 117: Ingénierie des Protocoles
Page 118: Ingénierie des Protocoles
Page 119: Ingénierie des Protocoles
Page 120: Ingénierie des Protocoles
Page 121: Ingénierie des Protocoles
Page 122: Ingénierie des Protocoles
Page 123: Ingénierie des Protocoles
Page 124: Ingénierie des Protocoles
Page 125: Ingénierie des Protocoles
Page 126: Ingénierie des Protocoles
Page 127: Ingénierie des Protocoles
Page 128: Ingénierie des Protocoles
Page 129: Ingénierie des Protocoles
Page 130: Ingénierie des Protocoles
Page 131: Ingénierie des Protocoles
Page 132: Ingénierie des Protocoles
Page 133: Ingénierie des Protocoles
Page 134: Ingénierie des Protocoles
Page 135: Ingénierie des Protocoles
Page 136: Ingénierie des Protocoles
Page 137: Ingénierie des Protocoles
Page 138: Ingénierie des Protocoles
Page 139: Ingénierie des Protocoles
Page 140: Ingénierie des Protocoles
Page 141: Ingénierie des Protocoles
Page 142: Ingénierie des Protocoles
Page 143: Ingénierie des Protocoles
Page 144: Ingénierie des Protocoles
Page 145: Ingénierie des Protocoles
Page 146: Ingénierie des Protocoles
Page 147: Ingénierie des Protocoles
Page 148: Ingénierie des Protocoles
Page 149: Ingénierie des Protocoles
Page 150: Ingénierie des Protocoles
Page 151: Ingénierie des Protocoles
Page 152: Ingénierie des Protocoles
Page 153: Ingénierie des Protocoles
Page 154: Ingénierie des Protocoles
Page 155: Ingénierie des Protocoles
Page 156: Ingénierie des Protocoles