Immer schneller, immer anfälliger: Bei jedem neuen Computer werden die Leiterbahnen und die Transistoren auf den Chips schmaler. Dadurch nimmt das Risiko zu, dass elektrisch geladene Partikel – wie Neutronen aus dem Weltall – gleich mehrere Bauteile mit einem „Treffer“ beschädigen. Sie können sogar Alltagselektronik, etwa in Fahrzeugen und Flugzeugen, zum Versagen bringen.
Dr. Bernhard Fechner hat an der FernUniversität in Hagen Techniken entwickelt, mit denen dadurch verursachte Fehler erkannt und Gegenmaßnahmen eingeleitet werden. Das Hagener Lehrgebiet Parallelität und VLSI (Prof. Dr. Jörg Keller) hat es sich zum Ziel gesetzt, mit Hardware-Komponenten eine hohe Verfügbarkeit zu erreichen, die von keiner Software zu gleichen Kosten erreicht werden kann.
„Das geht mich nichts an“ ist wohl nicht ganz die richtige Einstellung zum Neutronenbeschuss aus dem Weltall. So wurden in Kiel bei einer Untersuchung durchschnittlich 6.300 Neutroneneinschläge pro Stunde gezählt. Nicht im gesamten Stadtgebiet, sondern auf einem einzigen Quadratzentimeter. Der Spitzenwert weltweit liegt bei 14.400 Treffern. „Mit Sicherheit ist eine Anzahl von Neutronen dabei, die genügend Energie haben, um Computer zu schädigen“, betont Dr. Fechner.
Das Problem betrifft neben Servern auch schnelle Arbeitsplatz- und Privat-Computer. Denn die Chip-Strukturen sind oft nur mehrere Atome dick. Werden diese von einem Neutron getroffen, kann ein Bit umkippen oder sich diese Falsch-Ladung ausbreiten und Fehler des gesamten Chips verursachen. „Wenn bei einem Bild nur ein Pixel ‚kippt’, macht das selten etwas“, so Fechner, „doch was ist, wenn beim Überholen auf der Autobahn plötzlich der Motor ‚stottert’, das Antiblockiersystem versagt oder beim Online-Banking ein anderer Betrag überwiesen wird?“
Die Bauelemente in Rechnern werden immer filigraner - und sind damit immer anfälliger gegen Neutronen und andere energiereiche Teilchen
Je schneller ein Rechner ist, desto größer sind die Gefahren des ständigen Partikelregens. Selbst Mauern passiert die Neutronenstrahlung problemlos. Und: Strahlende Alpha-Teilchen – die ebenfalls Schäden verursachen können – finden sich sogar in der Verpackung von Computerchips. Schützen kann man sich also nicht, daher muss man Fehler erkennen und korrigieren können.
In einer deutschlandweit einzigartigen Studie hat sich Fechner im Rahmen seiner Dissertation mit den Fehlern befasst, die auf dem Supercomputer SGI Altix 4700 im Leibniz-Rechenzentrum der Bayerischen Akademie der Wissenschaften in München entstehen. Die Untersuchung zeigt die Entwicklung von Fehlerraten auf: „Bei einer steigenden Fehlerrate muss man die Fehlerüberdeckung ‚hochschrauben’.“, erläutert Fechner. D. h.: Die Anzahl der erkannten Fehler wird erhöht, doch das kostet Rechenleistung.
Hierfür hat Fechner eine Automatik entwickelt, die ständig läuft, im Normalfall aber in einer Art „Schlummerbetrieb“. Steigt die Fehlerrate, schaltet sie Komponenten zu, die Fehler finden. Ist die Rate unvertretbar hoch, wird der Prozessor abgeschaltet. Fechner: „Da ein Rechner umso gefährdeter ist, je schneller er arbeitet, heißt das im Umkehrschluss: langsameres Arbeiten – weniger Fehler.“ Deshalb vermindert die Automatik bei einer schnell steigenden Fehlerrate die Leistung.
Wie nun werden Fehler gefunden? Fechner benutzt hierzu 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 Gigahertz also 5 Nanosekunden. Verglichen werden Programm und Echo bei „Schleifen“ (Abfolgen von Anweisungen, die mehrfach durchlaufen werden).
Weil die ständige Speicherung der Sprungziele innerhalb einer Schleife den Speicher schnell füllt, hat Fechner dafür gesorgt, dass gleiche Sprungziele nur einmal gespeichert werden. Sich ständig wiederholende Arbeitsabläufe werden durch einen „Prüf-Thread“ viel effizienter gestaltetet, indem sie im Prozessor gespeichert werden. Besonders geeignet ist diese Entwicklung für Multi-Core Systeme mit mehreren Prozessoren.
Der Arbeitsablauf im Prozessor ähnelt einer Fließbandverarbeitung: „Wie in der Autoproduktion, wo nacheinander Kotflügel, Motorhaube, Tür usw. termingerecht montiert werden.“ Bei einem Schichtwechsel muss der nächste Arbeiter genau wissen, was nun zu tun ist. Im PC wird die Information über den Arbeitsstand durch eine Prüfsumme weitergegeben und mit der Prüfsumme der Arbeitsabläufe verglichen. Tritt eine Differenz auf heißt dass: Es hat einen Fehler gegeben. Je häufiger verglichen wird, z. B. beim Anstieg der Fehlerrate, desto mehr Fehler werden entdeckt. Steigt die Fehlerrate wird die Rechenleistung reduziert.
Von all’ dem merken die Anwendenden nichts, versichert Dr. Fechner: „Wir haben die Hardware so wenig geändert, dass die Programme ganz normal weiterlaufen können.“
FernUniversität in Hagen, 58084 Hagen, Telefon: +49 2331 987-01, E-Mail: fernuni@fernuni-hagen.de