Benchmark-Ergebnisse der C 90

Der Anwender hätte sich vom Cray-Topmodell, mehr erwartet

13.12.1991

Erst vor drei Wochen stellte die Cray Research Inc. ihr neues Topmodell, den Y-MP-Nachfolger "C90" vor. Doch schon jetzt werden Stimmen laut, die für den Supercomputer schwere Zeiten aufziehen sehen.

Die einen Marktbeobachter meinen, Crays Architekturkonzept sei überholt, massiv-parallele Topologien gäben den Stand der Technik wieder. Andere rechnen vor, daß Hochleistungs-Workstations - Leistung gegen Preis hochgerechnet am Arbeitsplatz gegenüber einem Superrechner große Vorteile brächten. Der vorliegende Artikel diskutiert kritisch das Leistungsvermögen der C90 selbst. Vorweggenommenes Fazit: Der Anwender hätte sich mehr gewünscht.

Schon 1976 beschaffte das Los Alamos National Laboratory die erste Cray. Auch beim Testen der C 90 hatten die Forscher aus dem US-Bundesstaat New Mexiko die Nase vorn. Der Los-Alamos-Benchmark ist mittlerweile in der Fachwelt bekannt und wird oft bei Rechnervergleichen angeführt.

Margaret Simmons und Harvey Wassermann untersuchten schon im März 1991 einen Zweiprozessor-Prototyp der C 90 und verglichen die Ergebnisse mit der hauseigenen Cray Y-MP. Die unten angegebenen Werte betreffen jeweils einen Prozessor der beiden Supercomputer. Zu dem vorliegenden Artikel und dessen Benchmark-Ergebnissen ist festzustellen, daß die Werte sicherlich nicht unkritisch gewertet werden dürfen. Schließlich handelte es sich bei der geprüften C 90 erst um einen Prototyp.

Grundsätzlich gilt jedoch: Heute spielt nicht nur die Hardwareleistung eine wichtige Rolle - noch größere Bedeutung kommt der Software, insbesondere der Compiler-Leistung, zu. Die höchste arithmetische Leistung bringt wenig, wenn sie nicht vom Compiler für reale Programme umgesetzt werden kann. Von März bis November 1991 kann sich gerade beim Compiler sehr viel getan haben.

Die C 90 ist ja als 16-Prozessor-System mit einer Spitzenleistung von 16 Gflop vorgesehen, von der Prozessorarchitektur entspricht sie im wesentlichen der Cray Y-MP. Intern wurden die arithmetischen Pipelines verdoppelt, das heißt, es gibt zwei Additions- und Multiplikationseinheiten.

Die ungeraden Feldelemente werden in der Pipeline eins, die geraden in der Pipeline zwei verarbeitet. Das ergibt dann bei optimalem Programm vier Ergebnisse pro Takt - gegenüber zwei bei der Y-MP.

Bei zwei unterschiedlichen Vektoradditionen oder Multiplikationen, zum Beispiel E= A x B + C x D wird zunächst die erste und dann die zweite durchgeführt (A, B, C, D, E sind Vektoren). Es ist also in den Pipelines nicht möglich, beide Operationen parallel auszuführen.

Doppelte Speicherbundbreite

Natürlich verdoppelte Cray auch die Speicherbandbreite gegenüber der Y-MP, zwei Load- und eine Store-Pipeline übertragen nun jeweils 128 Bit. Auch die Vektorregisterlänge erhöhte sich von 64 auf 128 Worte.

Die Taktzeit bei der C 90 soll 4 Nanosekunden betragen, der Prototyp war erst bei 4,17 angelangt. Die Cray Y-MP erzielt eine Taktzeit von 6 Nanosekunden, man kann somit einen maximalen Beschleunigungsfaktor von 2,9 erwarten (1,44 durch die Taktzeit und 2,9 durch Verdoppelung der Pipelines). Bei der 4-Nanosekunden-Version müßte dann ein Faktor von drei erreichbar sein.

Aus den vielen Tabellenwerten seien hier einige ausgesucht (siehe die zwei Tabellen) bezüglich der Vektorlänge, der Schrittweite und Rechenoperation (V entspricht Vektor, S einem Skalar).

Bei der Vektorlänge entspricht die Länge 10 einer F-Schleife:

Do 100 I = 1,10

...

die Schrittweite bedeutet:

Do 100 I = 1,N,8

...

Diese Kernprogramme werden gern benutzt, um die optimale Leistung eines Rechners und die Speicherzugriffsprobleme zu testen, insbesondere bei bestimmter Schrittweite. Die Vektorlänge von zehn ist sehr kurz, daher eigentlich für Supercomputer nicht so geeignet. Bei der Vektorlänge 256 reichen gerade die Vektorregister, bei 257 muß noch für das letzte Element nachgeladen werden. Daher reduziert sich die Mflops-Rate bei beiden Rechnersystemen.

