ingénierie des protocoles
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 PresentationTRANSCRIPT
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