Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Встроенный

Инженеры Facebook открыли Precision Time Appliance для центров обработки данных

Инженерная команда Facebook спроектировала и выпустила высокоточное временное устройство — ключевой элемент современной инфраструктуры синхронизации времени в центрах обработки данных. Создав time card — плату PCIe, превращающую любой обычный сервер в источник времени Stratum-1 — и сотрудничая с Open Compute Project (OCP), мы сделали каждый компонент Open Time Server доступным под открытой лицензией.

В марте 2020 года Facebook объявил о миграции своих серверов центров обработки данных и потребительских продуктов на новый внутренний сервис Network Time Protocol (NTP). Обновление повысило точность хронометража с 10 мс до 100 мкс, обеспечивая более тонкий контроль инфраструктуры и более быструю производительность распределенных баз данных.

Новая архитектура NTP опирается на источник Stratum-1 — напрямую связанный с авторитетными часами, такими как глобальная навигационная спутниковая система (GNSS) или цезиевые часы:

Инженеры Facebook открыли Precision Time Appliance для центров обработки данных

Публичные пулы NTP (например, time.facebook.com) удобны, но вводят зависимость от интернет-соединения и подвергают системы риску сбоев или дрейфа. Чтобы устранить эти риски, мы построили выделенное аппаратное устройство, интегрирующее GNSS-приемник с миниатюрными атомными часами (MAC). Time card инкапсулирует эту функциональность на плате PCIe, позволяя любому x86-серверу с NIC, поддерживающим аппаратную временную штамповку, стать источником Stratum-1.

Зачем новое временное устройство?

Коммерческие временные приборы проверены в бою и часто стабильны, но имеют существенные недостатки:

Эти ограничения заставляли многие организации принимать компромиссы. Мы решили изучить альтернативу: специально созданное открытое временное устройство на базе x86-железа.

Прототипирование временного устройства

Наш начальный концепт объединил GNSS-приемник, высокостабильный генератор и FPGA-обработку в единую плату PCIe — см. блок-схему ниже:

Инженеры Facebook открыли Precision Time Appliance для центров обработки данных

GNSS-модуль доставляет и время суток (ToD), и сигнал один импульс в секунду (PPS). В паре с высокостабильным генератором — таким как рубидиевый или печной кварцевый генератор — система может достичь наносекундной точности. PPS и ToD подаются на высокопроизводительный NIC (например, NVIDIA Mellanox ConnectX-6 Dx), поддерживающий аппаратную временную штамповку и PPS ввод/вывод.

Используя инструмент ts2phc, мы синхронизировали физические часы NIC с GNSS PPS в пределах нескольких десятков наносекунд, подтверждая наш подход:

Инженеры Facebook открыли Precision Time Appliance для центров обработки данных

Для повышения надежности мы разделили дизайн на два логических блока: payload (двигатель точного времени) и delivery (NIC). Payload интерполирует время между последовательными импульсами PPS, используя FPGA-двигатель и локальный генератор. В случае потери GNSS движок полагается на внутреннюю стабильность атомных часов.

Инженеры Facebook открыли Precision Time Appliance для центров обработки данных

Движок времени реализует фильтрацию, синхронизацию, проверку ошибок и подсистемы PCIe. Он непрерывно калибрует MAC, сравнивая его счетчик с GNSS PPS, достигая субнаносекундной точности на длительных периодах.

Инженеры Facebook открыли Precision Time Appliance для центров обработки данных

Используя 10 МГц опорную частоту (от рубидиевых часов или внешнего SMA входа), мы повышаем частоту до 125 МГц (периоды 8 нс) и ассоциируем субсекундные приращения с шагами 250 пс. Пропорционально-интегральный контур точно настраивает частоту через 12.5× PLL и, при необходимости, прямые корректировки генератора.

Holdover — потеря точности времени при недоступности GNSS — критическая метрика. Наш прототип достиг дрейфа менее 300 нс за 24 часа, что хорошо входит в спецификации MAC SA.53s.

