Я (постоянно) думаю, как сделать так, чтобы мой сервер синхронизировался лучше, чем он есть. Я запускаю какое-то дешевое приложение, которое синхронизирует меня с некоторым сервером stratum 2 на colo, и дрейф составляет около 1-2 мс за 10 секунд (когда ящик не слишком занят). Мне нужна лучшая точность, и мне нужны собственные часы. Но все, что вы можете купить у компаний «старого стиля», стоит больше, чем я могу себе позволить.
Однако у меня возникла мысль - можно ли подключить высокотехнологичную графическую или звуковую карту, которая должна использовать какие-то внутренние точные часы?
Любые идеи? мысли? совет?
РЕДАКТИРОВАТЬ: Коло не позволяет мне использовать GPS. они построили сервер GPS nntp из набора «сделай сам» за 30 баксов, подключили его к машине с Linux и продавали за 2000 долларов в месяц. Ага.
РЕДАКТИРОВАТЬ РЕДАКТИРОВАТЬ. Ребята очень ценю все советы. Но я ищу внутреннюю карту, для которой не нужен GPS, и у нее есть стабильные часы, которые не дрейфуют более чем на 1 нс за 60 секунд. Я не собираюсь покупать атомные часы и не могу использовать решение Stratum / NTP (потому что я уже использую его и хочу лучше, но дешево).
РЕДАКТИРОВАТЬ РЕДАКТИРОВАТЬ РЕДАКТИРОВАТЬ. по-видимому, есть часы, которые могут производить дрейф 5 нс / сек с разрешением 100 нс, что намного лучше, чем у Stratum 2, других в Интернете. Я также удивился, что никто не упомянул IEEE 1588.
Насколько мне известно, время в графических процессорах определяется системой; у них нет собственных внутренних высокостабильных часов. Есть продукты (доступные, последний раз я проверял), которые позволяют получить качественное время из нескольких источников. Некоторые извлекают это напрямую из GPS, хотя для этого требуется
Они действуют как источники NTP Уровня 1.
Самодельный метод с использованием готовых деталей: http://time.qnan.org/
Это, как правило, наиболее рентабельные решения, поскольку они не требуют обслуживания высокостабильного генератора.
На втором месте находятся устройства с высокостабильными генераторами, но они, как правило, намного дороже.
Специальная машина для измерения времени, даже если она невысока, может вести очень и очень точное время. Вам просто нужно заблокировать программное обеспечение NTP в памяти и дать ему максимально возможный приоритет. Потребуется день или два для стабилизации температуры, синхронизации и измерения собственной скорости. Но получить точность в миллисекундах в страте 3 несложно.
Уловки следующие:
1) Машина должна быть предназначена для хронометража. Никаких всплесков нагрузки от других источников. (Вы также можете использовать его для служб с очень низким уровнем воздействия, например, в качестве резервного сервера имен.)
2) Процесс NTP должен работать с повышенным приоритетом и заблокирован в памяти.
3) Настройте несколько серверов уровня 2, в идеале четыре. Таких публичных серверов предостаточно. Найдите те, у которых самое быстрое время ответа NTP. (Вы можете использовать ntpdate -q для проверки, чем меньше задержки, тем лучше.)
4) Для полной стабилизации потребуется день или около того.
5) Используйте ОС, которая имеет хорошую интеграцию NTP с ядром. Linux и FreeBSD в порядке.
6) Вы можете использовать очень дешевый компьютер низкого уровня, даже беспроводной маршрутизатор за 60 долларов, который может работать под управлением Linux.
Если вам нужна более высокая точность, купите точные часы. Возиться с умными идеями, такими как та, что у вас есть, может быть очень весело, но если время абсолютно точно должно быть точным, я не думаю, что это хорошая идея. Как вы думаете, что ваша видеокарта синхронизируется сама с собой, если вы попробуете что-то подобное? Ты определенный что любая разница в тактовой частоте материнской платы не повлияет на графический процессор?
У нас довольно серьезные требования к синхронизации времени, поэтому мы закончили тем, что купили у Galleon собственный стоечный сервер времени, который поставляется с собственной антенной GPS, и мы очень довольны результатами, и я знаю, что у них есть системы, которые подключаются к задняя часть уже существующего сервера, как и все их конкуренты, я уверен.
Дрейф, вероятно, также связан с часами на вашем ПК - они все еще не так точны. Попробуйте скачать версию для Windows ntpd
, настройте его, установите часы с помощью ntpdate и скажите ntpd запустить. Со временем он будет определять скорость дрейфа системных часов и со временем давать точное системное время для программ. Если вы синхронизируете несколько компьютеров, все они должны быть синхронизированы с одним источником времени или, предпочтительно, с локальным мастером, который сам синхронизируется с сервером Stratum 2.