La synchronisation d`horloge - Université de Reims Champagne

Transcription

La synchronisation d`horloge - Université de Reims Champagne
Université de Reims Champagne-Ardenne
La synchronisation d'horloge
F. Nolot
DESS RSI 2004­2005
1
Université de Reims Champagne-Ardenne
La synchronisation d'horloge
Les types de synchronisation
F. Nolot
DESS RSI 2004­2005
2
Université de Reims Champagne-Ardenne
Les types de synchronisation
Synchronisation des horloges physiques
But : mettre tous les ordinateurs à la même heure. Rapport avec
le temps physique (ou universel)
Synchronisation des horloges de phases
But : s'assurer que des ordinateurs fonctionnant à la même
vitesse maintienne une horloge digitale à la même valeur
Aucun rapport avec le temps physique
Exemple :
Tous les ordinateurs doivent exécuter une action à 15h14,
nécessité d'avoir des ordinateurs à la même heure
Tous les ordinateurs doivent exécuter l'action 3 avant l'action 4,
aucun rapport avec le temps physique mais nécessité d'avoir un
ordre sur les actions
F. Nolot
DESS RSI 2004­2005
3
Université de Reims Champagne-Ardenne
La synchronisation d'horloge
Synchronisation de phase
F. Nolot
DESS RSI 2004­2005
4
Université de Reims Champagne-Ardenne
Spécifications
Débute avec Misra en 91 : synchronisation globale (non auto-stab)
sur système synchrone. Pour tout i tel que i>=0
aucun processus ne commence à exécuter la phase i+1 tant que
tous les processus n'ont pas terminés la phase i (initialement,
tous les processus ont terminés la phase 0).
quand tous les processus ont terminé la phase i, chaque
processus finira par exécuter la phase i+1.
Sur les systèmes asynchrones, synchro. de voisinage, dit aussi
unisson asynchrone définie en 92 par Couvreur, Francez et Gouda
Soient deux processeurs voisins u et v. Alors u et v doivent
vérifier la condition suivante : C_u=C_v ou C_u=C_v+1 ou
C_u+1=C_v.
Pour les horloges bornées par une valeur K, toutes les opérations
sont effectuées modulo K
F. Nolot
DESS RSI 2004­2005
5
Université de Reims Champagne-Ardenne
Suivre son maître
Horloge infinie, modèle à états, système synchrone
Utilisation d'une distance entre la racine et les processus
Racine : d=0; C=C+1
Les autres : S'il existe un voisin v tel que pour tout voisin w, d(w)
≥d(v) alors
d(u):=d(v)+1 et
C(u)=C(v)+1
Problème en cas de défaillance ?
F. Nolot
DESS RSI 2004­2005
6
Université de Reims Champagne-Ardenne
Suivre la valeur minimale
Idée de Gouda et Herman en 90 : propager la valeur minimale du
réseau
C(u)=Min( C(u),Min(C(v), v voisin de u) )+1
Si les valeurs d'horloges sont finies ?
F. Nolot
DESS RSI 2004­2005
7
Université de Reims Champagne-Ardenne
Calcul modulo K
Arora, Dolev et Gouda en 91
C(u)=Min( C(u),Min(C(v), v voisin de u) )+1 mod K
Est-ce que cela marche pour toute valeur de K ?
Idée de la preuve ?
F. Nolot
DESS RSI 2004­2005
8
Université de Reims Champagne-Ardenne
Sur les systèmes asynchrones
Sur arbres enracinés : Alima, Beauquier, Datta et Tixeuil en 98
4K états pour propager la valeur d'horloge de la racine
F. Nolot
DESS RSI 2004­2005
9
Université de Reims Champagne-Ardenne
F. Nolot
DESS RSI 2004­2005
10
Université de Reims Champagne-Ardenne
Sur les systèmes asynchrones
Puis en 99 avec l'algorithme de Bui, Datta, Petit et Villain
3K états pour propager la valeur d'horloge de la racine
F. Nolot
DESS RSI 2004­2005
11
Université de Reims Champagne-Ardenne
F. Nolot
DESS RSI 2004­2005
12
Université de Reims Champagne-Ardenne
La synchronisation d'horloge
Horloge physique
F. Nolot
DESS RSI 2004­2005
13
Université de Reims Champagne-Ardenne
Synchronisation des horloges
Objectif : obtenir la même heure sur toutes les horloges des
ordinateurs d'un réseau
2 types de synchronisation
Synchronisation externe : utilisation d'une source externe
comme référence, estimer avec précision l'heure de cette source
Synchronisation interne
F. Nolot
DESS RSI 2004­2005
14
Université de Reims Champagne-Ardenne
Les paramètres
Vitesse des horloges (connue ou bornée)
Acheminement des messages : délai incertain
Fiabilité des liens et des processeurs
Type de communication : diffusion ou point à point
F. Nolot
DESS RSI 2004­2005
15
Université de Reims Champagne-Ardenne
Le Modèle
Une horloge local assigne une heure local à chaque événement
Vitesse de l'horloge est bornée
Quand la vitesse est « égale » au temps réel, elles sont dites à
« dérive libre »
Le délai d'acheminement des messages est borné
F. Nolot
DESS RSI 2004­2005
16
Université de Reims Champagne-Ardenne
Approximation de la dérive libre
Objectif : borner le décalage relatif des horloges locales
δ(v,u) = LTv (p)-LTu (p) = const ant e
Avec un seul m essage : si le délai est dans [ L,H] alors
Délai virt uel : différence ent re les horloges locales
VD(q,p)= LTv (q)-LTu (p)
D'où δ (v,u) ∈[ VD(q,p)-H , VD(q,p)-L]
LTu(p)
LTv(p)
LTv(q)
F. Nolot
DESS RSI 2004­2005
17
Université de Reims Champagne-Ardenne
Problème
δ (v,u) ∈[ VD(q,p)-H , VD(q,p)-L]
Que se passe-t-il si H = ∞ ? ou si le délai d'achem inem ent n'a
pas de borne sup ?
Observat ion : δ (v,u) = - δ (u,v)
donc δ (v,u) ∈[ a,b] ⇔ δ (u,v) ∈[ -b,-a]
Solut ion : ut iliser un deuxièm e m essage : de v vers u
u
Calcul de l'intervalle
pour m2 et intersection
avec l'intervalle reçu
F. Nolot
v
m1
m2
Calcul de l'intervalle pour m1
et envoie à u
DESS RSI 2004­2005
18
Université de Reims Champagne-Ardenne
Technique du « round trip »
Technique de base utilisée par la plupart des algorithmes de
synchronisation
Calcule du temps total d'acheminement du message
Suppose que l'allée prend autant de temps que le retour
Produit une estimation
Exemple : protocole NTP
t(i-3)
t(i-2)
t(i)
t(i-1)
delay = [t(i) - t(i-3)] - [t(i-1) – t(i-2)]
décalage = [(t(i-2) - t(i-3)) + (t(i-1) – t(i))]/2
F. Nolot
DESS RSI 2004­2005
19
Université de Reims Champagne-Ardenne
Problème
Sur plusieurs liens, on ajoute les dérives
Soient u, v et w 3 noeuds du graphe
δ(u,w) = δ(u,v) + δ(v,w)
donc si δ (u,v) ∈[ a,b] et δ (v,w) ∈[ c,d] alors
δ (u,w ) ∈[ a+ c,b+ d]
F. Nolot
DESS RSI 2004­2005
20
Université de Reims Champagne-Ardenne
Algorithme de Bellman-Ford
Problème des plus courts chemins à origine unique avec
poids pouvant être négatif
Graphe orienté pondéré G=(S,A), fonction de pondération w,
origine s, d[v] poids du chemin depuis s vers v
L'algo retourne un boolean s'il existe ou pas un circuit de
longueur <0 accessible depuis s. S'il en existe pas, l'algo
donne les plus court chemins ainsi que leur poids.
F. Nolot
DESS RSI 2004­2005
21
Université de Reims Champagne-Ardenne
Algo. de Bellman-Ford (2)
relacher(u,v,w) {
si d[v] > d[u]+w(u,v)
alors d[v] ← d[u]+w(u,v); π[v] ← u
}
init(G,s) {
pour chaque sommet v ∈ S[G]
faire d[v] ← ∞; π[v] ← NIL
d[s] ← 0
}
Bellman-Ford(G,w,s) {
init(G,s)
pour i de 1 à |S[G]|
faire pour chaque arc(u,v)
faire relacher(u,v,w)
pour chaque arc(u,v) ∈ A[G]
faire si d[v] > d[u]+w(u,v)
alors retourner Faux
retourner Vrai
}
F. Nolot
DESS RSI 2004­2005
22
Université de Reims Champagne-Ardenne
Application à la synchronisation
Chaque message de u vers v contient
< LTu, π u(v,u), π u(u,v), du(s,u), du(u,s) >
quand v reçoit un message avec un délai dans [L,H]
VD = LTv - LTu
π v(u,v) = Min { H-VD, π u(u,v), π v(u,v) }
π v(v,u) = Min { VD-L, π u(v,u), π v(v,u) }
dv(v,s) = Min { du(u,s)+ π u(v,u), dv(v,s) }
dv(s,v) = Min { du(s,u)+ π u(u,v), dv(s,v) }
Time = current + [dv(v,s)-dv(s,v)]/2
Error = [dv(v,s)+dv(s,v)]/2
F. Nolot
DESS RSI 2004­2005
23

Documents pareils