Parallelrechner kontra Vektorrechner Noch koennen Parallelrechner den Vektorrechnern nicht Paroli bieten

24.12.1993

Heftige Diskussionen werden derzeit in der Fachwelt gefuehrt, welche Rechnertypen, moderat parallele Vektorrechner oder massiv- parallele Systeme, am leistungsfaehigsten sind. Eine gute Basis fuer eine genaue und fundierte Betrachtung liefert ueblicherweise ein Benchmarktest. Uwe Harms* stellt Programme und Resultate des NPB- Tests vor.

Das bekannte Team David Bailey, Eric Barszcz, Leonardo Dagum und Horst Simon1, 3 vom NASA Ames Research Center hat schon vor einem Jahr auf der IEEE-Supercomputer-Konferenz in Minneapolis Ergebnisse ihres NAS (Numerical Aerodynamic Simulation) Parallel Benchmark (NPB) auf folgenden Vektor- und Parallelrechnern vorgestellt: Cray Y-MP, Cray Y-MP EL, Cray C-90, BBN TC2000, Intel iPSC/860, TMC CM-2 und CM-200, Meiko CS-1 sowie Maspar MP-1 und MP-2p. Damals fehlten allerdings noch Rechenzeiten von der CM5 von Thinking Machines, der KSR-1-Maschine von Kendall Square Research und auch vom Paragon-Rechner von Intel. Der Benchmark besteht aus acht Programmen.

EP-Programm optimal fuer Parallelrechner geeignet

Die Forscher haben am 28. September 1993 einen Zwischenbericht herausgegeben, der diese Rechner und sogar den neuen Parallelrechner von Cray, die T3D, und bei einigen Tests auch IBMs SP-1-Modell in den Vergleich einbezieht. Leider fehlen noch Ergebnisse beispielsweise von Ncube- und von Parsytec-Systemen. Doch soll der Benchmark auf andere Systeme erweitert werden.

Beim Vergleich mit den Ergebnissen aus dem vergangenen Jahr faellt auf, dass sich bei einigen Rechnersystemen die Ergebnisse erheblich verbessert haben. Das mag wohl an besseren Compilern oder guenstigeren Implementierungen liegen. Die Cray C-90 mit 16 Prozessoren erreichte 1992 beim Embarassingly-Parallel-Benchmark- Programm (vgl. Abbildung 1) einen Beschleunigungsfaktor von 39,56 gegenueber einer Einprozessor-Y-MP, jetzt einen Faktor von 50,27.

Im folgenden Beitrag sollen aus der Vielzahl der Daten, der Leistungsangaben bei unterschiedlicher Zahl der Prozessoren sowie der diversen Rechnertypen einige Ergebnisse herausgezogen, diskutiert und in Tabellen aufgelistet werden.

Der erste Test, das sogenannte Embarassingly-Parallel (EP)- Program, ist geradezu optimal fuer Parallelrechner geeignet. Aus Gaussschen Pseudo-Zufallszahlen werden zweidimensionale Statistiken akkumuliert, ein typisches Problem fuer Monte-Carlo-Anwendungen. Dieses Schema benoetigt fast keine Kommunikation zwischen den Prozessoren und kann nach Einschaetzung der Autoren als obere Schranke der Rechenleistung der verschiedenen Systeme angesehen werden.

Diese Spitzenleistung wird oft aber nicht erreicht, da verschiedene mathematische Fortran-Funktionen (intrinsic functions) der Hersteller benoetigt werden. Beispielsweise AINT (liefert den ganzzahligen Anteil einer reellen Zahl), SQRT (Quadratwurzel) und LOG (natuerlicher Logarithmus) sind nicht auf allen Rechnern optimal implementiert. Die Ergebnisse des Tests haben im wesentlichen die einzelnen Rechnerhersteller selbst geliefert.

