Jahresumsatz der "Number-Cruncher" soll sich vervierfachen:

Supercomputing verläßt die Wissenschaftsdomäne

23.01.1987

Supercomputer sind heute als leistungsfähige Werkzeuge aus den Natur- und Ingenieurswissenschaften nicht mehr wegzudenken. Der Bedarf an Supercomputerleistung ist so groß, daß Fachleute eine Verdreifachung oder gar Vervierfachung des Jahresumsatzes innerhalb von fünf Jahren in diesem Marktsegment erwarten.

Zwar dient die Wettervorhersage seit eh und je als Paradebeispiel für den Bedarf an schnellen Rechnern, doch existieren heute Aufgaben, die einen noch größeren Bedarf an Computerleistung anmelden: Simulationen, die zeit- und kostenintensive Experimente durch Modellrechnungen auf Computern ersetzen können. Gerade bei Simulationen aber treten Probleme auf, die auf heutigen Supercomputern Rechenzeiten von einigen Tagen oder bis zu hundert Tagen benötigen. Zahlreiche Forschungseinrichtungen in den USA und Japan, aber auch einige Institute in der Bundesrepublik Deutschland, arbeiten deshalb fieberhaft an innovativen Rechnerstrukturen, die noch höhere Leistungen bringen sollen.

Crash-Tests und Motorenoptimierung

Besonders in der Automobilindustrie besteht ein großer Bedarf an Rechnerleistung für Simulationen. Crash-Tests, die besonders in der Anfangsphase einer Automobilentwicklung sehr kostspielig sind, da jeder Wagen, der zu Schrott gefahren wird, praktisch von Hand hergestellt werden muß, übernehmen heute zumindest teilweise Computer. Um die Verbrauchs- und Emissionswerte von Otto-Motoren zu optimieren, werden in der VW-Entwicklungsabteilung die Brennräume von Motoren systematisch variiert. Weil der Bau von Versuchsmotoren jedoch sehr teuer und zeitaufwendig ist, gehen die Entwickler mehr und mehr dazu über, die Experimente durch numerische Berechnungen zu unterstützen oder durch Simulationen ganz zu ersetzen.

Im Flugzeugbau können Simulationen die in Anschaffung und Betrieb sehr teuren Windkanäle ersetzen, indem die Umströmungen von Tragflächen im Computer ermittelt werden. Ohne immer wieder neue Modelle bauen zu müssen, lassen sich so unterschiedliche Versionen von Profilen im Computer nachbilden und ihr Strömungsverhalten ermitteln. Die Beispiele für Anwendungen von Supercomputern ließen sich beliebig fortsetzen: So sind sie auch in der Seismik, der Strukturanalyse (Finite-Element-Methoden) oder der Klimaforschung inzwischen unentbehrlich geworden.

Supercomputer sind in der Datenverarbeitung immer noch eine recht exklusive Gruppe: Je nach Abgrenzung zu anderen Computern dürften heute weltweit erst 200 bis 500 dieser "Number-Cruncher" installiert sein. Auch der Kreis der Anbieter ist noch recht elitär, nur wenige Unternehmen teilen sich in dieses Marktsegment: Die US-Hersteller Cray mit einem Löwenanteil von etwa 65 Prozent und Control Data mit zirka 15 Prozent sowie die drei japanischen Hersteller Fujitsu (in Europa von Amdahl und Siemens vertreten), Hitachi und NEC. Im Herbst 1985 ist auch IBM mit einer wirtschaftlich interessanten Version der Supercomputergilde beigetreten. Nach Ansicht von Branchenkennern dürfte sich dadurch die Supercomputerlandschaft grundlegend verändern, da bis Ende 1986 mehrere hundert Systeme IBM 3090-VF weltweit installiert sein sollen. Die erste 3090-VF in Deutschland wurde Mitte 1986 bei der Gesellschaft für Schwerionenforschung in Darmstadt in Betrieb genommen.

Beim Einsatz von Supercomputern sind die USA mit nahezu zwei Dritteln aller Installationen führend, gefolgt von Japan, Großbritannien, Frankreich und Deutschland. Von den in der Bundesrepublik in Betrieb befindlichen 15 bis 20 Supercomputern arbeiten die meisten in Universitäten und Großforschungseinrichtungen, während die deutsche Industrie in der Verwendung dieser Höchstleistungsrechner noch etwas zurückhaltend ist. Rund die Hälfte der hier eingesetzten Supercomputer stammt von Cray. Das Unternehmen hat im Herbst 1986 den derzeit schnellsten Computer Cray-2 an der Universität Stuttgart installiert, die damit über den leistungsfähigsten Rechner Europas verfügt.

