Il est temps de laisser la « seconde intercalaire » au passé
(engineering.fb.com)- La seconde intercalaire (Leap Second) a été introduite pour corriger l’écart entre l’UT1 (temps universel), dû à la vitesse de rotation de la Terre, et l’UTC
- Cela permet d’utiliser l’UTC à diverses fins, notamment l’observation astronomique, ce qui aide surtout les scientifiques et les astronomes
- Sans correction de l’UTC, il faudrait ajuster les équipements et logiciels legacy synchronisés sur l’UTC pour les observations astronomiques
- Depuis sa proposition jusqu’à aujourd’hui, l’UTC a été ajusté au total 27 fois
- En 1972, la seconde intercalaire était une solution acceptable satisfaisant à la fois la communauté scientifique et le secteur des télécommunications, mais aujourd’hui l’UTC n’est plus satisfaisant ni pour les applications numériques ni pour les scientifiques
→ Ils choisissent souvent plutôt le TAI (International Atomic Time, temps atomique international) ou l’UT1 - Meta soutient les efforts du secteur visant à cesser d’introduire de futures secondes intercalaires et à maintenir le niveau actuel de 27
- Introduire de nouvelles secondes intercalaires est une pratique risquée qui apporte plus d’inconvénients que d’avantages, et il est temps d’adopter une nouvelle technologie de remplacement
Leap of Faith
- Parmi les nombreux facteurs qui contribuent à l’irrégularité de la rotation terrestre, on trouve la fonte puis le regel continus des neiges éternelles sur les plus hautes montagnes du monde
- On peut facilement le visualiser en pensant à une patineuse artistique en rotation
- Jusqu’à présent, il n’y a eu que des secondes intercalaires positives : il suffisait donc d’ajouter une seconde supplémentaire,
23:59:60, entre23:59:59et00:00:00, mais
avec l’évolution du schéma de rotation de la Terre, il est probable qu’une seconde intercalaire négative survienne à un moment donné dans le futur
il faudrait alors passer de23:59:58directement à00:00:00. - L’impact de cette seconde intercalaire négative n’a jamais été testé à grande échelle, et elle pourrait avoir des effets critiques sur les logiciels qui dépendent de timers ou de schedulers
Smearing
- Plus récemment, la pratique consiste plutôt à « étaler » (
Smear) la seconde intercalaire en retardant ou en avançant progressivement l’horloge - Il n’existe pas de méthode universelle pour le faire, mais chez Meta, la seconde intercalaire est étalée sur 17 heures à partir de
00:00:00 - Comme des centaines de serveurs NTP le font ensemble au niveau Stratum 2, un smearing trop important peut amener les clients NTP à conclure à une erreur et à les exclure du quorum, ce qui peut provoquer une outage
- Commencer à
00:00:00n’est pas non plus standardisé, donc plusieurs options sont possibles
→ Par exemple, une entreprise donnée peut commencer à12:00:00 UTCet étaler cela sur 24 heures - Il existe aussi différents algorithmes de smearing : correction de seconde intercalaire dans le kernel, Linear Smearing, Quadratic (utilisé par Meta)
- Tout cela exige une logique de conversion importante, notamment avec le Time Appliance propriétaire de Meta
- Si un serveur NTP redémarre pendant cette période de smearing, les heures « Old » et « New » peuvent être envoyées aux clients, ce qui peut provoquer une outage
The negative impact of Leap Seconds
- Les secondes intercalaires et leur offset posent des problèmes à l’ensemble du secteur
- La manière la plus simple de provoquer une outage est d’écrire du code en supposant que le temps avance toujours
start := time.Now()
// do something
spent := time.Now().Sub(start)
- Selon la façon dont
spentest utilisé ci-dessus, il peut devenir négatif pendant une période de seconde intercalaire - En 2012, Reddit a subi une panne majeure à cause d’une seconde intercalaire, rendant le site inaccessible pendant 30 à 40 minutes
- En 2017, Cloudflare a publié un article détaillé sur l’impact sur le DNS public de l’entreprise
Moving beyond the leap second
- Les événements de seconde intercalaire causent des problèmes dans tout le secteur et continuent d’impliquer de nombreux risques
- Dans la pratique, nous rencontrons des problèmes à chaque introduction d’une seconde intercalaire
- Et comme il s’agit d’événements très rares, les communautés sont déstabilisées à chaque occurrence
- Alors que la demande de précision des horloges augmente dans tous les secteurs industriels, la seconde intercalaire apporte désormais plus d’inconvénients que d’avantages et provoque des outages
- En tant qu’ingénieurs chez Meta, nous soutenons fortement l’arrêt de l’introduction future de secondes intercalaires et le maintien du niveau actuel de 27, que nous estimons suffisant pour le prochain millénaire
5 commentaires
Quel sujet incroyablement intéressant ! Mais euh… je comprends bien que l’ajout d’une seconde intercalaire soit une grosse affaire, mais je n’ai pas compris quels efforts majeurs sont faits pour maintenir ces 27 secondes.
Je pense que cela désigne probablement ce genre de choses
https://fr.news.hada.io/topic?id=1752
Le titre de l’article est un peu étrange.
Le titre du message envoyé par un bot Twitter ou un bot Slack est normal, mais ce qui s’affiche sur le site est étrange.
Oups, il devait y avoir quelque chose d'anormal. J’ai corrigé cela.