PTP : Précision et précision de synchronisation pour l’avenir de l’informatique

Meta déploie un protocole de synchronisation réseau, Precision Time Protocol (PTP), pour améliorer l’exactitude et la précision sur nos réseaux ainsi que dans de nombreux cas d’utilisation. PTP offre un niveau d’exactitude et de précision de synchronisation qui sera fondamental alors que nous continuons à évoluer vers le métaverse et à développer les réseaux et systèmes de plus en plus complexes dont il aura besoin.

Pour soutenir les milliards de personnes dans le monde qui utilisent nos technologies, nous devons être sûrs que chaque serveur de chaque centre de données sait et accepte l’heure qu’il est, aussi exactement et précisément que possible. Des fonctionnalités telles que la messagerie, la vidéoconférence, les jeux en ligne et même la mise à jour ou la suppression de contenu reposent sur une synchronisation précise et précise entre plusieurs serveurs et parfois même entre plusieurs centres de données. Plus il y a de serveurs entre les terminaux, plus la synchronisation est importante. Avoir un seul serveur désynchronisé avec les autres peut créer des retards et des erreurs notables.

Protocole de temps réseau (NTP) nous a bien servi, mais il atteint ses limites alors que nous nous efforçons d’améliorer nos produits et services et d’en introduire de nouveaux. PTP offre un niveau d’exactitude et de précision que NTP ne peut tout simplement pas atteindre, et il réduira considérablement les risques de retards et d’erreurs sur le réseau.

Après un pilote réussi, nous avons commencé à étendre PTP dans tous nos centres de données.

Pourquoi avons-nous besoin de PTP

Alors, qu’est-ce que le PTP ? Et qu’est-ce qui le rend si important ?

Tout se résume à la précision, ou à quel point la mesure du temps d’un ordinateur est proche du temps réel, et de la précision, ou à quel point la différence ordinateurs mesures du temps sont les uns aux autres.

En 2002, PTP a été introduit comme méthode pour synchroniser avec précision les horloges dans un système distribué. Un ordinateur réseau appelé Stratum détient l’heure actuelle et envoie une référence temporelle à tout autre ordinateur sur un réseau qui demande quelle heure il est. L’heure actuelle est envoyée à l’ordinateur via un paquet de données réseau (un processus appelé messagerie de synchronisation) qui est utilisé pour mettre à jour l’horloge de l’ordinateur. Essentiellement, une machine réserve du temps aux autres machines du réseau.

Cependant, en raison de la latence du réseau, cette heure n’est plus précise lorsqu’elle arrive à l’ordinateur récepteur. La latence (également appelée retard) peut se produire pour plusieurs raisons, notamment :

  • La vitesse d’un signal (électrique ou optique) voyageant à travers un milieu (fil ou fibre) est finie (souvent approchée avec la vitesse de la lumière).
  • Le temps de conversion dans les émetteurs-récepteurs utilisés pour ces signaux peut varier en fonction de la température de l’émetteur-récepteur.
  • La qualité des commutateurs du routeur réseau et des interfaces réseau.
  • La pile de logiciels/pilotes/micrologiciels qui doit être exécutée pour envoyer ou recevoir un paquet réseau (appelée interconnexion de systèmes ouverts, ou OSI).

Il y a un dicton célèbre : Si vous pouvez le mesurer, vous pouvez le gérer. La latence est inévitable et ne peut être évitée, mais nous pouvons la compenser si nous pouvons la mesurer. Si la latence est mesurée, elle peut être ajoutée à l’heure actuelle du message de synchronisation côté client. Cependant, mesurer la latence entre l’ordinateur de référence temporelle et l’ordinateur client n’est pas une tâche aisée, car il n’y a pas d’horloge globale et chacun de ces ordinateurs possède sa propre horloge.

Pour mesurer la latence et la différence d’horloge entre la référence et le client (aussi appelé décalage), deux hypothèses doivent être faites : cohérence et symétrie. La cohérence signifie que la latence à laquelle un paquet est confronté lorsqu’il voyage sur le réseau est cohérente, et la symétrie signifie que la latence allant de l’ordinateur de référence à l’ordinateur client doit être égale à la latence qui revient dans l’autre sens (ordinateur client vers ordinateur de référence). Toute imperfection dans la cohérence et la symétrie diminuera la précision de la synchronisation de l’horloge des ordinateurs clients.

