Vous êtes sur la page 1sur 2

Chapitre 4 : Ordre, 6. Horloges logiques Chapitre 4 : Ordre, 6.

Horloges logiques
temps et état temps et état
global dans le SD matricielles global dans le SD matricielles
Si un évènement e du processus p se produit sur le site i alors
La ième ligne fournit le nombre de messages que Si a envoyé aux
différents autres sites. •Si e est un évènement purement local alors HMi[i,i]++
La diagonale (ça correspond à l’estampille vectorielle) •Si e correspond à l’émission du message m par le processus p
représente la connaissance de Si des évènements locaux qui se alors HMi[i,i]++ et HMi[i,j]++. Une estampille EMi (m) = HMi est
sont déjà produits sur les différents sites Sj. envoyée avec le message vers le site de destination.
•Si e est la réception du message m d’estampille E
Chaque élément HMi[j,k] est le nombre de messages émis par le Mi(m) en
provenance de Sj , alors il faut s’assurer que les messages
site Sj , selon les connaissances de Si .
antérieurement envoyés au site Si sont tous délivrés i.e. que
EMi[j,k]: le nombre de message en provenance de Sj et délivrables EMm[j,i]= HMi[j,i]+1 : Si a reçu tous les messages provenant de
sur Sk selon les connaissances de Si (i.e. les message dont Sj (ordre FIFO sur le canal (j,i))
l’envoi est causalement antérieur à tout ce qui arrive sur Si) •Tous les messages provenant d’autres sites et qui leur sont

causalement précédents, pour tout k ≠i et k≠j,


179 180
EMm[k,i] ≤ HMi[k,i]
179 180

Chapitre 4 : Ordre, 6. Horloges logiques Chapitre 4 : Ordre, 6. Horloges logiques


temps et état temps et état
global dans le SD matricielles global dans le SD matricielles
Si ces conditions sont vérifiées alors le message est délivrable •Datation des évènements en utilisant l’horloge matricielle
et l’horloge du site Si est mise à jour selon:
HMi[i,i]++ et HMi[j,i]++
m1
Pour le reste de la matrice : m2

HMi[k,l]= max( EMm[k,l], HMi[k,l])


Si les conditions ne sont pas toutes vérifiées, la délivrance du
message est différée jusqu’à ce qu’elles le deviennent et m3

l’horloge n’est pas mise à jour.


 La délivrance d’un message provoque celle des messages
arrivés prématurément. 181 182

181 182
Chapitre 4 : Ordre, 6. Horloges logiques Chapitre 4 : Ordre, 6. Horloges logiques
temps et état temps et état
global dans le SD matricielles global dans le SD matricielles
Les horloges suivantes sont elles correctes??
Synthèse
Horloge scalaire : Une seule valeur qui résume les connaissances
du processus P de son horloge locale et des horloges locales
d’autres processus avec qui il communique
Horloge vectorielle : P dispose de connaissances de son horloge
locale et de celles des autres processus avec qui il communique.
Horloge matricielle : P dispose de connaissances de son horloge
locale, de celles des autres processus avec qui il communique et
de leurs perceptions des autres processus.
183 184

183 184

Vous aimerez peut-être aussi