Meta*-Unternehmen fordert, Schaltsekunden aufzugeben / Sudo Null IT News

Das Konzept der Schaltsekunde (Schaltsekunde) wurde 1972 eingeführt

Internationaler Erdrotations- und Referenzsystemdienst

(IERS) für regelmäßige Updates

abgestimmte Weltzeit

(UTC) aufgrund von Ungenauigkeiten

beobachtete Sonnenzeit

(UT1) und langfristig

Verlangsamung der Erdrotation

. Diese periodische Korrektur hilft hauptsächlich Wissenschaftlern und Astronomen, da sie es ihnen ermöglicht, Himmelskörper für die meisten Zwecke mit UTC zu beobachten. Wenn es keine UTC-Korrektur gäbe, müssten Änderungen an der alten Ausrüstung und Software vorgenommen werden, die für astronomische Beobachtungen mit UTC synchronisiert werden.

Seit der Einführung der Schaltsekunde wurde UTC bisher 27 Mal aktualisiert.

Die Schaltsekunde mag 1972 eine akzeptable Lösung gewesen sein, als sie sowohl die wissenschaftliche Gemeinschaft als auch die Telekommunikationsindustrie zufriedenstellte, aber heute ist UTC gleichermaßen hinderlich für digitale Anwendungen und Wissenschaftler, die stattdessen häufig TAI oder UT1 verwenden.


Unser Unternehmen Meta* unterstützt den Wunsch der Branche, die Verwendung von Schaltsekunden zu beenden und auf dem aktuellen Niveau zu bleiben (27). Das Hinzufügen neuer Schaltsekunden ist eine riskante Praxis, die mehr schadet als nützt, und wir glauben, dass es an der Zeit ist, neue Technologien zu implementieren, die sie ersetzen werden.

schneebedeckter Pass

Einer der wichtigen Faktoren, die die ungleichmäßige Rotation der Erde beeinflussen, ist das ständige Schmelzen und Erstarren von Gletschern auf den Gipfeln der höchsten Berge der Welt. Dieses Phänomen kann leicht visualisiert werden, indem man sich eine sich drehende Eiskunstläuferin vorstellt, die ihre Winkelgeschwindigkeit mit ihren Armen und Händen unterstützt. Wenn sie ihre Arme ausbreitet, nimmt die Winkelgeschwindigkeit ab, wodurch der Schwung der Skaterin erhalten bleibt. Wenn sie ihre Arme an ihren Körper presst, erhöht sich die Winkelgeschwindigkeit.

Bisher wurden nur positive Schaltsekunden hinzugefügt. Dies fügte zunächst einfach eine weitere Sekunde hinzu, was zu einem ungewöhnlichen Zeitstempel führte:

23:59:59 -> 23:59:60 -> 00:00:00

Allenfalls führte ein solcher Zeitsprung zu Programmabstürzen oder gar Datenkorruption durch seltsame Zeitstempel im Datenspeicher.

Da sich das Rotationsmuster der Erde ändert, ist es sehr wahrscheinlich, dass wir in Zukunft eine negative Schaltsekunde bekommen werden. Der Zeitstempel sieht folgendermaßen aus:

23:59:58 -> 00:00:00

Die Auswirkung einer negativen Schaltsekunde in großem Maßstab wurde noch nie getestet; Es kann verheerende Auswirkungen auf Software haben, die von Timern oder Schedulern abhängt.

Wie dem auch sei, jede Schaltsekunde stellt für die Wartung von Hardware-Infrastrukturen eine ernsthafte Problemquelle dar.

Verschmieren

In letzter Zeit ist es zur Standardpraxis geworden, die Schaltsekunde zu “verschmieren”, indem man einfach die Uhr verlangsamt oder beschleunigt. Es gibt keinen universellen Weg, eine solche Methode zu implementieren; Meta* verteilt die Schaltsekunde über 17 Stunden ab 00:00:00 UTC,

basierend auf dem Inhalt des Zeitzonen-Datenpakets (tzdata)

.


Schaltsekundenverschmierung in Meta*.

Sehen wir uns das etwas genauer an.

Wir haben das 17-Stunden-Intervall in erster Linie gewählt, weil in Stratum 2, wo Hunderte von NTP-Server führen gleichzeitig Verschmieren durch. Damit der Unterschied zwischen ihnen akzeptabel ist, muss die Stufe minimal sein. Wenn der Spreading-Schritt zu groß ist, können NTP-Clients davon ausgehen, dass einige Geräte fehlerhaft sind, und sie vom Quorum ausschließen, was zu Ausfällen führen kann.

Die Startzeit um 00:00:00 UTC ist ebenfalls nicht standardisiert und es gibt viele mögliche Variationen. Einige Unternehmen beginnen zum Beispiel am Vortag um 12:00:00 UTC mit dem Schmieren und dehnen es über 24 Stunden aus; manche starten zwei Stunden vor der Veranstaltung, andere direkt zum Zeitpunkt der Veranstaltung.

Darüber hinaus gibt es viele verschiedene Smearing-Algorithmen. Es gibt eine Kernel-Schaltsekundenkorrektur, lineares Verschmieren (wenn gleiche Schritte angewendet werden), Kosinus und quadratisch (die Meta * verwendet). Die Algorithmen basieren auf unterschiedlichen mathematischen Modellen und erzeugen unterschiedliche Verschiebungsplots:


