Quelle est la meilleure façon de synchroniser fois à l'ordre de la milliseconde d'exactitude ET de précision entre les machines?
De ce que je comprends, les cristaux sur PC sont connus pour clock skew. Si les horloges sont toujours d'inclinaison, ce qui est la meilleure façon de synchroniser des horloges entre les machines avec une précision à la milliseconde et de précision? De ce que j'ai trouvé, le NTP et PTP solutions sont possibles, mais je me demandais si quelqu'un a une expérience sur stackoverflow.com!
Je comprends NTP est le choix populaire, mais je me demande si quelqu'un a eu une expérience avec PTP (mère ieee1588)
Vous devez vous connecter pour publier un commentaire.
Il suffit d'exécuter la norme démon NTP.
Il dispose d'options à partir de plusieurs appareils GPS ainsi que de parler à des serveurs réseau.
Edit: je faisais allusion à http://www.ntp.org/, pas celui qui est livré avec Windows.
Je n'ai pas de suggestion à ce que NTP clients sont les meilleurs pour windows, mais pour les machines Unix il n'y a pas vraiment de raison pour ne pas exécuter de NTP.
Vous ne pouvez pas synchroniser les machines au niveau de millisecondes par l'échange de données, parce que tout échange de données déjà en lui-même prend au moins quelques millisecondes à arriver et donc gâche votre résultat! Même les protocoles essayez d'abord de mesurer combien de temps un transfert de données prend et puis en envoyant les informations en temps (en prenant le délai mesuré en compte) sont juste un peu mieux que la moyenne, mais ils ne sont toujours pas bon puisque pas chaque transfert de données prend autant de temps (juste en permanence ping d'un serveur sur Internet et de voir comment chaque ping a un délai différent).
La seule façon de vraiment synchroniser deux ordinateurs dans les millisecondes de gamme, c'est d'avoir les deux obtenir l'heure à partir de la même source, par l'intermédiaire d'une méthode de transfert qui n'a pas d'inconnu ou de changer constamment de retard. E. g. si à la fois de recevoir un signal de satellite, qui diffuse le temps. Le signal aura toujours un retard constant (à partir d'un satellite à la terre) et ils sont tous les deux de la réception, il est presque dans le même ordre de la nanoseconde.
Allemagne, par exemple, a une radio contrôlée de temps. Quelque part dans le pays est une horloge atomique (qui a l'heure correcte à l'ordre de la nanoseconde pour des centaines d'années) et certains expéditeur émettent en permanence à l'heure actuelle sur une fréquence donnée dans tout le pays. Réveils et même les montres-bracelets qui peuvent recevoir ce temps et de façon permanente synchroniser avec lui (enfin, pas vraiment en permanence, la plupart des modèles de le faire qu'une fois toutes les 24 heures pour sauver l'autonomie de la batterie). Ces appareils récepteur existent également pour les ordinateurs et sont livrés avec un logiciel qui peut définitivement synchroniser l'horloge de votre ordinateur avec ce temps de signal.
Que je sache GPS envoie également des informations en temps (en plus, le temps peut être calculé en quelque sorte des informations GPS, je ne suis pas trop familier avec le protocole GPS). Ainsi la fixation d'un récepteur GPS pour les deux ordinateurs peuvent probaly également les obtenir synchronisé à l'ordre de la milliseconde. Si votre synchronisation se fait via l'Internet cependant, ne vous attendez pas à une meilleure synchronisation que d'un seul ordinateur en cours à plus de 20 millisecondes off.
De mise à jour sur l'intervenant,
NTP n'est pas exact, car les gens aiment à prétendre ici:
Source: Wikipédia
Je préfère les garder en synchronisation sans réseau impliqué et plus loin synchronisation entre eux officielle de l'heure GMT et ici, le GPS est probablement la seule façon d'obtenir vraiment des résultats précis sur toutes les machines (et pas seulement de la ms, en fait vers le bas pour microsecondes).
Voici quelques 10 ans un logiciel qui permet de synchroniser à l'intérieur d'un centième d'une milliseconde. (Mon équipe l'a écrit, lorsque le serveur NTP n'était pas assez bon pour notre laboratoire.)
De l'abstrait: "Une horloge distribuée en réseau des produits de base du PC. Avec pas de matériel supplémentaire, cette horloge est en corrélation les données du capteur à partir de plusieurs PC avec des temps de latence et de gigue de moins de 10 microsecondes moyenne, de 100 microsecondes pire des cas."
Description: http://scholar.google.com/citations?view_op=view_citation&citation_for_view=QmbeOvsAAAAJ:5nxA0vEk-isC
Code Source: http://zx81.isl.uiuc.edu/clockkit/
clockkit.conf
, de modifier les paramètres pour phasePanic et updatePanic. Pour le lien, essayez de supprimer-fPIC
depuis le makefile. Qui et un peu de bricolage pour #include qu'il a obtenu en cours d'exécution sur Fedora 23.- Je utiliser NTP tout au long de l'ensemble du réseau de mon entreprise et il fonctionne plutôt bien. La clé est d'avoir un serveur faisant autorité sur un réseau local et ont toutes les machines sur le réseau synchroniser avec lui. Le mieux est d'avoir une radio installé sur ce serveur. NTP est grand parce qu'il ne fait pas que corriger l'horloge de temps en temps, mais c'est en fait le calcule et corriger la fréquence de l'horloge de le rendre plus précis.
Une fois que j'avais NTP le programme d'installation sur le réseau, j'ai ouvert comme cinq de la session VNC à autre serveur et s'est assis là, à regarder l'horloge. Les horloges de tous les serveurs ont été synchronisées dans les millisecondes, et c'est juste après l'installation. Il devient de plus en plus précis à mesure de l'exécution.
Des Solutions basées sur le NTP ou SNTP peut très bien fonctionner, mais il dépend fortement de la façon dont le client est mis en œuvre.
Certainement, la réponse à cette question est pas pour utiliser la valeur par défaut du service de temps Windows si vous voulez des sous précision de seconde. Il est notoirement pauvres à maintenir la stabilité de base de temps sur une machine et généralement dépassement des corrections et est presque instable même, en particulier lorsque les machines sont assez imprécises bases de temps pour commencer - ce qui est commun. Assumer le standard intégré dans la Fenêtre d'outils peut contenir des précisions de manière fiable, il y a généralement que quelques secondes entre toutes les machines et en général, je vois des sautes de plus de 30 secondes entre les machines - même si vous ajustez les paramètres du registre.
L'outil de freeware Achron est une assez bonne solution pour descendre dans la plus/moins de 500 millisecondes type de plage. Faire mieux que cela nécessitera une plus grande puissance industrielle solution comme quelque chose de Greyware
NTP est certainement le chemin à parcourir. Fondamentalement fire-and-forget, aussi longtemps que vous le laisser sortir le pare-feu de votre maître local (qui est généralement le pare-feu ou le routeur de la machine.)
Comme vous l'avez déjà suggéré, le NTP est le standard de l'industrie, solution à ce problème, mais elle requiert une connexion Internet ou une strate 0 source (précision horloge matérielle, comme un récepteur GPS avec une interface d'ordinateur).
Si vous êtes à l'aide de la connectivité à l'Internet, l'utilisation de la Pool NTP.
Garder à l'esprit ainsi que le matériel de l'horloge du système (c'est à dire la inexactes) est en lecture uniquement lorsque la machine démarre - si vous parlez des serveur de machines, vous n'allez pas perdre du temps à cause d'eux.
J'ai fait des recherches (lire sur Google) sur ce sujet ces derniers temps, et voici ce que j'ai pu apprendre jusqu'à présent:
Pour obtenir de l'ordre de la milliseconde exactitude (ou mieux), vous avez besoin de support matériel. Source GPS ou d'horodatage matériel (et une bonne source de temps) dans le PTP.
Horodatage matériel dans le PTP est fait avec des prises en charge carte réseau Intel a eux.
Sans horodatage matériel de la précision entre le PNLT et les PTP sont similaires.
(Non utilisé PTP avant) j'ai lu que NTP est plus facile à installer.
Mon expérience limitée avec le GPS source de temps (série) varie. Il fonctionne très bien si vous pouvez le faire fonctionner, mais il est un dispositif que nous avons dans un centre de données que je n'ai jamais réussi à le faire fonctionner...
Si vos machines sont en colo demandez à votre DC ce qu'ils peuvent fournir - de sorte que vous n'avez pas à décider. 😀
HTH