td2_2016 - WordPress.com

publicité
Algorithmique des systèmes et applications réparties
TD n°2
Exercice 1 :
 Décrire les variables locales à utiliser par le coordinateur afin d’implémenter
l’algorithme d’exclusion mutuelle centralisé.
 Ecrire l’algorithme d’exclusion mutuelle centralisé sous forme d’une méthode qui a
la signature suivante : Recevoir (message, Pi).
o message a deux valeurs possibles libérer ou demander.
o Pi est le PID du processus d’indice i.
o Nous supposons également l’existante de la méthode prédéfinie Envoyer
(“OK”, Pi) coté coordinateur, cette méthode permet d’envoyer le message
OK au processus Pi.
Exercice 2 :
 Dans l’algorithme de « Gérard Le Lann », un jeton unique circule en permanence
entre les processus via une topologie en anneau.
 La condition nécessaire pour utiliser la ressource est d’avoir le jeton.
 Nous disposons localement et dans chaque processus Pi (i allant de 1 à n) d’une
procédure Emettre (Jeton, i, i+1), cette procédure permet d’envoyer le jeton de
Pi à Pi+1.
 La procédure Emettre (Jeton, i, i+1) pose un problème, lequel ?
 Ecrire une procédure Emettre_Voisin (Jeton, i) qui utilise Emettre (Jeton, i, i+1)
et qui règle le problème précédent.
 Ecrire la procédure Réception_jeton (Jeton, i), cette procédure doit décrire le
comportement du processus Pi lors de la réception du jeton.
Exercice 3 :
Nous avons vu en cours un algorithme d’exclusion mutuelle qui modélise une file
d’attente répartie en utilisant les horloges de Lamport. Le principe de l’algorithme est le
suivant : chaque site désirant la ressource va demander la permission à tous les autres.
On départage les conflits en étiquetant chaque demande par l’heure logique à laquelle on a
fait cette demande.
Calculer la complexité de cet algorithme dans le meilleur et dans le pire des cas.
Téléchargement