Supercomputer-Benchmarks: Linpack in der Kritik

Kritik am Linpack Benchmark

Der Linpack Benchmark bewertet Systeme nur an Hand der erzielten Geschwindigkeit beim Lösen von linearen Gleichungssystemen. Obwohl das Lösen eines linearen Gleichungssystems häufig in wissenschaftlichen und technischen Anwendungen auftritt, repräsentiert der Linpack Benchmark eine untypische Anwendung.

Beim Linpack Benchmark werden voll besetzte („dense“) Gleichungssysteme gelöst. Dabei sind die meisten Einträge der Matrix von Null verschieden. Die Anzahl der benötigten Operationen bei einem Gleichungssystem mit N Unbekannten und N Gleichungen liegt dabei in der Größenordnung von N^3.

Bei den meisten realen Anwendungen müssen jedoch dünn besetzte („sparse“) Gleichungssysteme, bei denen die meisten Einträge gleich Null sind, gelöst werden. Dazu existieren Verfahren, bei denen die Anzahl der benötigten Operationen deutlich langsamer wächst, zum Beispiel quadratisch oder sogar nur linear.

Dadurch müssen die CPUs zwar weniger rechnen, der Aufwand zum Abgleich der Daten bleibt aber gleich. Daher bestimmt die Geschwindigkeit des Speicherzugriffs die zum Lösen benötigte Zeit bei einer sparse Matrix wesentlich stärker als bei voll besetzten Systemen. Ein Beispiel für einen Benchmark, der dies berücksichtigt, ist der von Jack Dongarra und Henk van der Vorst entwickelte SparseBench, mit dem die Leistung eines Systems bei der Lösung eines dünn besetzten linearen Gleichungssystems mit einem so genannten Krylov-Unterraumverfahren bewertet wird.