Временное устройство в действии

После установки time card превращает любой совместимый x86-сервер в источник времени Stratum-1, независимый от NTP, PTP, SyncE или других протоколов. Точность системы достаточна для большинства корпоративных потребностей синхронизации времени.

Инженеры Facebook открыли Precision Time Appliance для центров обработки данных

Настройка проста: установите ядро Linux 5.15+ (или соберите драйвер из репозитория OCP GitHub на ядре 5.12+). Драйвер предоставляет устройства PHC, GNSS, PPS и MAC под /sys/class/timecard/ocp0/:

$ ls -l /sys/class/timecard/ocp0/ lrwxrwxrwx. 1 root 0 Aug 3 19:49 device -> ../../../0000:04:00.0/ -r--r--r--. 1 root 4096 Aug 3 19:49 gnss_sync lrwxrwxrwx. 1 root 0 Aug 3 19:49 i2c -> ../../xiic-i2c.1024/i2c-2/ lrwxrwxrwx. 1 root 0 Aug 3 19:49 pps -> ../../../../../virtual/pps/pps1/ lrwxrwxrwx. 1 root 0 Aug 3 19:49 ptp -> ../../ptp/ptp2/ lrwxrwxrwx. 1 root 0 Aug 3 19:49 ttyGNSS -> ../../tty/ttyS7/ lrwxrwxrwx. 1 root 0 Aug 3 19:49 ttyMAC -> ../../tty/ttyS8/ 

Настройте chrony или PTP-демон для использования PHC как опорных часов:

# chrony refclock PHC /dev/ptp2 tai poll 0 trust 

Валидация с Calnex Sentinel показывает ±40 мкс стабильность NTP за 48 часов и субнаносекундные смещения PTP. Комбинированная ошибка PPS между time card и Sentinel остается в пределах ±200 нс.

Инженеры Facebook открыли Precision Time Appliance для центров обработки данных
Инженеры Facebook открыли Precision Time Appliance для центров обработки данных
Инженеры Facebook открыли Precision Time Appliance для центров обработки данных

Модульный дизайн также позволяет заменять MAC на более экономичный OCXO или TCXO, жертвуя holdover-производительностью ради бюджета.

Открытие дизайна

Для расширения влияния мы сотрудничаем с Open Compute Project для запуска Time Appliance Project (TAP). Все спецификации, схемы, BOM, механические чертежи и исходный код публично доступны в репозитории TAP на GitHub. Вендоры вроде Orolia и NVIDIA уже производят time card и NIC для точной синхронизации соответственно.

Наша спецификация Open Time Server детально описывает, как собрать аппаратный и программный стек для создания надежного, полностью контролируемого временного устройства. Владение всей системой дает инженерам глубокую видимость, более тугкую безопасность и простое обслуживание.

Хотя текущее устройство представляет большой шаг вперед, мы продолжим совершенствовать точность, масштабировать синхронизацию по глобальной инфраструктуре Facebook и делиться достижениями с сообществом open-compute.

Встроенный

  1. Песочные часы: история, ремесло и современная привлекательность
  2. Освоение Python time.sleep(): лучшие практики, многопоточность и реальные примеры
  3. Максимизация производительности: как ПО для обслуживания снижает затраты и экономит время
  4. Переосмысление управления запасами: современные стратегии для производителей
  5. Лидерам цепочек поставок: примите наступательную стратегию для роста и устойчивости
  6. Цифровые двойники повышают пунктуальность West Coast Mainline
  7. Работа с датами и временем в Python: Практическое руководство
  8. Понимание интерфейсов человек-машина (HMI) в современной промышленности
  9. Crescent Crown повышает эффективность и снижает затраты с DocStar ECM AP Automation
  10. Оптимизация производства и отгрузки: проверенные стратегии снижения затрат и повышения эффективности