Speichersprünge kosten Leistung

Man kann auch sehr gut erkennen, daß bei einer Vektorlänge von 1000 die Leistung gegenüber der Länge 256 deutlich ansteigt.

Bei der Verarbeitung von Indexvektoren (Schleife sechs und sieben) muß natürlich mit Leistungseinbußen gerechnet werden, denn Sprünge durch den Speicher werden immer mit dem Verlust an Spitzenleistung bezahlt.

Bemerkenswert ist der drastische Leistungsabfall der C 90 bei der Schleife mit der Schrittweite acht, der sich bei der Y-MP nicht so gravierend auswirkte Hier gibt es einmal Zugriffsprobleme auf die Sektionen des Hauptspeichers, eine erhöhte Subsektions-Busy-Zeit sowie die höhere Zugriffsrate (zwei Worte pro Takt) wirken sich aus. Das Verhältnis Übertragungsrate Schrittweite acht zu Übertragungsrate Schrittweite eins beträgt bei der Y-MP 0,83, bei der C 90 nur 0,57.

Insgesamt ergibt sich über alle Kernschleifen eine Leistungssteigerung um den Faktor 2,5 bei der Vektorlänge 1000, eine Größe, bei der es sich lohnt, Supercomputer einzusetzen - bei der Vektorlänge zehn bringt er keine Leistung. Man kann aus den Tabellen auch das berühmte Theorem von Hockney ablesen, also die Vektorlänge, bei der der Rechner die halbe maximale Geschwindigkeit erreicht.

Bei einer arithmetischen Operation (beispielsweise nur eine Vektoraddition) auf der C 90 ist die maximale Leistung 500 Mflops, die halbe beträgt also 250 Mflops, und die findet man in der Tabelle bei der Vektorlänge 100. Bei der Y-MP ergeben sich die Werte für eine Operation zu 160 Mflops und als Hälfte davon 80 Mflops, diese Leistung erbringt die Y-MP schon bei einer Vektorlänge um die 50. Hieraus kann man folgern, daß die C 90 erst bei einer Vektorlänge von mehr als 100 ihre Leistung ausspielt.

Die Schrittweitenzeiten (Schrittweite acht) müssen sicherlich gesondert und detaillierter betrachtet werden, denn dort ist das Verhältnis nur 1,5. Man muß gerade bei variabler Schrittweite die Speicherorganisation berücksichtigen und die Frage, ob Speicherbank- oder sonstige Konflikte existieren.

Normalerweise geben die Ergebnisse eines Kern-Benchmarks nur einen groben Überblick über die optimale Leistungsfähigkeit eines Rechnersystems. Erst harte Tests an realen Anwenderprogrammen vermitteln einen vernünftigen Eindruck. Auch der Los-Alamos-Benchmark enthält Annwenderprogramme. Schon vorab sei gesagt, im Mittel ergibt sich ein Beschleunigungsfaktor von 1,8 gegenüber der Cray Y-MP, die Streubreite reicht vom Faktor 1,3 bis hin zu 2,8. Die 15 Programme wurden bis auf zwei, die Compiler-Direktiven zur Vektorisierung oder zur Verhinderung enthalten, nicht gesondert getestet.

Die maximale Steigerung von 2,8 erzielten die Tester in einem Lagrange-Hydrodynamik-Programm. Das Programm ist hochvektorisiert, und der Compiler wurde durch Direktiven unterstützt. Hierbei erreichen die Forscher tatsächlich die maximale Hardwarebeschleunigung. Die fünf Programme mit einem Faktor größer als zwei haben übrigens eine Vektorlänge von mindestens 256, meistens sind sie größer.

Das schlechteste Programm mit nur 1,3facher Beschleunigung ist FFT mit Vektorlängen im Bereich voll zwei bis 64. Die anderen Programme leisen einen geringeren Vektorisierungsgrad auf und erreichen einen Faktor, der etwas besser ist als das Verhältnis der Taktzeiten.

Zusammenfassend kann man sagen, daß die C90 lange Vektoren und hochvektorisierbare Programme benötigt, um gegenüber der Cray Y-MP ihre bessere Taktzeit und die doppelten Pipelines auszuspielen. Bei gering vektorisierten Programmen helfen die doppelten arithmetischen Pipelines wenig. Auch das Verhältnis von Speicherbandbreite zur Rechengeschwindigkeit ist ausgewogen. Über zwei Lade- und eine Speicheroperation können also drei Vektoren bewegt werden.

Die Registerlänge wurde z(...) verdoppelt, wirkt sich aber durch die doppelten Pipelines im Endeffekt nicht aus. Hier hätte sich der Anwender mehr gewünscht, denn gerade Reichenoperationen im Bereich der Registerspeicher ohne Hauptspeicherzugriff sind extrem schnell.