Dans un billet de blog posté le 21 novembre 2022, Meta, maison mère de Facebook, explique vouloir transformer le protocole de synchronisation de ses serveurs mondiaux pour améliorer l’expérience des internautes.
Synchronisation à la nanoseconde
La plupart des appareils connectés à Internet utilisent aujourd’hui le protocole NTP (Network Time Protocol) pour synchroniser leur horloge interne. Cette synchronisation entre serveurs — et entre machines y accédant — est essentielle pour permettre aux ordinateurs d’afficher simultanément les informations souhaitées. Quiconque a déjà joué à un jeu en ligne avec une connexion médiocre sait que l’expérience est fortement dégradée, car plus une information met du temps à parvenir à un serveur, plus le délai avant son exécution est long.
Plus banal, l’envoi d’un message instantané est très dépendant d’une bonne synchronisation. “Pensez à quelque chose d’aussi courant que l’envoi d’un message sur Messenger. Grâce à la synchronisation du réseau, quelqu’un peut envoyer un message à un ami à l’autre bout du monde et le voir apparaître en temps réel. Cela ne peut pas se produire si la synchronisation entre les serveurs n’est pas correcte”, pointe Meta. Facebook et ce dernier vont donc basculer sur un nouveau protocole de synchronisation, baptisé PTP (Precision Time Protocol).
Le PTP dispose d’un avantage de taille par rapport au NTP. Il est effectivement capable de synchroniser différentes machines avec une précision proche de la nanoseconde (un millionième de seconde), là où le NTP est limité à la milliseconde (un millième de seconde). “Des fonctions 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 exacte entre plusieurs serveurs, parfois même entre plusieurs centres de données, expliquent Ahmad Byagowi et Oleg Obleukhov, deux ingénieurs de Facebook. Plus il y a de serveurs, plus la synchronisation est importante. Si un seul serveur est mal synchronisé avec les autres, cela peut entraîner des ralentissements et des erreurs notables.”
Afficher les bonnes informations au bon moment est critique pour une entreprise telle que Facebook, particulièrement dans le métavers que la firme de Marc Zuckerberg s’échine à construire depuis un an. Quand tous les serveurs sont synchronisés, les interactions sont plus fluides, plus naturelles et semblent donc plus “réelles”. “Le PTP profitera aux produits et services actuels, et sera une technologie fondamentale pour le développement du métavers”, indique le billet de blog de Facebook. Le protocole PTP n’est pas parfait (aucun protocole ne peut l’être), mais grâce à une mesure précise de la latence réseau, il est capable de compenser ce délai en ajoutant quelques nanosecondes à l’heure d’envoi d’un paquet sur le réseau.
Ce protocole imaginé dès 2001 est aujourd’hui largement utilisé par les opérateurs réseau, très soucieux de la synchronisation. Mais le déployer à l’échelle de Facebook est un défi, tant l’entreprise a des serveurs à synchroniser partout dans le monde. La société a donc dû revoir en profondeur le fonctionnement de son réseau pour opérer la bascule. Bonne nouvelle, le travail des équipes de Meta est disponible en open source. Espérons qu’avec son adoption prochaine, les appels visio ne seront plus un festival d’intervenants qui se coupent la parole.