Синхронизация часов - Clock synchronization

Синхронизация часов это тема в Информатика и инженерное дело который стремится координировать в остальном независимые часы. Даже при первоначальной точной настройке реальные часы будут отличаться через некоторое время из-за часы дрейф, вызванный тем, что часы отсчитывают время с немного разной скоростью. Есть несколько проблем, которые возникают в результате разницы в тактовой частоте, и несколько решений, некоторые из которых более подходят, чем другие в определенных контекстах.[1]

Терминология

В последовательная связь, синхронизация часов может относиться к восстановление часов что обеспечивает синхронизацию частоты, в отличие от полной фазовая синхронизация. Такая синхронизация часов используется в синхронизация в телекоммуникациях и автоматическое определение скорости передачи.[2]

Плезиохронный или же изохронный Операция относится к системе с частотной синхронизацией и свободными ограничениями на фазовую синхронизацию. Синхронный Работа подразумевает более жесткую синхронизацию, основанную, возможно, не только на частоте, но и на времени.

Проблемы

В результате трудностей с управлением временем в меньших масштабах возникают проблемы, связанные с перекос часов которые усложняют распределенных вычислений в котором несколько компьютеров должны будут реализовать одно и то же глобальное время. Например, в Unix системы делать команда используется для компилировать новый или измененный код и старается избежать повторной компиляции неизмененного кода. В делать Команда использует часы компьютера, на котором она работает, чтобы определить, какие исходные файлы необходимо перекомпилировать. Если источники находятся на отдельной файловый сервер и две машины имеют несинхронизированные часы, делать программа может не дать правильных результатов.[3]

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

Решения

В системе с центральным сервером решение синхронизации тривиально; сервер будет диктовать системное время. Алгоритм Кристиана и Алгоритм Беркли являются потенциальными решениями проблемы синхронизации часов в этой среде.

В распределенных вычислениях проблема становится более сложной, потому что глобальное время не так просто определить. Наиболее часто используемым решением для синхронизации часов в Интернете является Сетевой протокол времени (NTP), который представляет собой многоуровневую архитектуру клиент-сервер, основанную на Протокол пользовательских датаграмм (UDP) передача сообщений. Отметки времени Лэмпорта и векторные часы концепции логические часы в распределенных вычислениях.

В беспроводная сеть, проблема становится еще более сложной из-за возможности коллизии синхронизации пакеты на беспроводной среде и более высокой скоростью дрейфа часов на недорогих беспроводных устройствах.[4][5]

Алгоритм Беркли

Алгоритм Беркли подходит для систем, в которых радио часы отсутствует, эта система не имеет другого способа удостовериться в фактическом времени, кроме как поддерживать глобальное среднее время в качестве глобального времени. А сервер времени будет периодически получать время от всех временных клиентов, усреднять результаты, а затем сообщать клиентам о корректировках, которые необходимо внести в их локальные часы для достижения среднего. Этот алгоритм подчеркивает тот факт, что внутренние часы могут различаться не только по времени, которое они содержат, но и по времени. тактовая частота.

Взаимная сетевая синхронизация с тактовой выборкой

Взаимная сетевая синхронизация с тактовой дискретизацией (CS-MNS) подходит для распределенных и мобильных приложений. Было показано, что он масштабируется по ячеистым сетям, которые включают косвенно связанные несмежные узлы, и совместим с IEEE 802.11 и аналогичные стандарты. Он может иметь точность порядка нескольких микросекунд, но требует прямого физического беспроводного подключения с незначительной задержкой соединения (менее 1 микросекунды) на каналах между соседними узлами, ограничивая расстояние между соседними узлами несколькими сотнями метров.[6]

Алгоритм Кристиана

Алгоритм Кристиана основан на существовании сервера времени.[7] Сервер времени поддерживает свои часы с помощью радиочасов или другого источника точного времени, тогда все другие компьютеры в системе синхронизируются с ним. Клиент времени будет поддерживать свои часы, делая вызов процедуры к серверу времени. Варианты этого алгоритма позволяют более точно рассчитывать время за счет факторинга в сети. распространение радио время.

спутниковая система навигации

Помимо использования в навигации, спутниковая система навигации (GPS) также можно использовать для синхронизации часов. Точность сигналов времени GPS составляет ± 10 наносекунд.[8]

Временные коды междиапазонной приборной группы

Таймкоды IRIG являются стандартными форматами для передачи информации о времени. Атомные стандарты частоты и приемники GPS, предназначенные для точного измерения времени, часто оснащены выходом IRIG. Стандарты были созданы Рабочей группой по телекоммуникациям военного ведомства США. Группа межрайонного приборостроения (IRIG), орган по стандартизации Совета командующих полигоном. Работа над этими стандартами началась в октябре 1956 года, а оригинальные стандарты были приняты в 1960 году.[9]

