Rapport de Systèmes Distribuées
Les Horloges
2A GENIE INFORMATIQUE ET DIGITALISATION
Réalisé par : KENBOUCH Aymane
Academic Year of 2024/2025
1
Contents
Introduction 3
Horloge de Fidge et Mattern (Horloge Vectorielle) 4
Horloge Matricielle 5
Différences entre les Horloges Scalaire, Vectorielle et Matricielle 6
Conclusion 7
2
Introduction
Dans les systèmes distribués, la synchronisation des horloges est essentielle pour
assurer l’ordre des événements et la cohérence des processus. Comme chaque nœud
possède sa propre horloge locale pouvant dériver avec le temps, plusieurs mécanismes
d’horodatage ont été développés pour structurer l’exécution des événements. L’horloge
scalaire, basée sur un simple compteur, permet d’imposer un ordre global mais ne capture
pas la relation causale entre les événements. L’horloge vectorielle, en maintenant un
vecteur de compteurs pour suivre les interactions entre processus, offre un suivi plus précis
de la causalité. Enfin, l’horloge matricielle étend ce principe en conservant une matrice
d’horloges vectorielles, fournissant ainsi une vision complète des dépendances causales au
sein du système.
3
Horloge de Fidge et Mattern (Horloge
Vectorielle)
L’horloge vectorielle est une méthode de suivi du temps logique dans un système distribué.
Chaque processus maintient un vecteur de compteurs, mis à jour selon les événements
locaux et les messages reçus.
Principe :
• Chaque processus Pi a un vecteur Vi de taille N (nombre total de processus).
• Lorsqu’un processus effectue un événement local, il incrémente sa propre valeur dans
le vecteur.
• Lorsqu’un processus envoie un message, il envoie aussi son vecteur.
• Lorsqu’un processus reçoit un message, il met à jour son vecteur en prenant le
maximum des valeurs reçues et locales.
Avantages :
• Permet de déterminer un ordre partiel des événements.
• Plus précis que l’horloge scalaire.
Inconvénients :
• Consommation mémoire (O(N )).
• Coût de communication plus élevé qu’une horloge scalaire.
4
Horloge Matricielle
L’horloge matricielle est une extension de l’horloge vectorielle qui conserve une matrice
des horloges vectorielles de tous les processus.
Principe :
• Chaque processus maintient une matrice Mi de taille N × N .
• Chaque élément Mi,j représente l’estimation du processus i sur le vecteur du processus
j.
• Lors d’une communication, le processus envoie sa matrice et met à jour la sienne en
prenant les valeurs maximales.
Avantages :
• Fournit une information complète sur l’ordre des événements.
• Peut détecter les cycles de causalité.
Inconvénients :
• Consommation mémoire importante (O(N 2 )).
• Plus coûteuse en communication.
5
Différences entre les Horloges Scalaire,
Vectorielle et Matricielle
Type d’horloge Précision Complexité mémoire Complexité de communication Cas d’utilisation
Scalaire Faible O(1) Faible Systèmes simples
Vectorielle Moyenne O(N ) Moyenne Suivi causal partiel
Matricielle Élevée O(N 2 ) Élevée Détection de cycles
Cas d’utilisation :
• L’horloge scalaire est utilisée pour un ordre global simple.
• L’horloge vectorielle est préférable pour des systèmes avec des communications
complexes.
• L’horloge matricielle est idéale pour des systèmes où la causalité doit être entièrement
tracée.
6
Conclusion
Chaque type d’horloge a ses avantages et ses inconvénients. Le choix d’une horloge dépend
des besoins du système distribué en termes de précision, de coût mémoire et de complexité
de communication. L’horloge vectorielle est un bon compromis entre performance et
précision, tandis que l’horloge matricielle est plus adaptée aux systèmes complexes.