Transiente Fehler in Mikroprozessoren

Lösung vermindert Fehleranfälligkeit schneller Rechner

An der Fern-Universität Hagen wurde eine Hardware entwickelt, die den Einfluss kosmischer Strahlung auf die Chips und Leiterbahnen in schnellen Rechnern korrigiert. Dadurch sollen die Supercomputer weniger fehleranfällig werden.

Die Leiterbahnen und Transistoren auf den Chips in Computern sind oft nur noch einige Atome dick. Dadurch steigt das Risiko, dass kosmische Strahlen wie Neutronen Bauteile mit einem "Treffer" beschädigen können. Je schneller ein Rechner arbeitet, desto größer ist dieses Risiko. In Kiel wurden beispielsweise durchschnittlich 6300 Einschläge pro Stunde gezählt, der Spitzenwert weltweit liegt bei 14.400 Treffern – und das auf einem einzigen Quadratzentimeter.

Wird eine Leiterbahn getroffen, kann ein Bit umkippen. Breitet sich die Falsch-Ladung im Chip aus, kann dies das gesamte System durcheinanderbringen: "Dann kann plötzlich in einem Auto der Motor 'stottern' oder das Antiblockiersystem versagen", erläutert Dr. Bernhard Fechner, "oder es wird beim Online-Banking vielleicht ein anderer Betrag überwiesen." Fechner hat im Rahmen seiner Doktorarbeit die Techniken entwickelt, mit denen durch Strahlung verursachte Fehler erkannt und Gegenmaßnahmen eingeleitet werden.

Da die Neutronenstrahlung selbst Mauern problemlos passiert, kann man sich nicht so einfach davor schützen. Vielmehr muss man die spezifischen Fehler erkennen und korrigieren können. Fechner hat die Fehler auf einem Münchner Supercomputer, die durch den unvermeidbaren Teilchenbeschuss entstehen, analysiert. Die Untersuchung zeigt die Entwicklung von Fehlerraten auf: "Steigt sie plötzlich stark an, muss man die Fehlerüberdeckung 'hochschrauben'", erläutert Fechner. Es werden auf Kosten der Rechenleistung mehr Fehler erkannt. Hierfür hat Fechner eine Automatik entwickelt. Bei steigender Fehlerrate schaltet sie Komponenten zu, die Fehler finden. Unter Umständen schaltet sie sogar den Prozessor ab.

Für die Fehlererkennung benutzt Fechner u. a. ein „Echo“ des tatsächlichen Programms, eine bereits länger bekannte Methode. Der zeitliche Versatz zwischen dem Programm und seinem Echo soll im Durchschnitt etwa fünf Takte betragen, bei einer Taktfrequenz von 1 GHz also 5 Nanosekunden. Verglichen werden Programm und Echo bei "Schleifen", also Abfolgen von Anweisungen, die das Programm mehrfach durchläuft.

Weil die ständige Speicherung der Sprungziele innerhalb einer Schleife den Speicher schnell füllt, hat Fechner dafür gesorgt, dass gleiche Sprungziele nur ein Mal gespeichert werden. Sich ständig wiederholende Arbeitsabläufe werden durch einen "Prüf-Thread" viel effizienter gestaltet, indem sie im Prozessor gespeichert werden. Besonders geeignet ist diese Entwicklung für Systeme mit mehreren Prozessoren. Von all dem merken die Anwendenden nichts, versichert Dr. Fechner: "Wir haben die Hardware so wenig geändert, dass die Programme ganz normal weiterlaufen."

Fechner hat die Ergebnisse seiner Dissertation in seinem Buch "Transiente Fehler in Mikroprozessoren. Mechanismen zur Erkennung, Behebung und Tolerierung" zusammengefasst. Es wird in Kürze erscheinen. (dsc)