Hacker News Digest

26 августа 2025 г. в 01:02 • scottstuff.net • ⭐ 138 • 💬 57

OriginalHN

#ntp#chrony#linux#gps#ptp#networking#timestamps#high-frequency-trading

The Limits of NTP Accuracy on Linux

Краткое резюме: пределы точности NTP в Linux

  • Цель – синхронизировать часы Linux-систем с погрешностью < 1 мкс (желательно < 10 мкс) для корректных распределённых трассировок.
  • Результат – большинство узлов держатся в пределах ~500 нс; улучшить без точной инженерии сложно.

Основные ограничения

  1. GPS не идеален

    • 3 GPS-приёмника на столе расходятся до ±200 нс; даже топовые модули дают ~5 нс джиттера.
    • Чтобы уложиться в 50 нс, нужны одинаковые длины антенных кабелей и пр.
  2. Сеть

    • Любой «умный» коммутатор или маршрутизатор легко добавляет 200–300 нс систематической ошибки.
    • RTT в моей сети 20–30 мкс, поэтому цель < 1 RTT.
  3. NIC и драйверы

    • Intel E810 – отлично, X710 – хорошо, Mellanox ConnectX-5 – сойдёт, ConnectX-3/4 – на грани, Realtek – не надо.
    • Разница в драйверах и аппаратных метках времени (timestamps) доходит до сотен наносекунд.
  4. Системные задержки

    • Случайные «затыки» из-за SMBIOS/PM: 100–1000 мкс без предупреждения.
    • Дешёвые mini-PC показали 1300–2000 нс дрейфа, но два других – всего 20–50 нс. Серверное «железо» стабильнее.

Практические цифры

  • Типовая синхронизация по локальному GPS-источнику через Chrony: ~500 нс.
  • В лабораторных условиях Chrony демонстрирует < 100 нс, но это исключение.

Вывод
Без специализированного оборудования, калибровки кабелей и тщательного выбора NIC/драйверов 200 нс – реалистичный потолок для обычной сети.