Из Википедии, свободной энциклопедии
Перейти к навигацииПерейти к поиску

Алгоритм Кристиана (представленный Флавиу Кристианом в 1989 г.) [1] - это метод синхронизации часов, который может использоваться во многих областях распределительной информатики, но в основном используется в интрасетях с малой задержкой . Кристиан заметил, что этот простой алгоритм является вероятностным, поскольку он обеспечивает синхронизацию только в том случае, если время приема-передачи (RTT) запроса мало по сравнению с требуемой точностью. Он также страдает при реализации с использованием одного сервера, что делает его непригодным для многих распределительных приложений, где избыточность может иметь решающее значение.

Описание

Алгоритм Кристиана работает между процессом P и сервером времени S, подключенным к источнику привязки времени. Проще говоря:

  1. P запрашивает время у S
  2. После получения запроса от P, S готовит ответ и добавляет время T из своих собственных часов.
  3. Затем P устанавливает время равным T + RTT / 2.

Если RTT фактически делится поровну между запросом и ответом, синхронизация проходит без ошибок. Но из-за непредсказуемых воздействий это предположение часто неверно. Более длинные RTT указывают на асимметричные помехи. Таким образом, смещение и дрожание синхронизации сводятся к минимуму путем выбора подходящего RTT из множества пар запрос / ответ. Возможность принятия RTT в данный момент времени зависит от отклонения часов и от статистики RTT. Эти величины можно измерить в процессе синхронизации, что само по себе оптимизирует метод.

См. Также

Ссылки