stringtranslate.com

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

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

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

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

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

Проблемы

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

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

Решения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Network Time Protocol (NTP) — это высоконадежный протокол, широко используемый в Интернете. Прошедший многолетние испытания, он, как правило, считается передовым в области протоколов распределенной синхронизации времени для ненадежных сетей . Он может сократить смещения синхронизации до времени порядка нескольких миллисекунд в общедоступном Интернете и до уровней субмиллисекунд в локальных сетях .

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

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

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

Синхронизация эталонной трансляции

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

Синхронизация инфраструктуры вещания

Протокол Reference Broadcast Infrastructure Synchronization (RBIS) [10] — это протокол синхронизации ведущий/ведомый, как и RBS, основанный на парадигме синхронизации приемник/приемник. Он специально разработан для использования в беспроводных сетях IEEE 802.11, настроенных в режиме инфраструктуры (т. е. координируемых точкой доступа). Протокол не требует никаких изменений в точке доступа.

Синхронный Ethernet

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

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

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

Гюйгенс

Исследователи из Стэнфорда и Google представили Huygens, алгоритм сквозной синхронизации часов на основе зонда. Huygens реализован в программном обеспечении и, таким образом, может быть развернут в центрах обработки данных или в публичных облачных средах. Используя некоторые ключевые аспекты современных центров обработки данных и применяя новые алгоритмы оценки и методы обработки сигналов, алгоритм Huygens достиг точности в десятки наносекунд даже при высокой сетевой нагрузке. [11] Результаты этого исследования проверяются в приложениях финансового рынка. [12]

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

Ссылки

  1. ^ Таненбаум, Эндрю С .; ван Стин, Маартен (2002), Распределенные системы: принципы и парадигмы , Prentice Hall , ISBN 0-13-088893-1
  2. Норман Мэтлофф (3 сентября 2001 г.), Передача по последовательной линии (PDF) , получено 17 апреля 2018 г.
  3. ^ Марко Платания (2018-06-03). «Синхронизация часов» (PDF) . стр. 11.
  4. ^ ab Maróti, Miklós; Kusy, Branislav; Simon, Gyula; Lédeczi, Ákos (2004). "Протокол синхронизации времени затопления". Труды 2-й международной конференции по встроенным сетевым сенсорным системам . SenSys '04. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 39–49. doi :10.1145/1031495.1031501. ISBN 1581138792. S2CID  9897231.
  5. ^ ab Koo, Jinkyu; Panta, Rajesh K.; Bagchi, Saurabh; Montestruque, Luis (2009). "Рассказ о двух синхронизирующихся часах". Труды 7-й конференции ACM по встраиваемым сетевым сенсорным системам . SenSys '09. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 239–252. doi :10.1145/1644038.1644062. ISBN 9781605585192. S2CID  8242938.
  6. ^ Rentel, Carlos H.; Kunz, Thomas (март 2005 г.), «Алгоритм взаимной сетевой синхронизации с выборкой часов для беспроводных сетей ad hoc», IEEE Wireless Communications and Networking Conference , 1 , IEEE Press: 638–644, doi :10.1109/WCNC.2005.1424575, S2CID  1340072
  7. ^ Кристиан, Ф. (1989), «Вероятностная синхронизация часов», Распределенные вычисления , 3 (3), Springer: 146–158, doi :10.1007/BF01784024, S2CID  3170166
  8. ^ "Common View GPS Time Transfer". Национальный институт стандартов и технологий . Архивировано из оригинала 2012-10-28.
  9. ^ Джош Мэтсон (май 2013 г.). «Выбор правильного протокола синхронизации времени и включение модуля 1756-TIME в ваше приложение» (PDF) . Rockwell Automation . Получено 13 августа 2019 г.
  10. ^ Cena, G.; Scanzio, S.; Valenzano, A.; Zunino, C. (июнь 2015 г.), «Внедрение и оценка протокола синхронизации эталонной широковещательной инфраструктуры», IEEE Transactions on Industrial Informatics , 11 (3), IEEE Press: 801–811, doi : 10.1109/TII.2015.2396003, S2CID  17867070
  11. ^ Использование естественного сетевого эффекта для масштабируемой, мелкозернистой синхронизации часов. 2018. С. 81–94. ISBN 9781939133014.
  12. ^ Джон Маркофф (29 июня 2018 г.). «Расщепление времени до наносекунды — именно то, чего хочет Уолл-стрит». New York Times .

Дальнейшее чтение