Nicht so geheimnisvoll

02.08.1991

Betrifft CW Nr. 29 vom 19. Juli 1991, Seite 14: "Mitglieder der SPEC-Gruppe tricksen bei den Benchmarks"

Ganz so dramatisch und geheimnisvoll, wie die Vorgänge in dem Artikel dargestellt werden, sind sie wohl letztendlich nicht. Ich kann zwar keine Aussagen über die Compiler-Techniken von HP und IBM machen, vermute aber, daß sie den bei Control Data verwendeten Techniken sehr ähnlich sind.

Auch bei Control Data erreicht der neue Fortran-Compiler statt den bisherigen 51,9 nun stolze 180 SPECmarks, das entspricht einer Steigerung um den Faktor 3,5.

Dies hat jedoch weder mit Magie noch mit Tricksen zu tun. Hintergrund ist vielmehr, daß wir für unseren neuen Multiprozessor einen parallelisierenden Compiler entwickeln mußten.

Dieser Compiler ergibt sogar bei Monoprozessoren für vektorisierbare Programme wie Matrix 300 und andere eine erhebliche Leistungssteigerung. Die dabei verwendeten Techniken sollen nicht verschwiegen werden. Es sind zum Beispiel

- Tausch von innerer und äußerer Schleife,

- Tausch der Laufvariablen, um aufeinanderfolgende Variablen zu bekommen,

- "Inlining" von Subroutinen,

- Optimierung entsprechend der jeweiligen Größe des Datencaches der einzelnen Rechnermodelle.

Diese Vorgehensweise kommt der ganzen Klasse von vektorisierbaren Programmen zugute. So haben sich beispielsweise auch die Werte für die Programme Nasa7 und Tomcatv aus der SPEC-Suite verbessert.

Einige Programme wie Fppp und Doduc sind nicht oder nur schwer vektorisierbar, sie "stehen". Andere wie zum Beispiel Li, Eqbtott, Gcc und Espresso enthalten fast keine Gleitkommaoperationen und stehen damit für Anwenderprogramme, bei denen Gleitkomma nur eine geringe Rolle spielt.

Die Leistung eines RISC-Rechners wird eben nicht alleine durch die Geschwindigkeit der Arithmetik bestimmt. Ebenso wichtig ist, wie der Compiler diese Arithmetik durch geschickte Befehlsumordnung ausnutzt und wie optimal der Zugriff und der Inhalt der Datencaches organisiert ist. Dies kann auf der gleichen Hardware durchaus einen Leistungsfaktor von 10 ausmachen!

SPEC veröffentlicht die Ergebnisse zusammen mit einer Beschreibung der Einzelprogramme. Jeder Anwender aus dem technischen Bereich kann sicherlich sagen, in welche Gruppe sein Hauptrechenbedarf fällt, und ist damit in der Lage, zu entscheiden, welche Architektur und welcher Rechner für ihn die beste Leistung bringt.

Philipp Schaumann, Produktmanager bei Control Data GmbH, 6000 Frankfurt 70