Pour améliorer la précision de la synchronisation d’horloge, il est nécessaire de maximiser la cohérence et la symétrie de notre réseau. C’est là que PTP entre en jeu. PTP utilise l’horodatage matériel et des horloges transparentes pour améliorer respectivement la cohérence et la symétrie.

PTP a déjà été fortement soutenu par l’industrie des télécommunications en tant que réseaux transition vers la connectivité 5G. La précision et l’exactitude supplémentaires des PTP seront vitales, car la 5G apporte une bande passante réseau plus élevée que jamais aux appareils du monde entier. Même si l’industrie des télécommunications utilise le PTP depuis plus d’une décennie, les centres de données à grande échelle ont été lents à adopter le PTP jusqu’à présent.

Comparé à NTP, PTP permet aux hôtes d’être synchronisés avec une source de temps commune avec une précision beaucoup plus élevée. Là où NTP permet une précision en quelques millisecondes, PTP permet une précision en quelques nanosecondes.

Comment PTP surpasse NTP

La migration de nos systèmes vers PTP a nécessité des années d’ingénierie en raison d’une différence fondamentale dans le fonctionnement des systèmes NTP et PTP.

Les systèmes qui utilisent NTP sont asynchrones. Ce sont des systèmes distribués sans horloge globale. Ils font leur travail indépendamment, mais ils vérifient les uns avec les autres pour s’assurer qu’ils sont synchronisés. Le problème avec cela est que, à mesure qu’un système se développe, de plus en plus de ces vérifications sont nécessaires. Et plus il y a d’enregistrements effectués, plus le réseau est lent.

NTP est également sujet à la variance et à la latence en raison de la façon dont il garde le temps. Selon son implémentation, NTP utilise soit une méthode d’horloge logique, soit une méthode d’horloge physique. Une horloge logique est une méthode plus ancienne qui chronomètre les choses comme une séquence d’étapes les unes après les autres.

Une horloge physique est une méthode plus récente utilisée dans les bases de données distribuées où les tâches sont planifiées sur une horloge et ordonnées en conséquence. Plutôt qu’une horloge commune centrale, chaque nœud utilise sa propre horloge. Pour s’assurer que toutes ces horloges sont synchronisées, les ingénieurs ajouteront délibérément un délai pour compenser la latence du réseau.

Une façon simple de penser à NTP est de penser à l’horloge d’un micro-ondes. Un micro-ondes garde l’heure sur l’appareil. S’il y a un décalage horaire, comme le passage à l’heure d’été, l’horloge doit être ajustée manuellement et vérifiée par rapport à une source de vérité (par exemple, une autre horloge de confiance).

PTP, en revanche, fonctionne plus comme l’horloge d’un smartphone. Lorsque l’heure d’été se produit ou que le téléphone passe à un nouveau fuseau horaire, l’horloge d’un smartphone met à jour son heure par elle-même en recoupant l’heure sur un réseau. De la même manière que les horloges des smartphones peuvent se mettre à jour, PTP permet aux systèmes d’être synchronisés et de s’appuyer sur une seule source de vérité pour la synchronisation.

Migration de NTP vers PTP

Alors que PTP est plus précis que NTP (mesurant en nanosecondes par rapport aux millisecondes), il impose également plus de demandes sur le matériel réseau. Alors que les ingénieurs de Metas travaillaient à la mise en œuvre de PTP, nous avons rapidement constaté que les composants prêts à l’emploi n’étaient pas conçus pour gérer PTP à grande échelle. Un composant important de PTP, l’horloge du serveur, fournit des informations d’heure standard à d’autres horloges sur un réseau. Considérez-le comme une machine à glaçons, diffusant des paquets de temps à toutes les autres machines du réseau comme des glaçons.

Il existe également des horloges limites et des horloges transparentes situées entre le ServerClock et les différents nœuds du réseau. Les horloges limites sont comme des cadres intermédiaires qui communiquent et se synchronisent avec l’horloge du serveur et fournissent l’heure aux appareils situés en dessous. Imaginez des glaçons envoyés dans un tuyau, mais le tuyau devient plus chaud. Les horloges de délimitation sont comme un réfrigérateur tenant les glaçons. Le problème est que si la glace est déjà un peu fondue, le réfrigérateur ne fait que l’empêcher de fondre davantage. Les horloges transparentes tentent d’atténuer cela en mesurant et en ajustant les retards pour améliorer la synchronisation. Ils sont comme l’isolation des tuyaux.

