Symposium über Superrechner und Chemie:

Kluft zwischen Hardware und Software

26.09.1980

MÜNCHEN (rs) - Über Supercomputer und Chemie fand Ende August ein Symposium in Las Vegas/Nevada statt. Im Rahmen dieses Symposiums trafen sich Hersteller und Anwender von Supercomputern. Im Verlauf der Veranstaltung trat die tiefe Kluft zwischen Hard- und Software zutage. Wolfgang Schmidt nahm an dem Symposium teil und berichtet über Verlauf und Ergebnisse.

Die angesprochenen Supercomputer waren die Cray-1 und Cray-1S, der ACS-Vector-Computer von Texas Instruments, der Scientific Processor von Burroughs, der Attached Array Processor von Floating Point Systems, die Cyber 203 und 205 sowie der Advanced Flexible Processor (AFP) der Control Data Corporation.

Technologisch handelt es sich dabei um Rechner mit Vektoren, Arrays oder Pipelines von Prozessoren sowie Kombinationen mehrerer Formen.

Die Leistungsfähigkeit dieser Rechner variiert leer in einem Bereich von acht MFlops (TI-ASC), 80 MFlops (Cray 1), 800 MFlops (Cyber 205) bis 8000 MFlops (CDC AFP) (MFlops:

Millionen Gleitpunkt-Operationen pro Sekunde). Die großen Universalrechner erreichen im Vergleich dazu 0,5 bis zu einigen MFlops.

Angesichts der hohen internen Geschwindigkeiten kommt der Ein-/ Ausgabe große Bedeutung zu, da diese sonst leicht zum Engpaß wird. So unterscheidet sich die Cray-1S von der Cray-1 wesentlich durch einen zusätzlichen Turm mit I/0-Prozessoren.

Die Cyber 205 wurde mit 16 I/0-Ports zu je 200 MBits Übertragungsrate ausgestattet. Im Falle des CDC-AFP ist die Verwendung eines relativ billigen und verhältnismäßig langsamen MOS-Speichers neben dem schnellen Hauptspeicher als Massenspeicher vorgesehen. Dieser kann bis zu 1000 MB ausgebaut und mit einer Übertragungsrate von mehr als 1000 MBits pro Sekunde angesprochen werden.

Beeindruckende Geschwindigkeit

Einsatzgebiete der Supercomputer sind neben technisch-wissenschaftlichen Projekten Simulationsverfahren wie Windtunnelexperimente, Elementarteilchen-Physik, Quantenchemie Signalaufbereitung - auch Anwendungen im administrativen und militärischen

Bereich für Rechnernetze Datenbanken und andere Großanwendungen, bei denen einige der Array-Rechner dank spezieller funktioneller Einheiten für Peripherie I/0, Memory-I/0, logische Abfragen, Multiplikation und so weiter in jedem der Prozessoren zahlreiche Anforderungen parallel und/oder im Pipelineverfahren bearbeiten können.

Software-Kluft

Noch gravierender als bei den Universalrechnern tritt angesichts der beeindruckenden Verarbeitungsgeschwindigkeit der Superrechner die Kluft zwischen Hard- und Software in Erscheinung. So ist der Fortran-Compiler von Cray zwar 250 000 Programmzeilen je Minute schnell, doch war er laut Benutzerkritik nicht in der Lage, ein Skalarprodukt - Vektor mal Vektor, komponentenweise - wiederzuerkennen, zu vektorisieren und Divisionen vektorisiert auszuführen. Logische Abfragen innerhalb vektorisierbarer Programmteile können den Effekt der Vektorisierung teilweise oder ganz zunichte machen.

Typisch skalare Ideen

Ursache dieser Software-Probleme ist der Einsatz Neumannscher Sprachstrukturen, die für Skalarmaschinen entwickelt wurden, auf den vektoriellen Maschinen. So sind die Programmiertechniken wie Strukturierung oder Auflösen von Matrix-Operationen über geschachtelte DO-Schleifen in Operationen zwischen Elementen typisch skalare Ideen. Die Sprachübersetzer von Vektor- und Array-Prozessoren müssen deshalb die schwierige Aufgabe vollbringen, ursprünglich vektorielle oder parallele Sachverhalte, die vom Programmierer in skalare Algorithmen übertragen wurden, wiederzuerkennen und in vektorielle Form zu übertragen.

Maschinenstruktur bedenken

So wundert die Forderung eines Vertreters von Cray nicht, der Benutzer möge den Rechner nicht nur als Black Box sehen, sondern die Maschinenstruktur mitbedenken und bei seiner Programmierung mit berücksichtigen. Der Hinweis darauf, daß nur vier bis fünf Personen bei der Cray Research Inc. mit der Entwicklung des Fortran-Compilers befaßt sind, läßt hier kaum eine baldige Besserung der Situation erwarten, wenn auch die neueste Version des Cray-Fortran-Compilers einige der größten Schwierigkeiten wie das Erkennen von Skalarprodukten beseitigt.

Grenzen durch ältere Hardware

Lediglich der Software des ASC von Texas Instruments wurde von den Anwendern bescheinigt, daß sie sehr ausgereift und zuverlässig sei. Doch setzt in diesem Fall der Einsatz älterer Hardware-Technologie dem System Grenzen.

Durch die unvollständige Vektorisierbarkeit der verwendeten Algorithmen liegt die tatsächlich erzielte Leistung der Supercomputer unter den möglichen Werten. Im Falle der Cray-1 wurden von den möglichen 80 MFlops 20 bis 60 MFlops erreicht. Dabei

war für die höheren Leistungen die Vorvektorisierung durch den Programmierer beziehungsweise der Einsatz einer maschinennahen Programmiersprache anstelle von Fortran erforderlich.

Als Folge forderten die Benutzer zumindest die Einführung eines herstellerunabhängigen Vektor-Fortrans, gleichzeitig wurde aber davor gewarnt, auf die Verabschiedung einer solchen Sprache durch ANSI beispielsweise zu warten.

Auch in Zukunft Fortran

In einem Symposiumsbeitrag über die Hochsprachensituation für Superrechner wurde angeregt, eine Sprache für vektorielle und parallele Algorithmen in eine existierende skalare Sprache, deren Elemente auch weiterhin benötigt werden, einzubetten. Bei der Untersuchung wurden Fortran als zu wenig mächtig und Pascal als zu schwach im I/0 verworfen. Lediglich PL/1 scheint mächtig -genug, gut strukturierbar und mit vielfältigen I/0-Möglichkeiten ausgestattet, um als Trägersprache zu dienen. Auf die Frage an Cray, welches die Superrechnersprache der 90er Jahre sein werde, lautete die Antwort: "Es ist noch nicht bekannt, welche Eigenschaften diese Sprache haben wird, aber sie wird Fortran heißen."

Wolfgang Schmidt, Institut für Organische Chemie an der Universität Münster