Wer hat Angst vor der Schaltsekunde?

Am 30. Juni passiert etwas, was von uns Menschen in der Regel ganz unbemerkt von Statten geht: Der 30. Juni wird nicht 86.400 Sekunden haben, sondern 86.401 Sekunden. Eine Sekunde, was macht das schon aus?
In der IT eine große Menge!

Denn trotz aller Intelligenz mögen IT-Systeme starre Regeln – wenn alles zu 100% gleichmäßig und plangemäß läuft, dann ist die IT-Welt in Ordnung. Die Sache mit den Schaltjahren hat man ja unter Kontrolle: Zwar nicht dem typischen Kalender folgend, was die Tagesmenge eines Jahres betrifft, passiert ein Schaltjahr ganz regelmäßig alle vier Jahre. Kann man planen, kann man Programme darauf schreiben: “Wenn das vierte Jahr erreicht, dann ist’s ein Schaltjahr, dann arbeite mit dem 29. Februar”.
Die Schaltsekunde hingegen ist nicht regelmäßig. Sie wird nach realen Notwendigkeiten festgesetzt und somit unregelmäßig durchgeführt. Komplett unplanbar, folgt keinem System.
Kleine Sekunde, große Wirkung. Denn Systeme, die auf 100% genaue Zeitangaben angewiesen sind, geraten aus dem Tritt.

Warum gibt es eigentlich die Schaltsekunde?

Nun, die Erde dreht sich immer langsamer. Jedes Jahr ein kleines Stückchen. Durchschnittlich, aber nicht linear, um eine Drittel Sekunde pro Jahr. Mal mehr, mal weniger.
Es gibt die Universelle Sonnenzeit, die im britischen Greenwich gemessen wird und sich nach der tatsächlichen Dauer einer Erdumdrehung richtet. Sie ist besonders wichtig für die Astronomie und Geologie. Die für uns relevante Zeitmessung orientiert sich nach der Koordinierten Weltzeit, die rund um die Welt gilt. Während also die Universelle Sonnenzeit sich jederzeit den natürlichen Schwankungen von Erdrotation anpasst, ist die Koordinierte Weltzeit ein starr regelmäßiges System. Und da man natürlich schon Wert darauf legt, dass beide Zeitsysteme möglichst gleiche Zeitangaben pflegen, hat man definiert, dass die beiden Zeitmesssysteme maximal 0,9 Sekunden voneinander abweichen dürfen. Dreht sich die Erde also immer langsamer, ist irgendwann die Differenz so groß, dass man eine Schaltsekunde schalten muss.

Müssen wir einen zweiten Millenium Bug erwarten?

Klare Antwort: Nö. Denn die letzte Schaltsekunde wurde am 30. Juni 2012 geschaltet – vermutlich von allen komplett unbemerkt. Legendär ist ein Bug im Linux Kernel, der wegen der Schaltsekunde dazu führte, dass die Systeme in eine Endlosschleife und deswegen auf Volllast liefen. Einmal das System durchstarten hat geholfen.

Technisch ist die Schaltsekunde dennoch herausfordernd, denn je genauer Anwendungen mit Zeitangaben arbeiten, desto höher ist die Wahrscheinlichkeit, dass sie sich verschlucken. Denn in der IT-seitigen Zeitrechnung sind Schaltsekunden nicht vorgesehen, es gibt schlichtweg keine 86.401. Sekunde. Natürlich gibt es Mechanismen, dem System eine Schaltsekunde zu vermitteln, aber dann wird eben die Zeitzählung eine Sekunde ausgesetzt oder der selbe Zeitstempel wird erneut ausgegeben. Das heisst, systemseitig gibt es die exakt gleiche Zeitbezeichnung zwei Mal. Und Anwendungen, die jede Sekunde Daten schreiben, womöglich Daten mit den Werten von der Sekunde vorher vergleichen, laufen Gefahr, total durcheinander zu kommen: Sie vergleichen oder verarbeiten “alte” Werte mit dem selben Zeitstempel, mit denen die “neuen” Daten kommen.
Ein IT-System, das klare Regeln und klare Zeitstempel mag, findet so etwas arg uncool.

Also, wie geht man damit um?

Da gibt es verschiedene Herangehensweisen. Google beispielweise “verschmiert” bei ihren Systemen die Zeit über den gesamten Tag (das Verfahren heisst wirklich “Leap Smear”). Über den gesamten Tag werden die Zeitinformationen um wenige Millisekunden verschoben ausgegeben, sodass die Systeme zur Schaltsekunde exakt korrekt gehen. Das hat bei der letzten Schaltsekunde in 2012 schon gut funktioniert.
Windows Systeme brauchen externe Hilfe, ohne die sie nach der Schaltsekunde eben die eine Sekunde falsch gehen. Nimmt man sich externe Programme, bspw. direkt von ntp.org, so sorgt das Programm dafür, dass die letzte Sekunde des 30. Juni auf zwei Sekunden gestreckt wird.

Warum all die Aufregung, wenn es doch eigentlich gut funktioniert?

Schaltsekunden finden immer am 30. Juni oder dem 31. Dezember um 23:59:59 Koordinierter Weltzeit (UTC) statt. Und bisher fielen die Schaltsekunden der letzten Jahre in Zeiträume außerhalb der regulären Geschäftszeiten: An Silvester bzw. Neujahr findet man Feiertage vor, ansonsten fielen die Schaltsekunden im Juni immer auf ein Wochenende.
Dieses Jahr ist der 30. Juni ein Dienstag. Und das macht die Sache dann doch ein bisschen spannend: Werden alle Systeme die Umstellung gut überstehen? Beispielsweise fällt die Schaltsekunde genau in die Handelszeit der NSADAQ – und hier werden Aktien im wahrsten Sinne des Wortes im Sekundentakt gehandelt.

Eine kleine Zeiteinheit und so eine große Wirkung, wer hätte es gedacht? Da meint man, die IT ist heutzutage so sicher und mitdenkend. Und dann sind es die einfachen Dinge, die die Probleme hervorrufen. Erinnert ein bisschen an den verspäteten Millenium-Bug im Jahr 2010.

Update 20.12.2016: Und am 01.01.2017 gibt es erneut eine Schaltsekunde. Sie wird zwischen 00:59:59 Uhr und 01:00:00 Uhr eingefügt.

Artikelbild: Konstantin Brückner / pixelio.de

Hinterlasse uns einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.