Найти в Дзене
ServerNews

Facebook организовала собственную службу точного времени

Серверы и службы точного времени играют существенную роль в современной ИТ-индустрии, как обеспечивающие синхронизацию и корректную работу многих миллионов устройств в едином временном пространстве.

Компания Facebook, обладатель огромной ИТ-инфраструктуры, при запуске собственной аналогичной службы отказалась от использования традиционного демона ntpd в пользу более современной и лучше интегрированной с аппаратной инфраструктурой разработкой под названием chrony.

Структура службы времени Facebook
Структура службы времени Facebook

Как правило, источниками точного времени занимаются правительственные организации, такие, как Национальный институт стандартов и технологий (NIST), располагающие высокоточными атомными часами. Данные с серверов точного времени можно получить через Интернет, используя стандартный протокол NTP (Network Time Protocol).

Однако в крупных ЦОД зачастую используют локальный источник точного времени, берущий данные от навигационных спутников или атомных часов. Наиболее важные узлы и стойки оснащаются отдельными адаптерами для синхронизации, да и многие современные сетевые карты имеют отдельные разъёмы для этой же цели.

Существуют и частные службы NTP — например, таковыми располагают Apple и Google, а теперь к ним присоединилась и Facebook. Её NTP-сервисы доступны по адресу time.facebook.com, они бесплатны. Впрочем, публичный сервис — это скорее побочный продукт внутренней разработки. 

Точность службы точного времени Facebook сопоставима с точностью аналогичных служб других провайдеров
Точность службы точного времени Facebook сопоставима с точностью аналогичных служб других провайдеров

Facebook владеет огромной армией серверов и прочих устройств, причём, компания активно внедряет распределённые службы и базы данных. В этом случае временная синхронизация особенно важна. Источник самого времени у Facebook классический, это атомные часы (обычно цезиевые, но Facebook использует рубидиевый вариант). Но программная часть отличается от обычной.

Обычно в качестве демона точного времени используют ntpd (Network Time Protocol Daemon), но с анонсом собственного источника Facebook перешла на использование более совершенного chrony. Более оптимизированный код chrony позволяет использовать меньше оперативной памяти и процессорного времени, а значит, уменьшить и энергопотребление, что в масштабах Facebook весьма чувствительно.

Одна из тестовых NTP-платформ Facebook
Одна из тестовых NTP-платформ Facebook

Помимо экономичности и лучшей интеграции с аппаратным обеспечением, позволяющим chrony использовать временные метки, генерируемые сетевыми адаптерами, это ПО отличается повышенным уровнем безопасности. Точность в сравнении с ntpd так же повысилась, причём, весьма существенно, от 10 до 100 раз.

Показатели новой службы Facebook, как минимум, не уступают показателям аналогичных служб Apple и Google. В ней скачущая секунда «размывается» вместо «замирания»: дополнительное время, компенсирующее разницу между всемирным и средним солнечным временем, добавляется или вычитается небольшими порциями на протяжении нескольких часов.

Впрочем, есть одно «но» — ни одна из служб точного времени, принадлежащих частным компаниям, таким как Google, Apple или Facebook, не имеют сертификации Coordinated Universal Time (UTC), а именно этим стандартом пользуются крупные провайдеры и банковские сети. Но инженеры Facebook уже рассматривают возможность внедрения протокола Precision Time Protocol (PTP), который существенно точнее NTP.