Neben den Rechenzeiten auf den einzelnen Systemen ist auch das Verhaeltnis zur Cray Y-MP mit einem Prozessor angegeben. Da auf der Cray eine Rechenleistung von 211 Mflops (Millionen Gleitkommaoperationen pro Sekunde) beim Programm EP erzielt wurde, lassen sich daraus die erzielten Rechenleistungen auf den anderen Systemen abschaetzen. Die theoretische Spitzenleistungen wurden aus den Tabellen von Jack Dongarra2 entnommen.

Die Workstation-Cluster sind ueber Ethernet verbunden, als Betriebssystem wird die Version 2.4 von PVM verwendet. Das gemischte Cluster besteht aus 16 Sparc-1-Maschinen, einer PC- und einer Sparc-2-Workstation sowie elf SLC-Systemen jeweils von Sun. Hinzu kommen drei RS/6000-Modell-550-Rechner von IBM sowie eine RS/6000, Modell-530 und schliesslich ein Next-Rechner.

An den Zahlen fuer die Workstation-Cluster erkennt man, dass ihre Leistungsfaehigkeit doch nicht die eines Supercomputers ersetzen kann. Das RS/6000-500-Cluster bietet theoretisch die gleiche Spitzenleistung wie ein Prozessor der Cray Y-MP, erreicht in der Praxis - trotz geringer Kommunikation - aber nur 15 Prozent davon.

Was kann man aus diesen Zahlen noch folgern? Das Programm EP ist tatsaechlich fuer Parallelrechner optimal geeignet. So betraegt etwa der Beschleunigungsfaktor bei der CM-5 von Thinking Machines beim Wechsel von 32 auf 512 Prozessoren 15,4, der theoretisch moegliche Wert waere 16. Aehnliche Ergebnisse sind auch bei den anderen Rechnersystemen zu erkennen.

Signifikanter Unterschied bei tatsaechlicher Leistung

Ein signifikanter Unterschied zwischen Vektorrechnern und massiv- parallelen Systemen zeigt sich in der tatsaechlich erreichten Leistung im Vergleich zur theoretischen Spitzenleistung. Nur die Maspar-Systeme erzielen einen aehnlichen Nutzungsgrad wie die Vektorrechner, naemlich zwischen 50 Prozent und 70 Prozent. Die Parallelrechner vom MIMD-Typ bescheiden sich mit nur 13 bis 30 Prozent.

Das bedeutet, dass ueber die Laufzeit des Programms EP zwischen 70 Prozent und 87 Prozent der Ressourcen nicht ausgelastet werden. Bei den Parallelrechnern stehen also noch erhebliche Leistungsreserven bereit, wenn man die Werte der Vektorrechner erreicht.

Kommunikation kostet - wie man ersehen kann - Zeit, was sich an der Halbierung der prozentualen Auslastung fast aller Parallelrechner belegen laesst. Das gute Abschneiden der Maspar- Systeme zeigt auch, dass die Verfahren in diesem Benchmark datenparallele Strukturen unterstuetzen.

Beim konjugierten Gradienten-Benchmark wird der kleinste Eigenwert einer grossen, schwach besetzten symmetrischen Matrix (Sparse- Matrix) mit dem Gradientenverfahren approximiert (vgl. Abbildung 3). Dabei werden Sparse-Matrix-Vektormultiplikationen verwendet. Auf Grund der unstrukturierten Gitterberechnung ist ein Datenaustausch ueber grosse Distanzen erforderlich. Ausserdem ist die Kommunikation irregulaer. Damit ist dieser Benchmark-Test eine besondere Herausforderung und ein guter Leistungstest unter weniger guenstigen Bedingungen.

An den Werten der Abbildung 3 ist sehr gut zu erkennen, dass eine schlechte Kommunikationsstruktur allen Parallelrechnern Probleme bereitet und ihre Auslastung drastisch senkt. Natuerlich reduziert sich auch bei den Vektorrechnern die Leistung, doch nicht so dramatisch wie bei den parallelen Systemen.

