Facebook has developed an open PCIe card with an atomic clock

Facebook has published developments related to the creation of a PCIe board, including the implementation of a miniature atomic clock and a GNSS receiver. The board can be used to organize the operation of separate time synchronization servers. Specifications, schematics, BOM, Gerber, PCB and CAD files required for board production are published on GitHub. The board was originally designed as a modular device, allowing the use of various off-the-shelf atomic clock chips and GNSS modules such as SA5X, mRO-50, SA.45s and u-blox RCB-F9T. Orolia intends to start production of ready-made boards based on the prepared specifications.

Facebook has developed an open PCIe card with an atomic clock

The Time Card board is being developed as part of a more global Time Appliance project aimed at providing components for creating primary (Time Master) exact time servers (Open Time Server), which can be deployed in their infrastructure and used, for example, to organize time synchronization in data centers . The use of a separate server allows you not to depend on external network services for accurate time synchronization, and the presence of a built-in atomic clock provides a high level of autonomy in case of failures in receiving data from satellite systems (for example, due to weather conditions or attacks).

The peculiarity of the project is that to build a primary exact time server, you can use a regular server based on the x86 architecture, which includes a typical network card and a Time Card. In such a server, accurate time information is received from satellites via GNSS, and the atomic clock acts as a highly stable oscillator to maintain a high level of accuracy in the event of a failure in obtaining information via GNSS. The possible deviation from the exact time in case of failure to receive data via GNSS in the proposed board is estimated at about 300 nanoseconds per day.

Facebook has developed an open PCIe card with an atomic clock

For Linux, the ocp_pt driver has been prepared, which is planned to be included in the main composition of the Linux 5.15 kernel. The driver implements PTP POSIX (/dev/ptp2), GNSS over serial (/dev/ttyS7), atomic clock over serial (/dev/ttyS8), and two i2c devices (/dev/i2c-*) interfaces, using which can be accessed to the capabilities of the hardware clock (PHC) from the user environment. When starting an NTP (Network Time Protocol) server, it is suggested to use Chrony and NTPd, and when starting a PTP (Precision Time Protocol) server, ptp4u or ptp4l in combination with the phc2sys stack, which ensures that the time values ​​from the atomic clock are copied to the network card.

Coordination of the operation of the GNSS receiver and the atomic clock can be performed both in hardware and software. The hardware functionality of the matching module is implemented on the basis of FPGA, and the software version works at the level of direct monitoring of the state of the GNSS receiver and atomic clock from applications like ptp4l and chronyd.

Facebook has developed an open PCIe card with an atomic clock

The reasons for developing an open board instead of using ready-made solutions on the market are the proprietary nature of such products, which does not allow you to verify the correctness of the implementation, the discrepancy between the proposed software and security requirements (in most cases, outdated programs are supplied, and delivery of vulnerability fixes can take months or even years), as well as limited monitoring (SNMP) and configuration options (own CLI or Web UI are offered).

Source: opennet.ru

Add a comment