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]

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

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

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

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

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

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

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

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

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

Синхронный Ethernet

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

Беспроводные одноранговые сети

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

Гюйгенс

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

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

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

  1. ^ Таненбаум, Эндрю С .; ван Стин, Маартен (2002), Распределенные системы: принципы и парадигмы , Прентис Холл , ISBN 0-13-088893-1
  2. Норман Мэтлофф (3 сентября 2001 г.), Передача по последовательной линии (PDF) , получено 17 апреля 2018 г.
  3. ^ Марко Платания (3 июня 2018 г.). «Синхронизация часов» (PDF) . п. 11.
  4. ^ аб Мароти, Миклош; Кусы, Бранислав; Саймон, Дьюла; Ледеци, Акос (2004). «Протокол синхронизации времени заливки». Материалы 2-й международной конференции «Встраиваемые сетевые сенсорные системы» . СенСис '04. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 39–49. дои : 10.1145/1031495.1031501. ISBN 1581138792. S2CID  9897231.
  5. ^ Аб Ку, Джинкю; Панта, Раджеш К.; Багчи, Саураб; Монтеструке, Луис (2009). «Сказка о двух синхронизирующихся часах». Материалы 7-й конференции ACM по встраиваемым сетевым сенсорным системам . СенСис '09. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 239–252. дои : 10.1145/1644038.1644062. ISBN 9781605585192. S2CID  8242938.
  6. ^ Рентель, Карлос Х.; Кунц, Томас (март 2005 г.), «Алгоритм взаимной сетевой синхронизации с тактовой выборкой для беспроводных одноранговых сетей», IEEE Wireless Communications and Networking Conference , 1 , IEEE Press: 638–644, doi :10.1109/WCNC.2005.1424575, S2CID  1340072
  7. ^ Кристиан, Ф. (1989), «Вероятностная синхронизация часов», Distributed Computing , 3 (3), Springer: 146–158, doi : 10.1007/BF01784024, S2CID  3170166
  8. ^ «Общий вид передачи времени по GPS» . Национальный институт стандартов и технологий . Архивировано из оригинала 28 октября 2012 г.
  9. ^ Джош Мэтсон (май 2013 г.). «Выбор правильного протокола синхронизации времени и включение модуля 1756-TIME в ваше приложение» (PDF) . Роквелл Автоматизация . Проверено 13 августа 2019 г.
  10. ^ Сина, Г.; Сканцио, С.; Валенцано, А.; Зунино, К. (июнь 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 г.). «Время, разделенное до наносекунды, — это именно то, чего хочет Уолл-стрит». Газета "Нью-Йорк Таймс .

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