Es ist an der Zeit, die Schaltsekunde der Vergangenheit zu überlassen
(engineering.fb.com)- Die Schaltsekunde (Leap Second) wurde eingeführt, um die Differenz zwischen UT1 (Weltzeit) und UTC zu korrigieren, die durch die Rotationsgeschwindigkeit der Erde entsteht
- Dadurch kann UTC für verschiedene Zwecke wie astronomische Beobachtungen verwendet werden, was vor allem Wissenschaftlern und Astronomen zugutekommt
- Ohne Anpassung von UTC müssten Legacy-Geräte und -Software, die für astronomische Beobachtungen mit UTC synchronisiert sind, korrigiert werden
- Seit dem Vorschlag der Schaltsekunde wurde UTC bis heute insgesamt 27-mal angepasst
- 1972 war die Schaltsekunde eine akzeptable Lösung, die sowohl die Wissenschaft als auch die Telekommunikationsbranche zufriedenstellte, heute ist UTC in dieser Form jedoch weder für digitale Anwendungen noch für Wissenschaftler gut geeignet
→ Sie wählen häufig TAI (International Atomic Time, Internationale Atomzeit) oder UT1 - Meta unterstützt die Bemühungen der Branche, die Einführung weiterer Schaltsekunden künftig zu stoppen und den aktuellen Stand von 27 beizubehalten
- Die Einführung neuer Schaltsekunden ist eine riskante Praxis, deren Nachteile die Vorteile überwiegen, und es ist an der Zeit, neue Technologien als Ersatz einzuführen
Leap of Faith
- Einer der vielen Faktoren, die zur Unregelmäßigkeit der Erdrotation beitragen, ist das fortwährende Schmelzen und Wiedergefrieren des ewigen Schnees auf den höchsten Bergen der Welt
- Das lässt sich leicht veranschaulichen, wenn man an eine sich drehende Eiskunstläuferin denkt
- Bisher gab es nur positive Schaltsekunden, daher musste man lediglich eine zusätzliche Sekunde
23:59:60zwischen23:59:59und00:00:00einfügen,
mit der Veränderung des Rotationsmusters der Erde ist es jedoch wahrscheinlich, dass es irgendwann in der Zukunft zu einer negativen Schaltsekunde kommt
Dann müsste auf23:59:58direkt00:00:00folgen. - Die Auswirkungen dieser negativen Schaltsekunde wurden nie in großem Maßstab getestet und könnten für Software, die auf Timer oder Scheduler angewiesen ist, verheerend sein
Smearing
- In jüngerer Zeit ist es gängige Praxis geworden, die Schaltsekunde schrittweise per „Smearing“ einzubringen, indem Uhren einfach verlangsamt oder beschleunigt werden
- Es gibt keine universelle Methode dafür, aber Meta smeart die Schaltsekunde ab
00:00:00über einen Zeitraum von 17 Stunden - Da Hunderte von NTP-Servern gemeinsam auf Stratum 2 arbeiten, können NTP-Clients bei zu starkem Smearing annehmen, dass ein Fehler vorliegt, und den Server aus dem Quorum ausschließen, was zu einem Outage führen kann
- Auch der Beginn um
00:00:00ist nicht standardisiert, daher sind verschiedene Optionen möglich
→ Beispielsweise könnte ein bestimmtes Unternehmen bei12:00:00 UTCbeginnen und den Vorgang über 24 Stunden durchführen - Auch für das Smearing selbst gibt es verschiedene Algorithmen: Kernel-Schaltsekundenkorrektur, Linear Smearing, Quadratic (von Meta verwendet)
- All dies erfordert wichtige Transformationslogik, einschließlich Metas eigener Time Appliance
- Wenn ein NTP-Server während dieses Smearing-Zeitraums neu startet, können „alte“ und „neue“ Zeiten an Clients ausgeliefert werden, was zu einem Outage führen kann
The negative impact of Leap Seconds
- Schaltsekunden und ihre Offsets verursachen branchenweit Probleme
- Der einfachste Weg zu einem Outage besteht darin, Code unter der Annahme zu schreiben, dass Zeit immer nur vorwärts läuft
start := time.Now()
// do something
spent := time.Now().Sub(start)
- Je nachdem, wie
spentverwendet wird, kann dieser Wert während einer Schaltsekundenperiode negativ werden - Reddit erlitt 2012 wegen einer Schaltsekunde einen großflächigen Ausfall, und die Website war 30 bis 40 Minuten lang nicht erreichbar
- Cloudflare veröffentlichte 2017 einen detaillierten Beitrag über die Auswirkungen auf das öffentliche DNS des Unternehmens
Moving beyond the leap second
- Schaltsekundenereignisse verursachen branchenweit Probleme und bergen weiterhin erhebliche Risiken
- Im operativen Alltag stoßen wir jedes Mal auf Probleme, wenn eine Schaltsekunde eingeführt wird
- Und weil es sich um ein sehr seltenes Ereignis handelt, werden Communities bei jedem Auftreten erneut stark belastet
- Da in allen Industriebereichen der Bedarf an Uhrengenauigkeit steigt, bringen Schaltsekunden inzwischen mehr Schaden als Nutzen und verursachen Outages
- Als Ingenieure bei Meta unterstützen wir nachdrücklich das Ziel, die Einführung weiterer Schaltsekunden künftig zu beenden und den aktuellen Stand von 27 beizubehalten, was unserer Ansicht nach für das nächste Jahrtausend ausreichen wird
5 Kommentare
Wow, ein unglaublich spannendes Thema! Aber hm … ich verstehe zwar, dass das Einfügen einer Schaltsekunde eine große Sache ist, aber ich habe nicht verstanden, welche großen Anstrengungen unternommen werden, um diese 27 Sekunden beizubehalten.
Ich denke, das ist wahrscheinlich gemeint.
https://de.news.hada.io/topic?id=1752
Der Titel des Artikels wirkt etwas merkwürdig.
Der Titel der Nachricht, die von einem Twitter-Bot oder Slack-Bot gesendet wurde, ist in Ordnung, aber auf der Website sieht er merkwürdig aus.
Ups, da scheint etwas nicht gestimmt zu haben. Ich habe es korrigiert.