Die problematischen Konstellationen muessen unbedingt umstrukturiert werden, oder man muss neue Ansaetze und Algorithmen suchen. Hier kann man allerdings auch die Frage stellen, ob das Gradienten-Benchmark-Verfahren fuer Parallelrechner grundsaetzlich geeignet ist. Bei einer dreidimensionalen schnellen Fourier- Transformation mit Kommunikation ueber weit auseinanderliegende Bereiche liegen die Faktoren der Parallelrechner zwischen 1,6 und zwoelf zur Cray Y-MP/1. In diesem Programm ist es den Herstellern uebrigens erlaubt, Unterprogramme aus den eigenen Programmbibliotheken zu verwenden, die Matrizen multiplizieren. Die Erfahrungen der Anwender von Vektorrechnern mit solchen herstellereigenen Assembler-Routinen waren in der Vergangenheit sehr gut, da die Programme sehr schnell waren.

In einem weiteren Benchmark-Programm wird das ganzzahlige Sortieren auf den verschiedenen Systemen verglichen.

In diesem Fall wird keine Gleitkommaarithmetik verwendet. Der Test faellt daher aus dem normalen Rahmen. Die Ergebnisse bei den parallelen Systemen aus den obigen Tabellen liegen im Intervall von 0,3 bis 1,7, verglichen mit der Cray Y-MP, die IBM SP-1 mit 64 Prozessoren ist nur um den Faktor 1,73 schneller. Die Cray T3D faellt aus dem Rahmen, die Faktoren betragen zwischen 3,4 und 6,5 gegenueber der Y-MP, die auch nur eine Spitzenleistung von 68 Mflops aufweist.

Da in diesem Programm sehr stark kommuniziert wird, scheint die Datenuebertragungsleistung der T3D zu diesem guten Ergebnis beizutragen. Auch dieses Programm ist wohl fuer Parallelrechner weniger geeignet. Auf die einzelnen Zahlenwerte soll hier verzichtet werden.

Bei der Nasa spielt naturgemaess die numerische Aerodynamik (Computational Fluid Dynamic = CFD) eine grosse Rolle, so dass drei Programme aus diesem wichtigen Anwendungsbereich in der Benchmark- Suite enthalten sind. Hier finden sich auch die Ergebnisse des Parallelrechners SP-1 von IBM.

Rechenleistung von parallelen Systemen doch nicht so hoch

Das erste Programm wird zwar als LU-Benchmark (lower-upper diagonal) bezeichnet, dahinter verbirgt sich aber ein symmetrisches Ueberrelaxationsverfahren (Iterationsverfahren) zum Loesen linearer Gleichungssysteme mit regulaeren Sparse- und Dreiecksmatrizen (vgl. Abbildung 5). Die Parallelisierungsmoeglichkeiten in diesem Programm sind nicht so gross, verglichen mit den beiden naechsten.

In der zweiten CFD-Anwendung, SP, werden viele unabhaengige Systeme skalarer Pentadiagonalmatrizen (Bandmatrizen mit der Breite 5) geloest (vgl. Abbildung 6). Diese Aufgabe findet sich in den impliziten CFD-Codes bei Nasa in Ames. Das dritte Programm, BT, loest Blocktridiagonalmatrizen mit der Blockgroesse 5, auch BT wird in den impliziten Loesern benoetigt (vgl. Abbildung 7). Sie unterscheiden sich im wesentlichen durch das Verhaeltnis der Kommunikation zur Rechenarbeit.

Als schnellstes System im Test erweist sich der Vektorrechner Cray C-90 mit 16 Prozessoren, waehrend die Parallelrechner doch teilweise erheblich zurueckfallen, wenn eine unstrukturierte Kommunikation zwischen den Prozessoren erforderlich ist. Dies zeigt sich besonders deutlich beim konjugierten Gradienten- Benchmark. So erreicht die Cray T3D trotz eines Faktors 60 in der Spitzenleistung gerade einen Faktor drei in der realen Leistung bei diesem Programm.

