Facebook opracował otwartą kartę PCIe z zegarem atomowym

Facebook opublikował postępy związane z tworzeniem płytki PCIe, w tym wdrożenie miniaturowego zegara atomowego i odbiornika GNSS. Płytę można wykorzystać do zorganizowania pracy oddzielnych serwerów synchronizacji czasu. Specyfikacje, schematy, pliki BOM, Gerber, PCB i CAD potrzebne do produkcji płytek są publikowane na GitHubie. Płytka została pierwotnie zaprojektowana jako urządzenie modułowe, umożliwiające korzystanie z różnych gotowych chipów zegara atomowego i modułów GNSS, takich jak SA5X, mRO-50, SA.45s i u-blox RCB-F9T. Produkcję gotowych desek na podstawie przygotowanych specyfikacji rozpocznie Orolia.

Facebook opracował otwartą kartę PCIe z zegarem atomowym

Karta Czasu jest rozwijana w ramach bardziej globalnego projektu Time Appliance, mającego na celu dostarczenie komponentów do tworzenia podstawowych (Time Master) serwerów dokładnego czasu (Open Time Server), które można wdrożyć w ich infrastrukturze i wykorzystać np. synchronizacja czasu w centrach danych. Zastosowanie oddzielnego serwera pozwala nie polegać na zewnętrznych usługach sieciowych w zakresie dokładnej synchronizacji czasu, a obecność wbudowanego zegara atomowego zapewnia dużą autonomię w przypadku awarii w odbiorze danych z systemów satelitarnych (np. z powodu warunków pogodowych lub ataków).

Specyfika projektu polega na tym, że do zbudowania podstawowego serwera dokładnego czasu można użyć zwykłego serwera opartego na architekturze x86, który zawiera typową kartę sieciową i kartę czasu. W takim serwerze dokładne informacje o czasie odbierane są z satelitów za pośrednictwem GNSS, a zegar atomowy działa jak wysoce stabilny oscylator, aby zachować wysoki poziom dokładności w przypadku niepowodzenia w uzyskaniu informacji za pośrednictwem GNSS. Ewentualne odchylenie od dokładnego czasu w przypadku braku odbioru danych przez GNSS w proponowanej tablicy szacuje się na około 300 nanosekund dziennie.

Facebook opracował otwartą kartę PCIe z zegarem atomowym

Dla Linuksa przygotowano sterownik ocp_pt, który ma znaleźć się w głównym składzie jądra Linuksa 5.15. Sterownik implementuje interfejsy PTP POSIX (/dev/ptp2), GNSS przez port szeregowy (/dev/ttyS7), zegar atomowy przez port szeregowy (/dev/ttyS8) oraz dwa interfejsy urządzeń i2c (/dev/i2c-*), za pomocą których można mieć dostęp do możliwości zegara sprzętowego (PHC) ze środowiska użytkownika. Przy uruchamianiu serwera NTP (Network Time Protocol) sugeruje się użycie Chrony i NTPd, a przy uruchamianiu serwera PTP (Precision Time Protocol) - ptp4u lub ptp4l w połączeniu ze stosem phc2sys, który zapewnia kopiowanie wartości czasu od zegara atomowego do karty sieciowej.

Koordynacja pracy odbiornika GNSS i zegara atomowego może odbywać się zarówno sprzętowo, jak i programowo. Funkcjonalność sprzętowa modułu dopasowującego jest zaimplementowana w oparciu o układ FPGA, a wersja oprogramowania działa na poziomie bezpośredniego monitorowania stanu odbiornika GNSS i zegara atomowego z aplikacji ptp4l i chronyd.

Facebook opracował otwartą kartę PCIe z zegarem atomowym

Przyczyną opracowania otwartej płytki zamiast korzystania z gotowych rozwiązań na rynku jest autorski charakter takich produktów, który nie pozwala na weryfikację poprawności wykonania, rozbieżność pomiędzy proponowanym oprogramowaniem a wymaganiami bezpieczeństwa (w większości przypadkach dostarczane są przestarzałe programy, a usuwanie luk w zabezpieczeniach może zająć miesiące, a nawet lata), a także ograniczone możliwości monitorowania (SNMP) i konfiguracji (oferowane własne CLI lub Web UI).

Źródło: opennet.ru

Dodaj komentarz