Сетевой протокол времени

Сетевой протокол времени (NTP) - это очень надежный протокол, широко распространенный в Интернете. Хорошо протестированный годами, он обычно считается современным протоколом распределенной синхронизации времени для ненадежные сети. Это может уменьшить смещение синхронизации до нескольких миллисекунд в общедоступном Интернете и до уровня субмиллисекунд в течение локальные сети.

Упрощенная версия протокола NTP, Простой протокол сетевого времени (SNTP), также может использоваться как чистый однократный первичный вторичный протокол синхронизации, но не имеет сложных функций NTP и, следовательно, имеет гораздо более низкие уровни производительности и надежности.

Протокол точного времени

Протокол точного времени (PTP) - это протокол ведущий / ведомый для доставки высокоточного времени по локальным сетям.

Эталонная широковещательная синхронизация

В Синхронизация времени эталонной трансляции (RBS) алгоритм часто используется в беспроводных сетях и сенсорных сетях. В этой схеме инициатор передает эталонное сообщение, чтобы побудить получателей настроить свои часы.

Синхронизация эталонной широковещательной инфраструктуры

В Синхронизация эталонной широковещательной инфраструктуры (RBIS)[10] Протокол - это протокол синхронизации главный / подчиненный, такой как RBS, основанный на парадигме синхронизации приемник / приемник. Он специально разработан для использования в беспроводных сетях IEEE 802.11, настроенных в режиме инфраструктуры (т. Е. Координируемых точкой доступа). Протокол не требует модификации точки доступа.

Синхронный Ethernet

Синхронный Ethernet использует Ethernet в синхронный способ таким образом, что в сочетании с протоколами синхронизации, такими как PTP в случае проект Белый кролик, достигается субнаносекундная точность синхронизации.

Беспроводные сети ad hoc

Синхронизация достигается в беспроводные сети ad hoc отправляя сообщения синхронизации в многоскачковый и каждый узел постепенно синхронизируется с узлом, который является непосредственным отправителем сообщения синхронизации. Примеры включают протокол синхронизации времени наводнения (FTSP),[4] и Гармония,[5] оба способны обеспечить синхронизацию с точностью порядка микросекунд.

Смотрите также

Рекомендации

  1. ^ Таненбаум, Эндрю С.; ван Стин, Маартен (2002), Распределенные системы: принципы и парадигмы, Prentice Hall, ISBN  0-13-088893-1
  2. ^ Норман Матлофф (3 сентября 2001 г.), Передача по последовательной линии (PDF), получено 2018-04-17
  3. ^ Марко Платания (2018-06-03). «Синхронизация часов» (PDF). п. 11.
  4. ^ а б Мароти, Миклош; Кусы, Бранислав; Саймон, Дьюла; Ледеци, Акош (2004). «Протокол синхронизации времени наводнения». Труды 2-й Международной конференции по встроенным сетевым сенсорным системам. SenSys '04. Нью-Йорк, Нью-Йорк, США: ACM: 39–49. Дои:10.1145/1031495.1031501. ISBN  1581138792.
  5. ^ а б Ку, Джинкю; Panta, Rajesh K .; Багчи, Саурабх; Монтеструк, Луис (2009). «Сказка о двух синхронизирующих часах». Материалы 7-й конференции ACM по встроенным сетевым сенсорным системам. SenSys '09. Нью-Йорк, Нью-Йорк, США: ACM: 239–252. Дои:10.1145/1644038.1644062. ISBN  9781605585192.
  6. ^ Rentel, Carlos H .; Кунц, Томас (март 2005 г.), "Алгоритм взаимной сетевой синхронизации с тактовой дискретизацией для беспроводных одноранговых сетей", Конференция по беспроводной связи и сети IEEE, IEEE Press, 1: 638–644, Дои:10.1109 / WCNC.2005.1424575
  7. ^ Кристиан, Ф. (1989), "Вероятностная синхронизация часов", Распределенных вычислений, Спрингер, 3 (3): 146–158, Дои:10.1007 / BF01784024
  8. ^ "Common View GPS Time Transfer". Национальный институт стандартов и технологий. Архивировано из оригинал на 2012-10-28.
  9. ^ Джош Мэтсон (май 2013 г.). «Выбор правильного протокола синхронизации времени и включение модуля 1756-TIME в ваше приложение» (PDF). Rockwell Automation. Получено 2019-08-13.
  10. ^ Cena, G .; Scanzio, S .; Валенцано, А .; Зунино, К. (июнь 2015 г.), «Внедрение и оценка протокола синхронизации эталонной инфраструктуры вещания», IEEE Transactions по промышленной информатике, IEEE Press, 11 (3): 801–811, Дои:10.1109 / TII.2015.2396003

внешняя ссылка