synchronisation d`horloges physiques

Transcription

synchronisation d`horloges physiques
TD algorithmique répartie
SYNCHRONISATION D’HORLOGES PHYSIQUES
On rappelle que les supports de cours sont disponibles à
http://mathieu.delalandre.free.fr/teachings/dcomputing.html
1. Décalage d’horloge
On considère un cas d’étude de décalage d’horloge, ou un client C se synchronise de manière
journalière avec un serveur UCT. A la première synchronisation, le client ajuste son horloge
avec UCT (θ = 0). Sur les synchronisations suivantes, le client relève les valeurs UCT
obtenues conjointement à ses propres valeurs d’horloge pour estimer le décalage. Le décalage
observé est reporté dans le tableau suivant, ou les heures sont indiquées au format h:m:s (pour
une question de facilité de calcul, on s’intéressera ici à une précision bornée à la seconde). A
partir de ces données, indiquez pour quelques événements de synchronisation les informations
suivantes: les valeurs de décalage « offset », de fréquence (dC/dT) et de dérive « skew ».
0
1
2
3
4
5
6
7
8
9
10
Jours
UCT 9:17:11 13:10:50 11:02:18 12:35:14 11:02:47 10:55:22 12:16:09 14:47:12 15:17:55 14:55:10 16:17:55
Cp(t) 9:17:11 13:10:54 11:02:26 12:35:28 11:03:09 10:55:57 12:16:57 14:48:24 15:19:32 14:57:33 16:21:06
Sachant un « maximum drift rate » de 40×10-5 pour l’horloge d’une machine, quelle
recommandation feriez-vous pour synchroniser six ordinateurs « jumeaux » C1, C2, C3, C4,
C5 et C6 sachant (i) que C1 est connecté à C2, C3, C4, C5 et que C4, C5 sont connectés à C6
(ii) que l’on souhaite fixer le décalage à 12 secondes dans le pire des cas entre deux machines.
2. Network Time Protocol (NTP)
On souhaite effectuer une estimation du temps de communication entre un Client C et un
serveur d’horloge UCT, via le protocole NTP. Calculer le temps de communication moyen
tenant compte des paramètres suivants (i) C effectue sa requête à t0 = 9:55:13:0 et reçoit une
réponse à t1 9:55:15:50 « h:m:s:ms » (ii) le délai d’interruption du serveur UCT est de 1,25 s.
Sachant que, à réception de la valeur de UCT par C, l’écart entre de l’horloge de C « hc » et
« UCT » est de hc - UCT = 5,65 s, indiquez la manière de synchroniser hc. Sachant que C
dispose d’un processor cadencé à 500 MHz, indiquez comment hc peut être aligné sur la
valeur d’UCT dans un délai maximum de 50 s de temps processeur.
3. Algorithme de Berkeley
On considère un problème de synchronisation d’horloges entre 3 clients C1, C2 et C3 et un
serveur d’horloge Sh en utilisant l’algorithme de Berkeley. A l’instant t=0, les valeurs des
horloges de C1, C2, C3 et Sh sont respectivement de 12:12:26, 12:17:51, 11:51:22 et 12:13:47
« h:m:s » (pour une question de facilité de calcul, on s’intéressera ici à une précision bornée à
la seconde). Détaillez les étapes de synchronisation entre C1, C2 et C3 et Sh, et donnez les
valeurs finales des horloges à l’issue de la synchronisation.