Problèmes du chapitre 3 « Horloges logiques » - UTC

publicité
17
Problèmes du chapitre 3 « Horloges logiques »
Problème 15 : Ce problème est une application directe du cours ; il concerne l’horloge logique
entière.
Question 15.1 :
Rappeler le principe de l’horloge logique entière.
Question 15.2 :
Écrire un algorithme sous la forme d’actions gardées qui fournit la date logique entière
de toute action d’un système réparti : à chaque action a d’un système réparti quelconque
doit être associée la valeur H(a). On distinguera les actions d’initialisation, d’émission
et de réception, et les actions internes.
Problème 16 : Ce problème concerne les relations entre l’horloge entière H et les estampilles
construites par l’horloge K.
Question 16.1 :
Donner les dates logiques entières des actions de la figure 3.7 avec l’horloge H.
S1
a1
1
S2
S3
a2
1
a3
1
a1
2
1
a3
a2
2
2
a3
a3
2
3
a3
a4
2
4
a3
a5
2
5
a3
F IGURE 3.7 – Diagramme d’une exécution répartie pour la question 16.1.
Question 16.2 :
L’horloge logique entière H permet-elle de déterminer de manière non ambigüe une
unique observation de l’exécution répartie ? Pourquoi ? Donner deux observations différentes.
Question 16.3 :
Vérifier par l’absurde que la relation d’ordre ≺K induite par les estampilles (horloge
logique K) définit un ordre total sur les actions d’un système réparti.
Question 16.4 :
Quelle hypothèse supplémentaire sur le système doit-on admettre pour utiliser les estampilles ?
[email protected]
2012 TD. Merci de signaler les erreurs.
18
Question 16.5 :
Quelles sont les modifications à apporter à l’algorithme de construction de l’horloge
logique entière pour obtenir les estampilles ?
Question 16.6 :
Donner les estampilles des actions de la figure 3.7 avec l’horloge K.
Question 16.7 :
Pourquoi les estampilles permettent de construire une unique observation de façon non
ambigüe d’une exécution répartie ? Donner l’observation correspondant à l’exécution
présentée sur la figure 3.7
Problème 17 : Ce problème est une application directe du cours. Il concerne les horloges vectorielles.
Question 17.1 :
Rappeler la définition de la relation <N .
Question 17.2 :
Montrer que pour tout a et b dans A, on a (a � b)
Question 17.3 :
Montrer que pour tout a et b dans A, on a (a � b)
Question 17.4 :
En déduire que a � b ⇔ V (a) <N V (b).
⇒
(V (a) <N V (b)).
⇒
(V (a) � V (b)).
Problème 18 : Ce problème porte sur l’algorithme de construction de l’horloge vectorielle. On
suppose qu’il y a N sites dans le système réparti.
Question 18.1 :
Quelles sont les hypothèses nécessaires au stockage des dates sous forme de vecteurs ?
Question 18.2 :
Soit (2, 3, 5, . . .)t la date à laquelle le site S1 émet un message vers S2 . Soit (1, 4, 1, . . .)t
la date de la dernière action de S2 avant la réception du message m. Si le site S1 n’envoyait que son propre compteur local d’actions (i.e., 2) avec le message m, quelle serait
la date vectorielle que pourrait construire le site S2 pour la réception de m ? Est-ce correct ?
Question 18.3 :
Expliquer le principe de l’algorithme de construction des dates vectorielles.
Question 18.4 :
Donner les dates vectorielles du diagramme de temps de la figure 3.8.
Question 18.5 :
Écrire un algorithme sous la forme d’actions gardées qui fournit la date vectorielle de
toute action d’un système réparti. On distinguera les actions d’initialisation, d’émission
et de réception, et les actions internes.
[email protected]
2012 TD. Merci de signaler les erreurs.
19
S1
S2
S3
F IGURE 3.8 – Diagramme d’une exécution répartie pour la question 18.4.
Question 18.6 :
On suppose maintenant que le nombre de sites N n’est pas connu. Expliquer comment
construire les dates vectorielles. Quelle est l’influence sur la taille des messages ?
Question 18.7 :
Modifier l’algorithme de l’horloge vectorielle afin qu’il puisse fonctionner sans supposer
que N est connu.
Problème 19 : Ce problème met en évidence les liens entre les horloges vectorielles d’une part
et les communications et les coupures d’autre part. Chaque action (interne, réception, émission) sera
datée.
Question 19.1 :
Retrouver les communications ayant produit le diagramme de temps de la figure 3.9.
??
Question 19.2 :
Dessiner une «communication cachée» (i.e., qui n’est pas nécessaire pour justifier les
dates vectorielles de la figure), en cas de communications FIFO et non FIFO.
Question 19.3 :
Donner un exemple de coupure cohérente et de coupure non cohérente sur la figure 3.9.
Donner leur date vectorielle.
Question 19.4 :
Quelle propriété remarquable relie les dates des coupures et leur éventuelle cohérence ?
Problème 20 :
Question 20.1 :
Donner les dates vectorielles des actions de la figure 3.10.
Question 20.2 :
Donner les dates vectorielles des coupures C1 et C2 de la figure ci-dessus. Ces coupures
sont-elles cohérentes ?
[email protected]
2012 TD. Merci de signaler les erreurs.
20
S1
S2
S3
S4
1
0
0
0
2
0
0
0
3
0
0
0
4
3
0
0
5
3
0
0
6
4
0
0
7
4
0
6
8
4
7
6
0
1
0
0
0
2
0
0
0
3
0
0
0
4
0
0
0
5
0
2
5
6
0
2
5
7
6
4
5
8
6
4
0
0
1
0
0
0
2
0
2
0
3
0
2
0
4
0
2
0
5
4
2
0
6
4
2
0
7
4
2
0
8
4
0
0
0
1
0
0
0
2
0
0
0
3
0
0
0
4
0
0
0
5
0
0
0
6
2
0
4
7
2
0
4
8
F IGURE 3.9 – Diagramme de temps (question 19.1)
[email protected]
2012 TD. Merci de signaler les erreurs.
21
C1
C2
S1
S2
S3
F IGURE 3.10 – Diagramme d’une exécution répartie pour la question 20.1.
[email protected]
2012 TD. Merci de signaler les erreurs.
Téléchargement