Auch unter Experten besteht kein Konsens darüber, was einen Supercomputer von anderen Großrechnern unterscheidet. Eine völlig eindeutige Definition gibt es nicht. Doch haben sich in den vergangenen Jahren gewisse Grundmerkmale herausgebildet, die einen Supercomputer charakterisieren. Danach sind Supercomputer sehr schnelle Rechner, die mit einem einzigen Befehl große Operandenfelder ("Arrays") abarbeiten können. Aus diesem Grund tauchen auch die Begriffe "Array-Computer" oder "Feldrechner" auf. Etwas unglücklich ist der Ausdruck "Parallelrechner", der eine erst jetzt einsetzende Entwicklung auf dem Gebiet der Supercomputer vorwegnimmt.

Gleiche Vorschriften für Operandenfelder

Operanden nennt man die zu bearbeitenden Daten. Operandenfelder sind Mengen von Einzeldaten, in der Meteorologie beispielsweise die gemessenen Luftdruckwerte an vielen Punkten eines Vorhersagegebietes, die alle nach den gleichen Rechenvorschriften bearbeitet werden. Da die Mathematiker solche Operandenfelder als "Vektoren" bezeichnen, hat sich für die derzeit bekannten Supercomputer der Begriff "Vektorrechner" als Standardbezeichnung eingeführt. Wer im Mathematikunterricht gelernt hat, ein Vektor sei eine gerichtete Größe, kann sich ein solches Operandenfeld als Riesenvektor vorstellen. Sehr viele technisch-wissenschaftliche Aufgaben lassen sich als Vektoroperationen darstellen, die dann von Vektorrechnern besonders effektiv bearbeitet werden können.

Die heute als Universalrechner bekannten Computer gehören zum Typ der Skalarrechner. Eine einzelne Zahl nennt der Mathematiker einen Skalar. Bei Skalaroperationen muß zu jedem Operandenpaar ein Befehl aufgerufen und entschlüsselt werden. Dieser Vorgang kostet Zeit. Wenn sich dagegen Aufgaben "vektorisieren" lassen, kann mit einem in der Geschwindigkeit einem Skalarrechner vergleichbaren Vektorrechner durch das Bearbeiten großer Operandenfelder mit einem einzigen Befehl ein Mehrfaches an Leistung erzielt werden.

Warum sind Vektorrechner so schnell? Abgesehen von der Möglichkeit, große Operandenfelder mit nur einer Instruktion bearbeiten zu können, bauen die Vektorrechner auf bekannten Rechnermerkmalen auf, die in der Regel jedoch für höhere Leistungen ausgelegt sind.

So bestimmen wie bei allen Computern die integrierten Halbleiterschaltungen maßgeblich die Geschwindigkeit. Doch während beispielsweise die Zykluszeit (Grundtakt, nach dem alle Schaltungen arbeiten müssen, um ein sinnvolles Zusammenspiel zu erreichen) der Cray-2 rund vier Nanosekunden beträgt, liegt sie bei der Amdahl 5890-300, einem der leistungsfähigsten Skalarrechner, bei 15 Nanosekunden, ist also fast viermal so lang.

Wesentlich für die Leistungsfähigkeit eines Rechners ist auch das Zusammenwirken von Recheneinheit und Speicher, der die zu bearbeitenden Daten liefert. Da Arbeitsspeicher deutlich langsamer sind als die Rechenwerke, versucht man durch verschiedene Tricks, diesen "Flaschenhals" in einem Computer zu entschärfen. Eine solche Maßnahme ist beispielsweise das Einfügen eines kleinen, aber schnellen Pufferspeichers zwischen Hauptspeicher und Rechenwerk. Mit bestimmten Techniken läßt sich dann erreichen, daß der größte Teil der vom Rechenwerk benötigten Daten bereits in diesem schnellen Pufferspeicher vorhanden ist. Pufferspeicher finden sich auch in Skalarrechnern, doch spielen sie bei Vektorrechnern, die auf einen schnellen Zufluß der zu bearbeitenden Operandenfelder angewiesen sind, eine besonders wichtige Rolle. Auch die Breite der Datenpfade zwischen Speicher und Rechenwerk, das heißt die Menge der Daten, die je Zeiteinheit übertragen werden kann, wirkt sich auf die Geschwindigkeit eines Vektorrechners aus.

Den größten Leistungsgewinn erreichen heute Vektorrechner jedoch durch das Pipeline-Verfahren. Man versteht darunter wie in der Fließbandtechnik das Aufteilen einer bestimmten Aufgabe auf verschiedene Bearbeitungsstationen. Damit lassen sich je Zeiteinheit, das heißt je Rechnerzyklus, mehr Arbeitsschritte erledigen als mit konventionellen Verfahren, bei denen eine neue Arbeitsfolge erst dann beginnen kann, wenn die vorhergehende abgeschlossen ist. In Abhängigkeit von der Anzahl der Bearbeitungsstationen einer Pipeline läßt sich schon bei nur einer Pipeline in einem Rechnerzyklus ein Resultat je Station (sonst erst nach mehreren Zyklen) erhalten. Durch mehrere parallel arbeitende Pipelines vervielfacht sich dieses Ergebnis. Auch in vielen Universalcomputern wird heute das Pipelining benutzt. Da in einem Vektorrechner jedoch anders als im Skalarrechner keine Einzeloperanden, sondern ganze Felder von Operanden mit einem einzigen Befehl behandelt werden, bringt das Vektor-Pipelining einen wesentlich größeren Leistungsgewinn.

