Les géants de la technologie veulent bannir la seconde intercalaire pour éviter les pannes d'Internet,
la France et les États-Unis donnent leur feu vert
Alors que la seconde intercalaire qui synchronise les horloges avec la rotation de la Terre aurait pu être une solution acceptable en 1972, lorsqu'elle faisait le bonheur de la communauté scientifique et de l'industrie des télécommunications, de nos jours, l'UTC serait aussi mauvaise pour les applications numériques que pour les scientifiques. À en croire la décision des géants de la technologie. Meta, Microsoft, Google, Amazon et deux agences gouvernementales, la National Institute of Standards and Technology (NIST) des États-Unis et de son équivalent français, le Bureau international de poids et mesures (BIPM) s'accordent à dire qu'il est temps d'abandonner la seconde intercalaire. Pour ces derniers, les secondes intercalaires causent plus de problèmes qu'elles n'en valent la peine.
Google, Microsoft, Meta et Amazon ont lancé lundi une initiative publique visant à supprimer la seconde intercalaire, un tic supplémentaire occasionnel qui permet de synchroniser les horloges avec la rotation réelle de la Terre. Les autorités américaines et françaises chargées du chronométrage sont d'accord.
Introduite en 1972, une seconde intercalaire est un ajustement d'une seconde qui est occasionnellement appliqué au temps universel (UTC), afin de tenir compte de la différence entre le temps précis ( le temps atomique international (TAI), mesuré par les horloges atomiques) et l'imprécision du temps solaire observé (UT1), qui varie en raison des irrégularités et du ralentissement à long terme de la rotation de la Terre.
De nombreux ordinateurs, y compris certains ordinateurs de bureau et portables, utilisent un service appelé Network Time Protocol (NTP), qui fait quelque chose de très similaire à ce système : il vérifie périodiquement l'heure de l'ordinateur par rapport à un serveur plus précis, qui peut être connecté à une source de temps externe, comme une horloge atomique. Le protocole NTP tient également compte de facteurs variables, tels que le temps de réponse du serveur NTP ou la vitesse du réseau entre vous et le serveur, pour régler l'heure à la seconde près ou mieux sur l'ordinateur que vous utilisez.
Peu après l'avènement des horloges à tic-tac, les scientifiques ont observé que l'heure indiquée par celles-ci (et maintenant par des horloges beaucoup plus précises) et l'heure indiquée par la position de la Terre étaient rarement exactement les mêmes. Il s'avère que le fait d'être sur une sphère imparfaite en rotation flottant dans l'espace, remodelée par les tremblements de terre et les éruptions volcaniques, et entraînée par les forces gravitationnelles, rend votre rotation quelque peu irrégulière.
L'un des nombreux facteurs contribuant aux irrégularités de la rotation de la Terre est la fonte et le regel constants des calottes glaciaires sur les plus hautes montagnes du monde. Ce phénomène peut être visualisé simplement en pensant à un patineur artistique en rotation, qui gère sa vitesse angulaire en contrôlant ses bras et ses mains. Lorsqu'il écarte les bras, la vitesse angulaire diminue, ce qui préserve l'élan du patineur. Dès que le patineur replie ses bras, la vitesse angulaire augmente.
Ces fluctuations de la vitesse de rotation de la Terre signifient que même les horloges très précises, comme les horloges atomiques utilisées par les services mondiaux de mesure du temps, doivent parfois être légèrement ajustées pour s'aligner sur le « temps solaire ». Il y a eu 24 ajustements de ce type, appelés secondes intercalaires, depuis leur introduction en 1972. Leur effet sur la technologie est devenu de plus en plus profond, car les gens en sont venus à compter sur une technologie rapide, précise et fiable.
La norme de temps UTC, largement utilisée pour le chronométrage international et comme référence pour l'heure civile dans la plupart des pays, utilise le TAI et, par conséquent, devancerait le temps solaire observé, à moins qu'elle ne soit ramenée à UT1 selon les besoins. La fonction de seconde intercalaire existe pour fournir cet ajustement.
Depuis son introduction, les autorités mondiales chargées du chronométrage ont ajouté 27 fois une seconde intercalaire à l'horloge mondiale (TAI). Au lieu que 23:59:59 devienne 0:0:0 à minuit, un 23:59:60 supplémentaire est inséré. Cela provoque une forte gêne pour les ordinateurs qui dépendent d'un réseau de serveurs de chronométrage précis pour programmer des événements et enregistrer la séquence exacte d'activités telles que l'ajout de données dans une base de données.
Selon eux, ce décalage temporel cause plus de problèmes, comme les pannes d'Internet, que d'avantages. En outre, le groupe estime qu'il est inutile de s'occuper des secondes intercalaires, car la vitesse de rotation de la Terre n'a pas beaucoup changé au cours de l'histoire. « Nous prévoyons que si nous nous en tenons au TAI sans observer les secondes intercalaires, nous devrions nous en sortir pendant au moins 2 000 ans », a déclaré par courriel le chercheur Ahmad Byagowi de Meta, la société mère de Facebook. « Peut-être qu'à ce moment-là, nous devrons envisager une correction ».
Comme la vitesse de rotation de la Terre varie en fonction des événements climatiques et géologiques, les secondes intercalaires UTC sont irrégulièrement espacées et imprévisibles. L'insertion de chaque seconde intercalaire UTC est généralement décidée environ six mois à l'avance par le Service international de la rotation terrestre et des systèmes de référence (IERS), afin de garantir que la différence entre les relevés UTC et UT1 ne dépassera jamais 0,9 seconde.
L'impact négatif des secondes intercalaires
La seconde intercalaire et le décalage qu'elle crée causent des problèmes dans tout le secteur. L'une des façons les plus simples de provoquer une panne est d'intégrer l'hypothèse que le temps va toujours de l'avant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 start := time.Now() // faire quelque chose spent := time.Now().Sub(start)
Selon la façon dont spent est utilisé, nous pouvons nous retrouver dans une situation reposant sur une valeur négative lors d'un événement de seconde intercalaire. De telles hypothèses ont causé de nombreuses pannes.
En 2012, Reddit a connu une panne massive à cause d'une seconde intercalaire ; le site a été inaccessible pendant 30 à 40 minutes. Le site est resté inaccessible pendant 30 à 40 minutes. Le changement d'heure a entraîné une confusion dans la minuterie haute résolution (hrtimer), ce qui a provoqué une hyperactivité sur les serveurs et bloqué les processeurs des machines.
En 2017, Cloudflare a publié un article très détaillé sur l'impact d'une seconde intercalaire sur le DNS public de l'entreprise. La cause profonde du bug qui a affecté leur service DNS était la croyance que le temps ne peut pas revenir en arrière. Le code a pris les valeurs temporelles en amont et les a transmises à la fonction rand.Int63n() de Go. La fonction rand.Int63n() a rapidement paniqué, car l'argument était négatif, ce qui a provoqué l'échec du serveur DNS.
Les ordinateurs sont très forts pour compter. Mais les humains introduisent des irrégularités, comme les secondes intercalaires, qui peuvent leur mettre des bâtons dans les roues. L'un des plus célèbres est le bogue de l'an 2000, lorsque des bases de données créées par l'homme n'ont enregistré que les deux derniers chiffres de l'année et ont faussé les calculs lorsque 1999 est devenu 2000. Un problème similaire se posera en 2038, lorsqu'un nombre de 32 bits que certains ordinateurs utilisent pour compter les secondes à partir du 1er janvier 1970 ne sera plus assez grand.
Au début de cette année, certains sites web se sont bloqués lorsque les navigateurs web ont atteint la version 100, car ils étaient programmés pour ne traiter que des numéros de version à deux chiffres. Google dispose d’une équipe de fiabilité pour ses sites. Elle est chargée d'assurer le fonctionnement des services et des centres de données de Google 24 heures sur 24 et 7 jours sur 7. Afin d'atténuer les problèmes liés aux horloges des ordinateurs qui n'aiment pas les minutes de 61 secondes, Google a lancé l'idée de la « leap smear », qui consiste à modifier la seconde intercalaire en plusieurs petits pas au cours d'une journée.
En général, lorsqu'une seconde intercalaire est sur le point d'arriver, le protocole NTP stipule qu'un serveur doit l'indiquer à ses clients en définissant le champ "Leap Indicator" (LI) dans sa réponse. Cela indique que la dernière minute de ce jour comptera 61 secondes, ou 59 secondes. (Les secondes bissextiles peuvent, en théorie, être utilisées pour raccourcir un jour également, bien que cela ne se soit pas produit jusqu'à présent). Plutôt que de faire cela, Google a par exemple appliqué un correctif au logiciel du serveur NTP sur ses serveurs NTP internes de Stratum 2 pour ne pas régler LI, et indiqué un petit « mensonge » sur l'heure, en modulant ce « mensonge » sur une fenêtre de temps w avant minuit :
mensonge(t) = (1.0 - cos(pi * t / w)) / 2.0
Cela permettait de s'assurer que le « mensonge » indiqué à ses serveurs à propos de l'heure ne déclencherait pas de comportement indésirable chez les clients NTP, par exemple en les amenant à soupçonner les serveurs de temps d'être faux et à appliquer eux-mêmes des corrections locales. Il s'agissait également de s'assurer que les mises à jour étaient suffisamment petites pour que les logiciels s'exécutant sur les serveurs et effectuant des actions de synchronisation ou ayant des verrous ne perdent pas ces verrous ou n'abandonnent aucune opération. Cela signifie également que ces logiciels ne devaient pas nécessairement être conscients de la seconde intercalaire ou y résister.
L'ajout d'une seconde intercalaire pose des problèmes aux ordinateurs. Et à un moment donné, il faudrait en soustraire une aussi - ce qui n'est jamais arrivé - et cela révélerait probablement de nouveaux problèmes. « Cela pourrait avoir un effet dévastateur sur les logiciels qui s'appuient sur des minuteries ou des programmateurs », ont déclaré Byagowi et Oleg Obleukhov, ingénieur chez Meta, dans un billet de blog.
« Chez Meta, nous soutenons l'effort de l'industrie pour arrêter l'introduction de nouvelles secondes intercalaires et rester au niveau actuel de 27. L'introduction de nouvelles secondes intercalaires est une pratique risquée qui fait plus de mal que de bien, et nous pensons qu'il est temps d'introduire de nouvelles technologies pour la remplacer. » Plus récemment, il est devenu courant de « brouiller » une seconde intercalaire en ralentissant ou en accélérant simplement l'horloge. Il n'y a pas de méthode universelle pour le faire, Meta choisit d’étaler la seconde intercalaire sur 17 heures, à partir de 00:00:00 UTC, en fonction du contenu du paquet de données sur les fuseaux horaires.
Meta a choisi une durée de 17 heures principalement parce que le frottement se produit sur la strate 2, où des centaines de serveurs NTP effectuent le frottement en même temps.
Pour que la différence entre eux soit tolérable, les pas doivent être minimes. Si les pas de sont trop grands, les clients NTP peuvent considérer que certains dispositifs sont défectueux et les exclure du quorum, ce qui peut entraîner une panne. Le point de départ à 00:00:00 UTC n'est pas non plus normalisé, et il existe de nombreuses options possibles. Par exemple, certaines entreprises commencent la veille à 00:00:00 UTC et ce, pendant 24 heures ; d'autres le font deux heures avant l'événement, et d'autres encore juste à la limite.
Sources : Meta, BIPM
Et vous ?
Quel est votre avis sur le sujet ?
Voir aussi :
Les versions 100 de Chrome, Edge et Firefox pourraient casser de nombreux sites web, le plan de Microsoft consiste à envoyer un numéro de version à trois chiffres dans l'en-tête User-Agent
Après le passage au Nouvel An, plusieurs entreprises connaissent le bogue de l'année 2020 nommé Y2K20, à cause d'une solution paresseuse utilisée pour corriger le bogue du millénaire
Partager