Web

Sun-Forscher: Computer rechnen schlecht

18.12.2003

MÜNCHEN (COMPUTERWOCHE) - Am 25. Februar 1991 während des ersten Golfkriegs schlug eine "Scud"-Rakete in eine Barracke der US-Armee im Dharan (Saudiarabien) ein und tötete 28 Menschen. Eigentlich hätte ein installiertes "Patriot"-Raketenabwehrsystem dies verhindern müssen - was es aber nicht tat, und zwar aufgrund von Rechenfehlern, wie sich ein Jahr später herausstellte.

Das in Computern genutzte binäre Zahlensystem hat insbesondere beim Umgang mit Bruchrechnung Schwierigkeiten. Während 2/3 korrekt eine unendliche Zahl mit lauter Sechsern hinter dem Komma ist, bleibt einem Rechner nichts anderes übrig, als irgendwann abzuschneiden und die letzte Stelle auf sieben aufzurunden. Im Falle des Patriot-Rechners führte dies zu Fehlern bei der Zeitberechnung. Zum Zeitpunkt des Scud-Einschlags war das System seit 100 Stunden in Betrieb. Seine Uhr wich um über eine Drittelsekunde vom Sollwert ab, was genügte, um den angreifenden Flugkörper zu verfehlen.

Forscher von Sun suchen gegenwärtig im Rahmen eines mit 50 Millionen Dollar dotierten Forschungsprojekts der DARPA (Defense Advanced Research Projects Agency) nach Mitteln und Wegen, solche Probleme zu umschiffen. Sie gewährten unlängst ein wenig Einblick in ihre Arbeit. "Es gibt viele Maschinenfehler die unentdeckt bleiben", erklärte dabei CTO Greg Papadopoulos. "Manchmal bleibt eine Maschine einfach stehen. Das schiebt man immer auf Microsoft. Auch wir. Das ist bequem, sogar für Intel." "Es ist ein schmutziges Geheimnis: Fließkomma-Arithmetik ist falsch", ergänzte John Gustafson, Principal Investigator bei Sun. "Man braucht nur zwei Operationen, um zu sehen wie Computer mit Brüchen Fehler machen."

Programmierer wüssten eigentlich um solche Probleme und nutzten verschiedene Methoden, um sie zu umgehen, erklärte Insight64-Analyst Nathan Brookwood. Bei Supercomputern, die Milliarden von Additionen in der Sekunde berechneten, können solche Workarounds allerdings zu Lasten der Performance gehen, und Fehler sind trotzdem nicht vollkommen ausgeschlossen.

Die Sun-Wissenschaftler versuchen dem Problem mit so genannter Intervall-Arithmetik beizukommen. Dabei wird im Wesentlichen eine mathematisch nicht korrekte Zahl von zwei Werten eingeklammert, von denen man weiß, dass sie korrekt sind. Das soll verhindern, dass sich Ungenauigkeiten potenzieren und mit der Zeit außer Kontrolle geraten. "Wenn sie mathematisch beweisen können, dass das richtige Ergebnis zwischen diesem und jenem Resultat liegt, können Sie dem Computing die mathematische Exaktheit zurückgeben."

Laut Gustafson gibt es bereits eine Reihe von Compilern, die Interval-Arithmetik unterstützen. In diesem Bereich gelte es nun vor allem die Rechengeschwindigkeit zu steigern. Sun will seine Technik dann in einem neuen Numbercruncher einsetzen, der gleichfalls im Rahmen des DARPA-Projekts entwickelt wird. Im vergangenen August hatte Sun eigens zu diesem Zweck eine Sparte High Productivity Computing Solutions gegründet. Diese untersteht dem früheren Sunlabs-Entwicklungschef Jim Mitchell und beschäftigt um die 100 Mitarbeiter, darunter vier "Sun-Fellow"-Masterminds. Der Superrechner "Hero" soll in rund zweieinhalb Jahren fertig werden . Falls die DARPA eine Weiterentwicklung über den Prototypen hinaus finanziert, könnte das System laut Sun rund 50 Mal schneller arbeiten als der heute leistungsfähigste "Earth Simulator" von NEC. (tc)