Wie bei Skalarrechnern gibt es auch bei Vektorrechnern Mehrprozessor-Versionen. Anlagen mit bis zu 16 Rechnern sind bekannt. Sie sollten jedoch nicht mit den noch später zu behandelnden Parallelrechnern verwechselt werden, die bis zu mehrere tausend Mikroprozessoren enthalten können.

Leistungszahlen kritisch bewerten

Eine - allerdings nur unter Vorbehalt geltende - Leistungsangabe für Vektorrechner ist die maximale Anzahl der in einer Sekunde ausführbaren Gleitkommaoperationen. Sie beträgt beispielsweise für die VP-200 von Fujitsu 530 Megaflops (Millionen Floating-Point-Operationen pro Sekunde) und für die Cray-2, den derzeit schnellsten Supercomputer, 1200 Megaflops. Mit Vorsicht zu genießen sind diese Angaben deshalb, weil sich die Leistungszahlen nur dann erreichen lassen, wenn ausschließlich mit Vektoren gearbeitet wird, was jedoch in der Praxis nicht der Fall ist. Zu jeder Rechnung mit Vektoren gehören auch skalare Operationen, das heißt, daß in der Regel einem Vektorrechner ein Skalarrechner vorgeschaltet sein muß.

Das bedeutet aber auch, daß die von den Herstellern genannten Leistungszahlen in der Praxis nie erreicht werden können. Schon 1967 machte der amerikanische Computerwissenschaftler Gene Amdahl auf einen fundamentalen Zusammenhang aufmerksam: Der in allen - auch mit umfangreichen Vektoroperationen laufenden - Programmen enthaltene Skalaranteil hat einen exponentiell wachsenden Einfluß auf die Leistungsminderung des Gesamtprogramms bezogen auf die theoretisch erreichbare Nennleistung. Amdahl hat diese Zusammenhänge in einer als "Amdahl's Law" bekannten Formel festgehalten, die das Verhältnis von Vektor- zu Skalarleistung als entscheidend für die Gesamtleistung herausstellt.

Jeder Anwender muß sich deshalb bei den nicht unbeträchtlichen Summen, die für Vektorrechner auszugeben sind, sehr genau überlegen, ob sich für seine anstehenden Aufgaben die Anschaffung auch lohnt. Er muß als erstes danach fragen, wie hoch der Vektorisierungsgrad seiner Programme ist. Der Vektorisierungsgrad ist das Verhältnis vektorisierbarer Anteile der Rechenzeit zur Gesamtrechenzeit auf einem Universalrechner. Typische Vektorisierungsgrade liegen beispielsweise in der Seismik bei 60 bis 80 Prozent, in der Strukturanalyse bei 50 bis 98 Prozent, in der Bildverarbeitung bei 70 bis 95 Prozent oder bei CAD-Anwendungen bei 40 bis 70 Prozent.

Ein wesentliches Problem für Vektorrechner bildet die "Vektorisierung" der Programme, da viele wissenschaftliche Programme für Universalrechner bereits vorliegen und nun für die spezielle Struktur der Vektorrechner umgesetzt werden müssen. Es gibt dafür automatisch vektorisierende Compiler, sogenannte "Auto-Vektorizer", die vorliegende Programme zunächst auf ihre Eignung zur Vektorisierung untersuchen und dann die für geeignet befundenen Teile automatisch vektorisieren. Leider lassen sich nicht alle Programmierungsprobleme für Vektorrechner mit solchen automatischen Systemen lösen. Viel hängt immer noch von der Geschicklichkeit und Erfahrung der Programmierer ab, die letztendlich darüber entscheiden, wie effizient ein Vektorrechner genutzt werden kann.

Wird die Zukunft von Parallelrechnern bestimmt?

