Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Correction Rattr

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

Université Mohamed Khider– Biskra

Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie


Département d'informatique

Niveau: M1 Module: Systèmes distribués Date d’examen: 22.01.2020

Correction du Rattrapage

Exercice 1:
Q. Expliquez la différence entre les horloges logiques et physiques. (1 pt)
Réponse: Les horloges physiques mesurent l'heure locale. Les horloges logiques sont utilisées pour
marquer les relations entre les événements dans un système distribué.

Q. Quel problème avec les horloges scalaires est résolu par les horloges vectorielles? (1 pt)
Réponse: Avec les horloges scalaires, vous ne pouvez pas dire si deux événements sont liés de façon
causale ou simultanés en comparons les dates. Tout simplement parce que H (a) <<H (b) ne signifie pas
que a-> b. Les horloges vectorielles vous permettent de comparer deux dates vectorielles pour déterminer
si les événements sont concurrents ou non.

Q. On considère les échanges de messages entre 3 sites A; B; C représentés par le chronogramme suivant:
a. Calculer l'horloge vectorielle portée par chaque message. (1.5 pt)
Réponse:
M0 M1 M2 M3 M4
(1 0 0) (3 0 0) (1 2 0) (1 0 2) (1 0 4)

b. Si la coupure C est cohérente, y inclure un unique événement du calcul la rendant incohérente; si elle
est incohérente, en exclure un unique évènement du calcul la rendant cohérente. (1.5 pt)
Réponse: Par exemple, ajouter a4.

c. Déterminer l’histoire causale des messages m2 et m4 et en déduire si les délivrances a4; a5


respectent la causalité. (1.5 pt)
Réponse: HC(m2)={m0}; HC(m4)={m3;m0}. m2HC(m4)^m4HC(m2) donc indépendants
causalement et n’importe quel ordre de délivrance est valide.

d. Si les délivrances a4; a5 respectent la causalité, ajouter un unique message pour qu’elles ne
respectent plus la causalité; en cas inverse, enlever un unique message pour qu’elles deviennent bien
ordonnées. (1.5 pt)
Réponse: Ajouter un message de B vers C, émis après b2 et reçu avant c4.

Exercice n° 2
On considère un système distribué constitué de deux processus P1 et P2 situés sur deux sites
différents qui sont respectivement Site1 et Site2. P1 produit et envoie cycliquement un message « info »
vers P2 à travers le réseau. Le processus P2 effectue lui aussi un travail cyclique qui consiste à
consommer (délivrer) les messages parvenus à son buffer. Cependant, on impose la règle suivante: P2
doit consommer les messages dans le même ordre que leur envoi par P1.
On suppose que les canaux de communication sont fiables, c'est-à-dire qu’il n’y a pas de perte de
messages, cependant les canaux de communication ne sont pas FIFO autrement dit, les messages délivrés
ne sont pas forcément dans l’ordre FIFO.
1. Montrer le problème qu’on doit traiter dans ce cas. Définir-le et donner sa représentation
formelle.
Réponse: Il s’agit du problème de délivrance causale de messages FIFO. (1 point)
Définition: Soient deux messages m1et m2 envoyés par P1 (même émetteur) vers P2 (même
récepteur) m1 et m2 doivent être délivrés dans le même ordre de l’émission. (0.5 point)
Représentation formelle:
émission(m1,P1,P2)émission(m2,P1,P2) Délivrance(m1,P2)Délivrance(m2,P2) (0.5 point)

2. Pour respecter la règle énoncée, une solution est proposée dans les codes des deux processus
P1 et P2.
a. Expliquer clairement le principe de cette solution. (1 point)
Réponse: On doit bloquer P1 tant que sa dernière information qui a été envoyée n’a pas été consommée par P2.

b. Quelle est sa limite majore? Justifier ? (0.5 point)


Réponse: Dans ce cas, le buffer de P2 est constitué d’une seule case.

3. On utilise le principe des horloges scalaires: chaque information envoyée par P1 est
estampillée avec la valeur d’horloge H1. Du côté de P2, on utilise aussi une horloge logique
H2 qui s’incrémente entre deux consommations. On ne consomme une information que si
H1=H2.

a. Quelle est la différence entre cette solution et la solution précédente (Question 2) en


terme:
i. Les types des messages utilisés:
Réponse: Première solution: deux types de messages; ‘‘info’’ et ‘‘Ack’’. (0.5 point)
Deuxième solution: un seul type de messages; ‘‘info’’. (0.5 point)

ii. La circulation des messages:


Réponse: Dans la première solution, l’échange de message se fait donc dans les deux sens (0.5 point),
par contre dans la deuxième solution, les messages sont circulés dans un seul sens (P1P2) (0.5 point).

iii. Le buffer de P2:


Réponse: Première solution: le buffer de P2 est constitué d’une seule case. (0.5 point)
Deuxième solution: le buffer de P2 est illimité. (0.5 point)

b. Décrire précisément vos déclarations et écrire les codes des processus P1 et P2.

Réponse: (1.5 point)


Exercice 3
1. Les différents types d’interblocage
interblocage dans un système distribué: (0.5 point)
a. Allocation de ressources,
ressources
b. communication de messages
Caractérisation de chaque type: (Voir le cours) (1 point)
Explication sur un exemple: (0.5 point)

2. Explication des différentes stratégies utilisées contre le phénomène d’’interblocage: (1 point)


a. Prévention:: contraintes sur la manière de demander l’accès aux ressources
ressources.
b. Évitement: consiste de faire un contrôle
contrôle pas à pas de la progression des processus avec une
mise
ise en œuvre d’une possibilité d’échapper à un interblocage
c. Détection puis résolution
i. Interblocage est une propriété stable ⇒ algorithme de détection
1. Non‐interférence
‐interférence:: ne pas influencer l’exécution de l’algorithme de
l’utilisateur
2. Vivacité:
Vivacité: si interblocage, le détecter en un temps fini
3. Correction:
Correction: détecter un interblocage seulement lorsqu’il en existe un
ii. Résolution : dépendant des algorithmes des utilisateurs.
utilisateurs

3. Explication sur un exemple le phénomène de détection de faux interblocage dans


l’algorithme de détection centralisée. (1 point)

• (5) Si en 3 ’, processus B avait relaché R, machine 0 envoie un message au coordinateur, qui ll’obtient en
5.
• Si en 3 ’ ’ processus B avait alors demandé T, machine 1 envoie un message au coordinateur qui
l’obtient en 4.
• => détection de faux interblocages pouvant entrainer « mort injuste » pour sa guérison
guérison.

Vous aimerez peut-être aussi