Вы не можете синхронизировать машины до уровня миллисекунд путем обмена данными, потому что любой обмен данными сам по себе уже занимает как минимум миллисекунды и тем самым портит ваш результат! Даже протоколы, которые сначала пытаются измерить, сколько времени занимает передача данных, а затем отправляют информацию о времени (принимая во внимание измеренную задержку), немного лучше, чем в среднем, но они все же не так хороши, поскольку не каждая передача данных занимает одинаковое время ( просто постоянно пингуйте сервер в Интернете и смотрите, как каждый пинг имеет разную задержку).
Единственный способ действительно синхронизировать два компьютера в диапазоне миллисекунд — это заставить их оба получать время из одного и того же источника с помощью метода передачи, который не имеет неизвестной или постоянно меняющейся задержки. Например. если оба получают спутниковый сигнал, который транслирует время. Сигнал всегда будет иметь постоянную задержку (от спутника до земли), и они оба получают его почти в течение одной и той же наносекунды.
Например, в Германии есть радиоуправляемое время. Где-то в стране есть атомные часы (которые сотни лет показывают точное время с точностью до наносекунды) и какой-то передатчик постоянно транслирует текущее время на заданной частоте на всю страну. Существуют будильники и даже наручные часы, которые могут получать это время и постоянно синхронизироваться с ним (ну, не совсем постоянно, большинство моделей делают это только раз в 24 часа для экономии времени работы батареи). Такие приемные устройства также существуют для компьютеров и поставляются с программным обеспечением, которое может постоянно синхронизировать часы вашего компьютера с этим сигналом времени.
Насколько я знаю, GPS также отправляет информацию о времени (либо так, либо время можно как-то вычислить из информации GPS, я не слишком знаком с протоколом GPS). Таким образом, подключение приемника GPS к обоим компьютерам, вероятно, также может синхронизировать их с точностью до миллисекунды. Однако, если ваша синхронизация выполняется через Интернет, не ожидайте лучшей синхронизации, чем один компьютер, отключенный не более чем на 20 миллисекунд.
Чтобы обновить комментатора,
NTP не так точен, как люди любят утверждать здесь:
NTP обычно может поддерживать время с точностью до десятков миллисекунд в общедоступном Интернете и может достигать точности выше одной миллисекунды в локальных сетях в идеальных условиях.
Источник: Википедия
Я бы предпочел, чтобы они все синхронизировались без участия какой-либо сети и, кроме того, синхронизировались с официальным временем по Гринвичу, и здесь GPS, вероятно, является единственным способом получить действительно точные результаты на всех машинах (и это не только до мс, на самом деле вплоть до микросекунд).
person
Mecki
schedule
18.09.2008