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