Académique Documents
Professionnel Documents
Culture Documents
Chapitre 3
Problématique
1
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Problématique
Problématique
◦ Propriétés du système de
communication (asynchronisme)
Temps de communication potentiellement
longs
Temps de transmission variables
Ordre des messages non forcément
préservé
2
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Problématique
Ceci implique :
◦ Perception différente des mêmes
évènements depuis des sites
distincts
Problématique
Ceci implique aussi :
◦ Problème si besoin d’algorithmes
répartis basés sur le temps
◦ Conséquences sur
La synchronisation
L’observation et la mise au point
3
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Problématique
Exemple: Conséquences de l’absence d’une
heure unique sur le programme make du
système UNIX
Un programme composé de 100 fichiers
source
Fin de modification d’un des fichiers
source => on exécute make qui compare les
dates auxquelles tous les fichiers source
et objet ont été modifiés pour la dernière
fois
Informatique Répartie M1 IDEAS 22-23 7
Problématique
Exemple: illustration
Temps en accord
2144 2145 2146 2147 2148 avec l’horloge
Machine sur laquelle
est exécuté le compilateur locale
Création de output.o
Temps en accord
Machine sur laquelle 2142 2143 2144 2145 2146 avec l’horloge locale
est exécuté l’éditeur
Création de output.c
Car machine un peu
en retard
temps
4
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
10
5
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Etude de la synchronisation
Système = ensemble de processus (1 par site)
+ canaux de communication
11
Etude de la synchronisation
Exemple :
12
6
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Etude de la synchronisation
Tentative pour modéliser certains
aspects du monde réel (asynchronisme
des communications et des traitements)
◦ Peut être renforcé:
borne sup sur le traitement et/ou la
durée de transmission
borne sup sur le rapport des vitesses
d’exécution des processus
13
14
7
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
15
La délivrance
16
8
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
17
18
9
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Notion de précédence
Problème: chaque processus considère sa
propre horloge
P1 P2 P3
t1=6s A
t2=16s Le message C part de P3 à 60
B secondes et arrive à P2 à 56
t3=40s IMPOSSIBLE
C t3=60s
De même pour D
t2=56s
D t2=59s
t1=54s
Informatique Répartie M1 IDEAS 22-23 19
19
Notion de précédence
La réception du message C par P2 permet de
synchroniser entre les horloges logiques de P3
et P2
P1 P2 P3
t1=6s A
t2=16s
B
t3=40s
C t3=60s
t2=61s
D t2=69s
t1=70s
Informatique Répartie M1 IDEAS 22-23 20
20
10
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Notion de précédence
Le problème :
1. Définir une relation globale de
précédence
2. et ceci sur la seule base
d’informations locales
Solution:
utiliser le principe de causalité la
cause précède l’effet.
Informatique Répartie M1 IDEAS 22-23 21
21
22
11
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
◦ e précède localement e’
◦ message m tq e = émission(m)
et e’ = réception(m)
23
a, d, f, c précèdent u
v u ? b précède c
v u car v Informatique
b et bRépartie
c et c u
M1 IDEAS 22-23 24
24
12
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
25
26
13
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
e || e’ ¬ (e->e’) et ¬ (e’->e)
27
Passe(u) = {u,
? a, b, c, f , v, h, d}
Futur(u) = {u,
? x, y}
Concurrent(u) = {g}
?
Informatique Répartie M1 IDEAS 22-23 28
28
14
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
29
30
15
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
31
32
16
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Exemple :
p0
p1 e11 e12
p2 e21 e22
33
34
17
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
35
36
18
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
37
◦ Initialisation: hi = 0
◦ Évènement local: hi = hi + 1;
38
19
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
39
1 2 3 6
0
2
1 2 3 4
0 5
3
1 4 5 6
0
40
20
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
? ? ? ? ? ? ?
? ? ? ? ? ?
? ? ?
? ? ? ? ? ? ? ? ?
41
42
21
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
43
44
22
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
45
46
23
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
47
48
24
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
49
◦ Problèmes:
Connaître tous les émetteurs
potentiels ?
50
25
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Fidge, Mattern
51
52
26
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
53
54
27
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
◦ e || e’ ssi Ve || Ve’
55
? ? ? ?
? ? ?
? ? ? ? ? ? ? ?
56
28
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
57
58
29
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
59
Horloges matricielles
Permettent de détecter l’arrivée de
messages dont la délivrance violerait
le respect de la causalité et
permettent de les différer
63
30
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Horloges matricielles
Notations :
64
Horloges matricielles
Signification de HMi [j , k] :
HMi [j , k] = nombre de messages issus de
pj vers pk dont pi a connaissance.
HMi [j , j ] : ?
correspond au nombre d’événements locaux du
site j
Informatique Répartie M1 IDEAS 22-23 65
65
31
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Horloges matricielles
Règles d’évolution des horloges (sur un site i)
66
Horloges matricielles
Lorsqu'un message m en provenance du site Sj
est reçu sur le site Si il faut s'assurer que
tous les messages envoyés antérieurement au
site Si y sont effectivement arrivés avant de
mettre à jour l’horloge c-à-d que:
67
32
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Horloges matricielles
◦ EMm[j,i] = HMi[j,i] + 1 Cas 1
(ordre FIFO sur le canal (j,i))
Pj
Pi
68
Horloges matricielles
EMm[k,i] <= HMi[k,i] Cas I1
(tous les messages des sites différents de Sj ont été
reçus)
Pj
Pk
Pi
Informatique Répartie M1 IDEAS 22-23 69
69
33
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Horloges matricielles
70
Horloges matricielles
Exemple :
? ? ? ?
? ?
71
34
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Horloges matricielles
Exemple :
72
Horloges matricielles
Exemple : lorsque l'ordre d'arrivée des messages n'est plus
satisfaisant
9 3 3
2 11 2
1 2 10
73
35
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
Résumé …
Horloges scalaires :
HLi ce que Pi connaît du système, réduit à un nombre.
Horloges vectorielles :
HVi[j] ce que Pi connaît de Pj.
Horloges matricielles :
HMi[j,k] ce que Pi connaît de ce que Pj connaît de Pk.
74
76
36
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
77
78
37
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
79
P1
P2
Coupure C
Évènements
appartenant à C
Informatique Répartie M1 IDEAS 22-23 80
80
38
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
81
t2
Informatique Répartie M1 IDEAS 22-23 82
82
39
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
83
84
40
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
85
86
41
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
87
e2 m1
Q
m2
R e3
m3
S e4
88
42
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
89
90
43
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
91
92
44
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
93
94
45
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
95
96
46
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
97
etat
M
Q
Fin de l’algo
M
a b c M M d
Q Q Q
a b c a b c d
Informatique Répartie M1 IDEAS 22-23 98
98
47
Cours : Informatique Répartie Chapitre 3 : Horloges Logiques et Datation
des Evènements dans les Applications
Réparties
99
48