Facebook a développé une carte PCIe ouverte avec une horloge atomique

Facebook a publié des développements liés à la création d'une carte PCIe, qui comprend la mise en œuvre d'une horloge atomique miniature et d'un récepteur GNSS. La carte peut être utilisée pour organiser le fonctionnement de serveurs de synchronisation d'heure distincts. Les spécifications, schémas, fichiers BOM, Gerber, PCB et CAO nécessaires à la fabrication de la carte sont publiés sur GitHub. La carte est initialement conçue comme un dispositif modulaire, permettant l'utilisation de diverses puces d'horloge atomique et modules GNSS disponibles dans le commerce, tels que le SA5X, le mRO-50, le SA.45s et le u-blox RCB-F9T. Orolia a l'intention de commencer la production de panneaux finis sur la base de spécifications préparées.

Facebook a développé une carte PCIe ouverte avec une horloge atomique

La Time Card est développée dans le cadre d'un projet plus global Time Appliance, visant à fournir des composants pour créer des serveurs d'heure exacte primaires (Time Master) (Open Time Server), qui peuvent être déployés dans leur infrastructure et utilisés, par exemple, pour organiser la synchronisation de l'heure dans les centres de données . L'utilisation d'un serveur séparé vous permet de ne pas dépendre de services réseau externes pour synchroniser l'heure exacte, et la présence d'une horloge atomique intégrée offre un haut niveau d'autonomie en cas d'échec de réception des données des systèmes satellites (par exemple, en raison de aux conditions météorologiques ou aux attaques).

La particularité du projet est que pour construire un serveur d'heure exacte principal, vous pouvez utiliser un serveur classique basé sur une architecture x86, comprenant une carte réseau standard et une Time Card. Dans un tel serveur, les informations sur l'heure exacte sont reçues des satellites via GNSS, et l'horloge atomique agit comme un oscillateur très stable, lui permettant de maintenir un haut niveau de précision en cas d'échec de réception d'informations via GNSS. L'écart possible par rapport à l'heure exacte s'il est impossible d'obtenir des données via GNSS dans la carte proposée est estimé à environ 300 nanosecondes par jour.

Facebook a développé une carte PCIe ouverte avec une horloge atomique

Le pilote ocp_pt a été préparé pour Linux et devrait être inclus dans le noyau principal Linux 5.15. Le pilote implémente les interfaces PTP POSIX (/dev/ptp2), GNSS via le port série (/dev/ttyS7), horloge atomique via le port série (/dev/ttyS8) et deux périphériques i2c (/dev/i2c-*), utilisant lesquels peut donner accès aux capacités de l'horloge matérielle (PHC) depuis l'environnement utilisateur. Lors de l'exécution d'un serveur NTP (Network Time Protocol), il est suggéré d'utiliser Chrony et NTPd, et lors de l'exécution d'un serveur PTP (Precision Time Protocol), ptp4u ou ptp4l en combinaison avec la pile phc2sys, qui garantit que les valeurs de temps sont copié de l'horloge atomique vers la carte réseau.

La coordination du fonctionnement du récepteur GNSS et des horloges atomiques peut être effectuée à la fois au niveau matériel et logiciel. La fonctionnalité matérielle du module de correspondance est implémentée sur la base d'un FPGA, et la version logicielle fonctionne au niveau de la surveillance directe de l'état du récepteur GNSS et des horloges atomiques à partir d'applications telles que ptp4l et chronyd.

Facebook a développé une carte PCIe ouverte avec une horloge atomique

La raison pour laquelle on développe une carte ouverte au lieu d'utiliser des solutions toutes faites disponibles sur le marché est le caractère propriétaire de ces produits, qui ne permet pas de vérifier l'exactitude de la mise en œuvre, la non-conformité du logiciel proposé aux exigences de sécurité. (dans la plupart des cas, des programmes obsolètes sont fournis et la livraison des correctifs de vulnérabilité peut prendre des mois, voire des années), ainsi que des capacités de surveillance (SNMP) et de configuration limitées (ils offrent leur propre CLI ou interface utilisateur Web).

Source: opennet.ru

Ajouter un commentaire