AccueilđŸ‡«đŸ‡·Chercher

Algorithme de Cristian

L'algorithme de Cristian (introduit par Flaviu Cristian en 1989)[1] est une mĂ©thode de synchronisation d'horloges utilisable dans plusieurs domaines de l’informatique, principalement dans les rĂ©seaux intranets Ă  faible latence. Cristian a remarquĂ© que cet algorithme trĂšs simple est probabiliste, et n’effectue correctement la synchronisation que si le round-trip time (RTT) de la requĂȘte est court par rapport Ă  la prĂ©cision nĂ©cessaire. Il est Ă©galement limitĂ© par ses implĂ©mentations qui se basent sur un serveur unique, le rendant impropre Ă  une utilisation dans les applications distribuĂ©es oĂč la redondance peut s'avĂ©rer critique.

L'algorithme

Il fonctionne entre un processus P et un serveur temporel S — connectĂ© Ă  une source de temps UTC.

En résumé :

  1. P demande le temps Ă  S
  2. À la rĂ©ception de cette requĂȘte, S prĂ©pare une rĂ©ponse et y ajoute le tempsT de sa propre horloge
  3. P rĂšgle alors son horloge comme T + RTT/2

P doit enregistrer le RTT de la requĂȘte qu'il a effectuĂ©e Ă  S pour calculer le temps synchronisĂ©. On suppose que la durĂ©e d'aller/retour de la requĂȘte est identique entre la requĂȘte et la rĂ©ponse, ce qui n'est pas nĂ©cessairement le cas mais est une hypothĂšse raisonnable dans le cas d'un rĂ©seau local.

La prĂ©cision peut ĂȘtre amĂ©liorĂ©e en effectuant de nombreuses requĂȘtes et en utilisant le RTT minimal pour le calcul. La prĂ©cision peut alors ĂȘtre estimĂ©e de la maniĂšre suivante : Soit min la durĂ©e minimale pour transporter un message dans un sens. Le temps le plus tĂŽt auquel S aurait pu placer le temps T Ă©tait min aprĂšs que P a envoyĂ© sa requĂȘte. Par consĂ©quent, le temps de S, quand le message est reçu par P, est dans l'intervalle [(T + min) .. (T + RTT - min)]. Donc la prĂ©cision qui en dĂ©coule est (RTT/2) - min.

Références

  1. (en) F. Cristian, « Probabilistic clock synchronization », Distributed Computing, Springer, vol. 3, no 3,‎ , p. 146–158 (DOI 10.1007/BF01784024, lire en ligne)

Voir aussi

Autres algorithmes de synchronisation temporelle :

  • Algorithme de Berkeley (en)
  • Le protocole DAYTIME (en), un protocole de synchronisation plus ancien
  • Horodatage ICMP (en), un autre protocole plus ancien utilisant ICMP
  • Precision Time Protocol
  • TIME protocol (en), un autre protocole ancien sur les ports TCP ou UDP 37
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.