Die derzeit absehbare Zukunft auf dem Gebiet der Supercomputer zeigt sich eher konservativ, das heißt auch die neuen Höchstleistungsrechner werden den Vektorrechnern zuzuordnen sein. So entwickelt die Control-Data-Tochter Eta Systems den Vektorrechner ETA 10. Eine Zwei-Prozessor-Version sollte noch im letzten Jahr in den USA installiert werden. Als erster Auftraggeber außerhalb der Vereinigten Staaten hat der Deutsche Wetterdienst in Offenbach für rund 44 Millionen Mark jetzt ebenfalls eine ETA 10 bestellt. Von einer für 1987 angekündigten Acht-Prozessor-Version erwartet man eine Nennleistung von 10 Gigaflops. Mit einer Cray-3 wird für 1988 gerechnet. Von ihr ist allerdings noch nicht viel mehr bekannt als die von Fachleuten als "geradezu traumhaft" bezeichnete Zykluszeit von einer Nanosekunde. Auch die japanischen Hersteller arbeiten an Nachfolgemodellen ihrer jetzigen Supercomputer.

Andere Firmen versuchen, die Lücke zwischen Supercomputern und Superminis mit Systemen zwischen 10 und 100 Megaflops Rechnerleistung zu schließen. Hierzu zählen beispielsweise Alliant Computer Systems, deren Rechner von Apollo Domain vertrieben werden, und die Convex Computer Corporation. Nicht vergessen werden sollte Floating Point Systems, die seit Jahren ihre Array-Prozessoren als Zusatz zu existierenden Hosts vermarktet.

Auch die Parallelrechner, die jetzt zunehmend ins Gespräch kommen, werden für das Bearbeiten größerer Operandenfelder entwickelt. Doch während Vektorrechner immer noch Ähnlichkeit mit Universalcomputern haben, zeichnen sich Parallelrechner durch eine Vielzahl (man spricht von Hunderten bis Tausenden) parallel arbeitender Prozessoren aus. Diese Prozessoren können in unterschiedlicher Form zusammengeschaltet sein, beispielsweise als Matrix, als Kubus oder als hierarchisches Netz.

Die Wissenschaftler hoffen, durch solche Parallelrechner die immer noch dominierenden "Von-Neumann-Rechner" mit dem berüchtigten "Von-Neumann-Flaschenhals" zwischen Rechenwerk und Speicher ersetzen zu können. Sie handeln sich damit jedoch statt eines großen Flaschenhalses viele kleine Flaschenhälse ein, denn jeder der verwendeten Prozessoren arbeitet immer noch nach dem "Von-Neumann-Prinzip".

Parallelcomputer können entweder als SIMD-Rechner (Single Instruction, Multiple Data) oder als MIMD-Rechner (Multiple Instruction, Multiple Data) arbeiten. SIMD-Rechner haben eine zentrale Instruktionseinheit, der sich alle Prozessoren unterzuordnen haben. Das führt zu einer synchronen Arbeitsweise. Der schon seit Jahren bekannte und 1986 an der Universität Erlangen-Nürnberg von ICL installierte DAP2 mit 32 x 32 matrixförmig angeordneten Prozessoren verwendet beispielsweise das SIMD-Prinzip.

Im Suprenum arbeiten die Prozessoren asynchron

In einem MlMD-Rechner dagegen arbeiten alle Prozessoren autonom und deshalb asynchron. Bei dem vom Bundesminister für Forschung und Technologie geförderten Parallelrechner "Suprenum" haben sich die Wissenschaftler trotz der Fülle der noch ungelösten Probleme für das risikoreichere MlMD-Prinzip entschieden. Ziel von Suprenum ist es, mit einem System aus n parallelen Prozessoren eine Aufgabe im Vergleich zu einem einzelnen Prozessor mit n-facher Geschwindigkeit lösen zu können. Voraussetzung für diese Leistungssteigerung ist allerdings das Aufteilen der anstehenden Probleme in gleichzeitig zu erledigende Aufgaben. Die Forscher sprechen von "Parallelisierung". Zwar sind viele der auf Computern zu lösenden Probleme ihrem Ursprung nach paralleler Natur, doch da jahrhundertelang die "sequentielle" Mathematik vorherrschte, fällt das Umdenken, das heißt das Suchen nach dem Parallelismus in anstehenden Aufgaben, heute noch schwer. Das bestätigen auch die am Suprenum-Projekt beteiligten Wissenschaftler.

1988 soll Suprenum in einer ersten Version mit 256 Mikroprozessoren als funktionsfähiger Prototyp vorgestellt werden. Weitere Entwicklungen, insbesondere hinsichtlich höherer Rechengeschwindigkeit und weiterentwickelter, allgemein einsatzfähiger Software, sind für Suprenum-2 vorgesehen.

Werden die Parallelrechner das Rennen machen? Professor Dr. Hans-Werner Meuer, Rechenzentrumsleiter der Universität Mannheim, formulierte die Antwort anläßlich eines Supercomputerseminars Mitte 1986 in Mannheim folgendermaßen: "Alle Newcomer auf dem Gebiet des Supercomputing müssen erst beweisen, daß sie in der Lage sind, marktreife Produkte zu produzieren. Industriellen Kunden sind keine Eintagsfliegen zuzumuten."