Frottis

Depuis 2008, au lieu d'appliquer des secondes bissextiles à nos serveurs à l'aide de pas, nous disposons d'un "maillage" qui c'est la seconde supplémentaire dans les heures qui précèdent et suivent chaque saut. Le frottement s'applique à tous les services Google, y compris à toutes nos API.

Nos produits

De nombreuses organisations utilisent des horloges à reflets, et il serait utile si les tiges étaient identiques. Après tout, l'horloge permet de lire la même heure à différents endroits.

Nous encourageons tous les utilisateurs qui passent des secondes bissextiles à utiliser un lubrifiant linéaire de 24 heures entre midi et UTC.

Ce smear combine les fonctionnalités éprouvées qui fonctionnent bien pour de nombreuses applications de calcul distribuée:

  • Cela permet de réduire le nombre d'expositions. La variation pour le frottement est d'environ 11,6 ppm. Cette valeur est comprise dans les erreurs de fabrication et thermiques de la plupart des machines et des oscillateurs en quartz, et bien en deçà du taux de dégagement maximal de 500 ppm dans NTP.
  • Centrer le frottement sur la seconde bissextile au lieu de le faire démarrer ou se terminer à la seconde bissextile,
  • Par rapport à un frustre cosinus, le linéaire est plus simple, plus facile à calculer et minimisant le changement de fréquence maximale.
  • Ce délai de 24 heures est largement adopté par les autres utilisateurs qui mettent en place des teintes. Nous avons utilisé une durée de frottement de 20 heures, mais nous l'avons modifiée pour refléter cet intervalle plus courant de midi à midi.

Nous prévoyons d'utiliser ce filtre à toutes les secondes intercalaires à venir. Amazon utilise ce filtre dans AWS. Vous pouvez l'utiliser dans vos systèmes pour le configurer de manière à utiliser Google Public NTP.

Exemple de gommage standard

Dans cet exemple, nous supposons qu'il y a une seconde intercalaire à la fin du mois de décembre 2022, bien que le calendrier réel n'ait pas encore été annoncé.

La période de nettoyage commence le 2022-12-31 12:00:00 UTC et se poursuit jusqu'au 2023-01-01 12:00:00 UTC. Avant et après cette période, les horloges lissées et le service horaire se mettent d'accord avec les horloges qui appliquent des secondes intercalaires.

Pendant la frottement, les horloges s'exécutent légèrement plus lentement que d'habitude. Chaque seconde de l'échelle de l'effet de lissage est d'environ 11,6 μs plus d'une seconde d'IS que celle obtenue à l'heure de la Terre.

Au début de la seconde bissextile, le temps d'enchaînement est légèrement inférieur à 0,5 seconde après l'heure UTC. Le fuseau horaire UTC insère une seconde supplémentaire, tandis que le temps légendé se poursuit sans interruption. Le temps de dégagement devient ainsi légèrement inférieur de 0,5 seconde à l'heure UTC à la fin de la seconde bissextile.

En continuant à exécuter les horloges au même rythme ralenti, le filtre en cours diminue ce décalage au cours des 12 prochaines heures. À 12:00:00, les traces et les clous de filetage recommencent.

ITA UTC non marqué Heure d'enlèvement
31/12/2022 12:00:36.000000 2022-12-31 11:59:59.000000 2022-12-31 11:59:59.000000
31/12/2022 12:00:37.000000 31/12/2022 12:00:00.000000 31/12/2022 12:00:00.000000
31/12/2022 12:00:38.000011 31/12/2022 12:00:01.000011 31/12/2022 12:00:01.000000
01/01/2023 00:00:35.499976 31/12/2022 : 23:59:58.499976 31/12/2022 : 23:59:58.000000
01/01/2023 00:00:36.499988 31/12/2022 : 23:59:59.499988 31/12/2022 23:59:59.000000
01/01/2023 00:00:37.000000 31/12/2022 23:59:60.000000 21/12/2022 23:59:59.500005
01/01/2023 00:00:37.500000 31/12/2022 23:59:60.500000 01/01/2023 00:00:00.000000
01/01/2023 00:00:38.000000 01/01/2023 00:00:00.000000 01/01/2023 00:00:00.499994
01/01/2023 00:00:38.500011 01/01/2023 00:00:00.500011 01/01/2023 00:00:01.000000
01/01/2023 00:00:39.500023 01-01-2023 00:00:01.500023 01/01/2023 00:00:02.000000
01/01/2023 12:00:36.999988 01/01/2023 11:59:58.999988 01/01/2023 11:59:59.000000
01/01/2023 12:00:38.000000 01/01/2023 12:00:00.000000 01/01/2023 12:00:00.000000
01/01/2023 12:00:39.000000 01/01/2023 12:00:01.000000 01/01/2023 12:00:01.000000

Sur les 86 401 secondes d'IS du frein, l'étirement des 86 400 secondes indiquées s'ajoute à la seconde IS supplémentaire requise par le saut.

Une seconde intercalaire négative, en cas d'occurrence, serait signalée en accélérant l'affichage des horloges de 86 399 secondes entre midi et midi.

Autres frottements

D'autres composants ont été proposés ou implémentés.

  • UTC-SLS est un tracé linéaire plus de 1 000 secondes avant le saut (de 23:43:20 à 00:00:00).
  • Le lubrifiant de Google en 2008 était un cosinus cosinus de 20 heures avant le saut (de 4h à 00h00). C'était la seule fois que nous avons utilisé un frottement cosinus.
  • Le deuxième lubrifiant de Google a été un tuyau linéaire de 20 heures centré sur le saut. Nous l'avons utilisée en 2012, 2015 et 2016.
  • Bloomberg&s Smear : un lubrifiant linéaire plus de 2 000 secondes après le saut (de 00:00:00 à 00:33:20).
  • Meinberg a implémenté un effet cosinus de durée configurable.

Logiciels compatibles avec la fonction Faux

Notre bibliothèque sans filtre Open Source sera convertie dans les deux sens entre le temps de lissage et l'TAI non GPS ou le GPST.