Université Ferhat Abbas Sétif 1
Faculté des Sciences – Département d’Informatique
Master 1 H. Mansouri
TD 3
Considérons le chronogramme de temps suivant, décrivant l’évolution de l’exécution d’un calcul
réparti sur 4 processus P1, P2, P3 et P4 :
Partie 1 :
1- Utilisez les horloges linéaires de Lamport, puis les horloges vectorielles de Mattern pour
dater l’ensemble des événements produits dans cette exécution.
2- Quels sont les messages dont la réception ne respecte pas l'ordre causal ? Peut-on éviter
cette violation d’ordre en utilisant les horloges vectorielles ? Justifiez votre réponse.
3- On considère les deux coupures désignées C1 et C2 dans la figure. Les deux états globaux,
sauvegardés au moment de ces coupures, sont-ils cohérents ? Justifiez vos réponses.
4- Les valeurs des horloges linéaires, suffisent-elles pour décider si la combinaison des états
locaux forme un état global cohérent ? Comment peut-on détecter autrement ?
Partie 2 :
Après quelques instants d’exécution, la date d’un état fortement cohérent du système (utilisant
les horloges matricielles) est composée des horloges des 4 processus qui indiquent les valeurs
suivantes :
7 2 1 0 7 2 1 0 6 1 1 0 6 1 1 0
1 5 1 0 1 7 1 0 1 5 1 0 1 5 1 0
HP1 = HP2 = HP3 = HP4 =
1 2 4 1 1 2 4 1 1 2 10 3 1 2 8 3
1 0 0 4 1 1 0 7 1 0 0 4 1 1 0 9
1. Au total, combien d’événements ont eu lieu dans le système avant cette date ?
2. Au total, combien de messages ont été échangés dans le système avant cette date ?
3. Au total, combien d’événements locaux ont eu lieu avant cette date ?
4. Dans quel ordre ont été envoyés les messages de P1 ?
5. A quelle coupure correspond cette date ?
6. Peut-on éviter la violation d’ordre causal en utilisant ces horloges ? Justifiez vos réponses.
7. Complétez l’historique des événements jusqu'à cette date.
1/1