Vergleichbarkeit in Gefahr oder unsinnige Rangliste? Kritik an Linpack-basiertem Ranking der Top500
Beim jüngsten „Top500“-Ranking der Supercomputer ist die Messlatte ein nach Ansicht von Experten völlig überholter Benchmark-Test namens Linpack beziehungsweise HPLinpack. Er wird nur noch aus historischen Gründen beibehalten, hat sich aber zuletzt weiterentwickelt. Eine moderne Alternative ist der HPCG-Benchmark-Test.
Anbieter zum Thema

Die jüngste Top500-Rangliste der Supercomputer beruht auf einem Benchmark-Test, dessen Grundlagen schon seit Jahren kritisiert werden. Der Linpack-Test, entwickelt von Jack Dongarra, einem der Macher der Top500-Liste, stammt aus dem Jahr 1979.
Das LINear System PACKage ist eine Fortran-Library zur Lösung linearer Gleichungssysteme. Das Ergebnis wird in Gleitkommaoperationen pro Sekunde (FLOPS, Floating Point Operations per Second) angegeben.
„Der Linpack-Benchmark misst etwas, das man in der heutigen Praxis nicht mehr verwendet, etwas, das man in den achtziger Jahren des vorigen Jahrhunderts verwendete“, merkt Michael Resch, Leiter des Höchstleistungsrechenzentrums Stuttgart (HLRS) an.
Sinnentleerte Rechnerei
Resch weiter: „Bei Linpack hat man gesagt: 'Wir nehmen so ein kleines Gleichungssystem, das voll besetzt ist, und versuchen, auf einfache Weise eine Gleichung durch Vorwärts- und Rückwärts-Elimination zu lösen, bis x ein Ergebnis liefert.' Das ist eine sehr ineffiziente Methode", kritisiert Resch. „Das ist ungefähr so, als würden Sie im Straßenbau sagen: 'Der Benchmark besteht darin, dass zehn Arbeiter mit dem Spaten in der Hand einen Graben von x Metern Länge in der Zeit Y ausheben.'“
Er schimpft weiter: „Das ist super, aber das tut heute keiner mehr; denn heute geht das mit dem kleinen Bagger. Wenn man heute zu den zehn Arbeitern sagen würde: 'Macht das mal mit einer neuen Schaufel', um zu sehen, ob das nicht doch etwas schneller geht, dann spielt das überhaupt keine Rolle mehr.“
Wovon ist die Rede? Der Linpack Benchmark besteht aus drei Teilen:
- 1. Fortran n = 100 Benchmark. Hier wird die Zeit gemessen, die ein Rechner benötigt, um eine voll besetzte 100x100-Matrix zu faktorisieren und ein Gleichungssystem mit Hilfe der Zerlegung zu lösen.
- 2. Linpack n = 1000 Benchmark (TPP/ Toward Peak Performance, Best effort): Hier ist eine 1000x1000 Matrix zu lösen. Der Lösungsalgorithmus (()) kann frei gewählt und in einer beliebigen Sprache implementiert werden
- 3. Linpack’s Highly Parallel Computing (HPC) Benchmark: Die Dimension des voll besetzten Gleichungssystems ist beliebig. Bedingung ist nur, dass eine gültige Lösung mit der vorgegebenen Genauigkeit ermittelt wird, die Rahmenbedingungen sind die gleichen wie in Test 2.
„Man misst immer noch mit Linpack, weil er den Standard in der Top500-Liste darstellt, damit die Messergebnisse vergleichbar bleiben", erläutert Michael Resch. „Man kann dann sagen, dass ein System im Jahr 2019 eine Leistung aufweist, die um den Faktor X höher ist als beispielsweise im Jahr 1995.“ Das sei zwar ein sinnvoller Ansatz, aber für die Fragen 'Ist ein System produktiv?' oder 'Ist ein System im Hinblick auf die Anforderungen leistungsfähig, die wir heute haben?' sollte man seiner Einsachätzung zufolge den Linpack auf keinen Fall heranziehen.
Lapack
Mittlerweile gilt der Linpack-Benchmark als überholt, als Nachfolger gilt LAPACK (Linear Algebra Package), das vor allem für Shared-Memory- und Vektor-Supercomputer geeignet ist und auf diesen auch performanter läuft. Lapack ist eine Programmbibliothek, die Algorithmen aus der numerischen linearen Algebra enthält. Die Bibliothek umfasst effiziente Routinen zur Lösung linearer Gleichungssysteme, linearer Ausgleichsprobleme und von Eigenwertproblemen.
Als Hilfsbibliothek nutzen die Routinen in Lapack für elementare Operationen der linearen Algebra das Softwarepaket Basic Linear Algebra Subprograms (BLAS). In BLAS werden beispielsweise moderne Cache-Techniken effektiv umgesetzt. Portierungen von BLAS können auf neuere oder speziellere Architekturen zugeschnitten werden, deren Vorteile so sofort in Lapack nutzbar werden.
High-Performance Linpack (HPL)
Doch im Hinblick auf die Vergleichbarkeit der Benchmark-Ergebnisse wurde der Linpack-Test gegenüber Lapack bevorzugt, allerdings in einer speziell modifizierten Ausformung als High-Performance Linpack (HPL). Dies ist die moderne Grundlage der Top500-Liste.
HPL erzeugt, wie gewohnt, ein lineares Gleichungssystem der Ordnung N und lässt damit ein paar trickreiche Dinge anstellen. Der Knackpunkt: Dabei wird relative aufwändige Double-Precision-Mathematik genutzt.
Wer sich aber schon einmal die Leistungsmerkmale einer heutigen GPU angesehen hat, weiß, dass dort auf Single- und sogar Half-Precision-Mathematik umgeschaltet werden kann. Der Vorteil besteht in einer vielfach höheren Ausführungsgeschwindigkeit für die mathematischen Aufgaben. Weil aber in fast allen modernen Supercomputern GPUs verbaut sind, insbesondere bei den führenden Hybridsystemen Summit und Sierra, erscheint Double-Precision mittlerweile als wenig sinnvoll.
„In der Zwischenzeit werden in der klassischen Simulation – wie etwa für Strömungsmechanik - andere Methoden verwendet, die erheblich schneller sind und die auf dem Rechner dann eine andere Effizienz aufweisen“, gibt Resch zu bedenken. „Bei der Teilchensimulation – die stark im Kommen ist - gehen wir sowieso weg vom klassischen Prozessor (CPU) in Richtung Beschleuniger, typischerweise Grafikkarten (GPU).“ Also sind auch FPGAs als Beschleuniger keineswegs aus dem Rennen.
HPL-AI Linpack
Aufgrund dieser Entwicklung wird in der jüngsten Rangliste vom Juni 2019 ein Benchmark namens HPL-AI angewandt, der auf Mixed-Precision-Mathematik basiert, die in KI-Modellen zur Geltung kommt. Die Ergebnisse: „Summit“ und „Sierra“ sowie ähnliche hybride Systeme schlagen den Rest des Feldes um Längen.
„Mixed-Precision-Techniken", sagte Jack Dongarra, „sind bedeutsamer geworden, was die Verbesserung der Berechnungseffizienz von Supercomputern anbelangt, sowohl im Hinblick auf traditionelle Simulationen mit iterativer Verfeinerung, als auch für KI-Anwendungen.“
Nvidia und die Oak Ridge National Laboratories (ORNL) haben den HPL-AI-Benchmark auf Summit, der Top500-Nummer-eins, getestet. Die 9.216 „IBM Power9“-CPUs und 2.7648 „Nvidia-Volta“-GPUs (die auf ihre Mixed-Precision-Tensor-Core-Fähigkeit zurückgreifen) absolvierten die Testaufgabe in nur einer halben Stunde statt in den 90 Minuten, die sie für den HPL-Test mit Double-Precision gebraucht hatten. Gemessen wurden 445 Petaflops statt bisher 148 Petaflops unter HPL, eine Verdreifachung der Leistung. Nvidia hofft, dass der HPC-AI-Benchmark einen neuen, ergänzenden Standard für das HPC-Feld bilden wird.
HPCG
„Seit den neunziger Jahren gibt es Methoden, die erheblich besser arbeiten“, erläutert Resch. „Inzwischen gibt es etwas Besseres als Linpack, nämlich HPCG.“ Mit dieser komme man dem Ideal sehr nahe, doch sei die Methode noch immer nicht optimal, weil jedes System seine eigene Charakteristik besitze.
Der High Performance Conjugate Gradient-Benchmark (HPCG) wurde von Michael Heroux von den Sandia National Laboratories sowie von Jack Dongarra und Piotr Luszczek von der Universität von Tennessee vorgeschlagen, um die Linpack-Tests zu ergänzen. HPCG ist dafür ausgelegt, die Datenzugriffsmuster realer Anwendungen zu modellieren und auf diese Weise die einschränkenden Effekte des Speichersubsystems und der systeminternen Datenleitungen (Interconnect) eines HPC-Rechners auf seine Rechenleistung zu prüfen.
Weil sich der Datendurchsatz (I/O) wie ein Hemmschuh beziehungsweise Flaschenhals auswirkt, liefern HPCG-Tests im Allgemeinen nur einen Bruchteil der Spitzen-Flop/s-Leistung des jeweiligen Rechners. Seit Juni 2018 hat Summit die Spitzenposition in der HPCG-Rangliste inne, gefolgt von „Sierra“ und dem „K“-Computer (Japan).
(ID:46032489)