Daneben ueberrascht auch, dass die Rechenleistung der parallelen Systeme doch nicht so hoch ist, wie man erwartet haette. Ein Grund dafuer koennte in der Struktur der Daten in den Benchmark-Programmen liegen. Sicherlich sind sie von den Vektorrechnern auf die Parallelrechner uebertragen worden. Bei Vektorrechnern hat der Programmierer darauf geachtet, dass lange Vektoren in komplizierten Ausdruecken verarbeitet wurden. Danach konnte der Compiler die Vektoren optimal auf die Register verteilen, mit den Daten rechnen und parallel dazu neue Daten in freie Register nachladen.

Genau diese Strategie passt nicht fuer die RISC-Prozessoren mit lokalem Cache-Speicher, die ja in den meisten Parallelrechnern verwendet werden. Hier treten dann viele Cache-Fehler auf, es muessen viele Daten zwischen Haupt- und Cache-Speicher bewegt werden. Diesen Effekt kennt man ja auch von virtuellen Rechnern, wenn diese anfangen zu "pagen". Weiterhin ist die hohe Rechenleistung der Cray Y-MP zu beachten. Sie erreicht bei sechs Programmen von NPB eine Sustained-Leistung zwischen 180 und 230 Mflops, abgesehen vom Gradientenverfahren mit 128 und dem ganzzahligen Sortieren.

Um dem Vorwurf zu entgehen, hier wuerden teure und preiswerte Systeme wie Aepfel und Birnen miteinander verglichen, haben die Autoren des Berichts auch die Leistung pro Dollar fuer den EP- und den SP-Benchmark berechnet (vgl. Abbildung 8 und 9). Da Preise im Bereich des High-Performance-Computings individuell diskutiert werden, koennen die Dollar-Angaben in den Tabellen nur eine grobe Abschaetzung der tatsaechlichen Preise sein und somit nur ein Gefuehl fuer die Leistung pro Million Dollar vermitteln.

Ein etwas anderes Bild ergibt sich, wenn man den SP-Benchmark waehlt, der einige Kommunikation erfordert. Wird diese Betrachtung auch fuer den Gradienten-Benchmark durchgefuehrt, fallen die Parallelrechner bis auf das Maspar-System stark gegenueber der Cray C-90 ab. Der Maspar-Rechner erweist sich nach diesen Tabellen vom Preis-Leistungs-Verhaeltnis her als der guenstigste. Das kann aber bei anderen Benchmark-Programmen ganz anders aussehen.

Daher sollten die Ergebnisse des NPB nicht ueberbewertet werden, sondern ein Gefuehl dafuer vermitteln, wo wir in der parallelen Bearbeitung existierender Programme stehen. Auch sollte nicht vergessen werden, dass die Rechenzeiten der Programme relativ niedrig sind. Das Intervall umfasst 12 bis 800 Sekunden auf der Y- MP/1. Die Autoren haben auch schon eine Version mit erheblich mehr Rechenoperationen vorbereitet.

Fazit des Tests: Es ist noch viel zu tun bei den Parallelrechnern bezueglich Hardware, Kommunikationsleistung, optimierenden Compilern, Programmstrukturen und auch Algorithmen. Die zu erwartenden Leistungsgewinne sind dann allerdings sehr gross.

Literatur:

1 David Bailey, Eric Barszcz, Leonardo Bagum, Horst Simon: NAS Parallel Benchmark Results, Interim Report (IX/28/93), RNR Technical Report RNR 1993

2 Jack Dongarra: Performance of Various Computers Using Standard Linear Equa- tions Software, CS-89-85, May 26, 1993

3 David H. Bailey, Eric Barszcz, Leonardo Bagum, Horst D. Simon: NAS Parallel Benchmark Results, Proc. IEEE Supercomputing '92, Minneapolis, S.386-393