Nous avons décidé d’éliminer complètement les horloges limites du système afin que chaque machine parle directement à l’horloge du serveur. Mais comment synchroniser vos machines sur une seule horloge à l’échelle mondiale ?

Habituellement, vous comptez sur la synchronisation GPS. Vous pouvez dire qu’un centre de données aux États-Unis est aussi précis qu’un centre de données en Irlande, par exemple, parce que vous savez que le GPS est précis. Mais ce n’est vrai qu’en théorie car il n’y a aucun moyen d’être à deux endroits en même temps pour le vérifier. Mais nous voulions réellement le vérifier.

Pour créer notre propre source de vérité, nous avons construit notre propre Appareil de temps, un appareil open source capable de prendre en charge PTP à l’échelle Metas. Le Time Appliance se compose d’un récepteur GNSS et d’une horloge atomique miniaturisée (MAC), et peut conserver une heure précise, même si la connectivité GNSS est perdue. Lors de la construction de notre Time Appliance, nous avons également inventé une Time Card, une carte PCIe qui peut transformer n’importe quel serveur standard en une Time Appliance. Nous avons ensuite travaillé avec l’Open Compute Project pour établir le Projet d’appliance de temps de calcul ouvert et open-source tous les aspects de la Serveur de temps ouvert.

Avantages du PTP

Il ne sera pas possible de se déplacer sur le les plates-formes de calcul de nouvelle génération et les métaversese sans résoudre les exigences de synchronisation strictes que PTP peut résoudre. PTP offre des avantages pour les produits et services du futur qui piloteront le métaverse, mais a également des implications importantes pour les produits et services d’aujourd’hui.

Pensez à quelque chose d’aussi courant que d’envoyer un message via Messenger. Grâce à la synchronisation du réseau, quelqu’un peut envoyer un message à un ami à l’autre bout du monde et le faire apparaître en temps réel. Cela ne se produira pas si la synchronisation entre les serveurs n’est pas correcte. PTP rendra même les transactions réseau quotidiennes comme celles-ci encore plus rapides. Et cela aidera les systèmes à mieux détecter et éviter la congestion du réseau.

Un autre exemple où le PTP peut aider est de réduire les retards dans les jeux, un problème notoire pour quiconque a joué à des jeux en ligne. Le décalage se produit parce que les systèmes ne sont pas synchronisés. Et comme jeu basé sur le cloud devient plus banal et que les jeux eux-mêmes deviennent plus intensifs graphiquement, la capacité des PTP à atténuer le décalage en fera un élément important de l’avenir du jeu.

Et pour les personnes plus soucieuses des affaires, il en va de même pour la visioconférence et le travail à distance. Tout, des vidéoconférences d’aujourd’hui aux nouvelles possibilités avec travail à distance et collaboration se tiendra à récolter les avantages de PTP.

Nous pensons que, parmi ses autres applications, PTP a le potentiel de permettre la synchronisation des GPU entre les centres de données, ce qui pourrait ouvrir une échelle sans précédent dans les capacités d’IA qui est difficile à atteindre aujourd’hui. Ce niveau de précision aidera à assurer la synchronisation non seulement des ordinateurs sur nos réseaux aujourd’hui, mais également des systèmes avancés qui seront sur nos réseaux à l’avenir.

Prochaines étapes pour PTP

Pour aider à accroître l’adoption du PTP, ont été open-sourcer tous nos travaux liés au PTP (notre Time Appliance et le code source, le logiciel client et l’horloge transparente). Les fournisseurs qui produisent des équipements de mise en réseau doivent introduire de nouveaux équipements prenant en charge PTP, et nous souhaitons les aider à les prendre en charge.

Dans les années à venir, nous pensons que le PTP deviendra la norme pour garder l’heure dans les réseaux informatiques, et ce sera un composant fondamental des technologies qui piloteront le métaverse.

www.actusduweb.com
Suivez Actusduweb sur Google News


Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Lire la suite