Kernel Leap Second Smearing mit NTPD

Die Quelle der Umrechnungsrate für Satellitennavigationssysteme (d. h. GPS, GLONASS, Galileo und Beidou) variiert. In einigen Fällen wird es mehrere Stunden vor der Veranstaltung per Satellit ausgestrahlt. In anderen Fällen wird die Zeit in UTC mit bereits hinzugefügter Schaltsekunde weitergegeben. Bei verschiedenen Navigationssystemen unterscheidet sich der Wert der Schaltsekunde je nach dem Zeitpunkt, zu dem das System gestartet wurde.


Der Unterschied in den Schaltsekundenwerten zwischen verschiedenen Satellitennavigationssystemen.

All dies erfordert eine nicht-triviale Logik von Transformationen innerhalb von Zeitquellen, einschließlich unserer eigenen. Zeit-Appliance. Der Verlust des Satellitensystemsignals zu einem so wichtigen Zeitpunkt kann zu einem Verlust der Übergangsanzeige und einer Kollision führen, was zu Ausfällen führen kann.

Außerdem wird das Übergangsereignis Monate vor dem Ereignis im tzdata-Paket und für ntpd-Fans in verteilt Schaltsekunde Dateiüber die Website der Internet Engineering Taskforce (IETF) vertrieben. Wenn Sie keine neue Kopie der Datei haben, kann eine Schaltsekunde übersprungen und auch Ausfälle verursacht werden.

Wie bereits erwähnt, ist das Verschmieren ein sehr wichtiger Punkt. Wenn der NTP-Server in diesem Intervall neu startet, dann ist es sehr wahrscheinlich, dass er eine „alte“ oder „neue“ Zeit hat, die sich auf Clients ausbreitet und zu Ausfällen führt.

Aufgrund dieser Mehrdeutigkeit führen öffentliche NTP-Pools kein Smearing durch und geben manchmal eine Sprungmetrik an Clients weiter, um dieses Problem zu lösen. SNTP erhöht typischerweise Uhrenwerte und behandelt die oben beschriebenen Konsequenzen. Intelligentere Clients können die Standardstrategie zum lokalen Verschmieren des Übergangs wählen. Letztendlich bedeutet dies, dass Big Player wie Meta*, die in öffentlichen Diensten schmieren, nicht öffentlichen Pools beitreten können.

Und auch nach dem Übergang bleibt die Situation riskant. NTP-Software muss immer einen Offset von der verwendeten Zeitquelle (Satellitennavigationssystem, TAI oder Atomuhr) anwenden, und PTP-Software muss in Benachrichtigungen ein sogenanntes UTC-Offset-Flag senden.

Der negative Einfluss von Schaltsekunden

Die Schaltsekunde und der dadurch entstehende Versatz sorgen branchenweit für Probleme. Eine der einfachsten Möglichkeiten, eine Unterbrechung der Arbeit zu verursachen, besteht darin, die Annahme einzuführen, dass sich die Zeit immer vorwärts bewegt. Nehmen wir an, wir haben diesen Code:

start := time.Now() // tue etwas verbrachtes := time.Now().Sub(start)

In einigen Anwendungsfällen

ausgegeben

wir befinden uns möglicherweise in einer Situation, in der der Wert während des Schaltsekunden-Anwendungsereignisses negativ sein muss. Solche Annahmen haben zu vielen Arbeitsunterbrechungen geführt und werden in vielen Artikeln beschrieben.

2012 bei Reddit passiert schwerwiegende Arbeitsunterbrechungen durch eine Schaltsekunde; Die Seite war 30-40 Minuten lang nicht verfügbar. Dies geschah, als die Zeitumstellung den hochauflösenden Timer (hrtimer) durcheinander brachte, Hyperaktivität auf den Servern verursachte und die CPU der Maschine blockierte.

2017 veröffentlichte Cloudflare ein very ausführlicher Artikel über die Auswirkungen von Schaltsekunden auf das öffentliche DNS eines Unternehmens. Die Hauptursache des Fehlers, der seinen DNS-Dienst betraf, war die Annahme, dass die Zeit nicht zurückgehen kann. Der Code nahm vorgelagerte Zeitwerte und übergab sie an die Funktion Go rand.Int63n(). Die Funktion rand.Int63n() geriet zu Recht in Panik, weil das Argument negativ war, wodurch der DNS-Server fehlschlug.

Ablehnung der Schaltsekunde

Der Schaltsekundenprozess hat in unserer Branche viele Probleme verursacht und birgt weiterhin viele Bedrohungen. Die gesamte Branche steht vor Herausforderungen, wenn es um Schaltsekunden geht. Und weil es ein so seltenes Ereignis ist, hat es jedes Mal verheerende Auswirkungen auf die Gesellschaft. Die Anforderungen an die Zeitgebergenauigkeit werden in allen Branchen immer höher, und die Schaltsekunde verursacht mehr Ärger als sie wert ist, was zu Unordnung und Ausfällen führt.

Wir, die Ingenieure von Meta*, unterstützen den Wunsch der Community, die Verwendung von Schaltsekunden einzustellen und auf dem aktuellen Niveau (27) zu bleiben, von dem wir glauben, dass es das nächste Jahrtausend überdauern wird.

* – als extremistische Organisation anerkannt, ihre Aktivitäten sind in Russland verboten.

Similar Posts

Leave a Reply

Your email address will not be published.