Floating Point Operations Per Second

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Gigaflop)
Einheiten der Gleitkommarechenleistung mit SI-Vorsätzen.
kFLOPS KiloFLOPS = 103 FLOPS
MFLOPS MegaFLOPS = 106 FLOPS
GFLOPS GigaFLOPS = 109 FLOPS
TFLOPS TeraFLOPS = 1012 FLOPS
PFLOPS PetaFLOPS = 1015 FLOPS
EFLOPS ExaFLOPS = 1018 FLOPS
ZFLOPS ZettaFLOPS = 1021 FLOPS
YFLOPS YottaFLOPS = 1024 FLOPS

Gleitkommaoperationen pro Sekunde (kurz FLOPS; englisch für

Floating Point Operations Per Second

) ist ein Maß für die Leistungsfähigkeit von Computern[1] oder Prozessoren und bezeichnet die Anzahl der Gleitkommazahl-Operationen (Additionen oder Multiplikationen), die von ihnen pro Sekunde ausgeführt werden können. Häufig wird als FLOP eine Gleitkommazahlen-Operation (englisch

floating-point operation

) bezeichnet, wodurch vereinzelt auch die Variante FLOP/s auftaucht, beide Varianten sind allerdings gleichbedeutend.

Beschreibung

Die Anzahl der Gleitkommaoperationen ist nicht unbedingt direkt zur Taktgeschwindigkeit des Prozessors proportional, da – je nach Implementierung – Gleitkommaoperationen unterschiedlich viele Taktzyklen benötigen. Vektorprozessoren führen in jedem Takt bis zu einige tausend Operationen aus. So erreichen Grafikkarten, die als Vektorprozessoren arbeiten, im Jahr 2020 Rechenleistungen in einfacher Genauigkeit (SP: 32 Bit Float) 30 TeraFLOPS[2], was auch die Motivation für das Auslagern von Gleitkommazahlen-Operation auf den Grafikprozessor (GPGPU) ist. Die Rechenleistung von Supercomputern hängt nicht nur von der Zahl und der Leistung der verwendeten Prozessoren ab, sondern auch von der Art und Geschwindigkeit der Vernetzung der Rechenknoten. Die verwendete Software wie die verwendete Sprache und Compiler spielen ebenso eine große Rolle.

Meist wird, ebenso wie bei der Einheit IPS, eine Best-Case-Abschätzung oder gar ein nur theoretisch möglicher Wert angegeben.

Berechnung

Die theoretische Spitzenleistung (Theoretical Peak Performance) eines einzelnen Rechenknotens lässt sich durch Multiplikation folgender Werte berechnen:

  • Taktfrequenz
  • Anzahl der CPU-Sockel
  • CPU-Kerne pro Sockel
  • min(Befehle die pro Takt angefangen werden können, Anzahl der Rechenwerke/Latenz eines Befehles)
  • Datenworte pro Rechenregister
  • numerische Operationen pro Befehl

Für

  • 2,5 GHz
  • 2 Sockel
  • 24 Kerne
  • 2 angefangene Befehle pro Takt
  • 8 Datenworte pro Rechenregister (256-bit-Register bei single oder 512-bit-Register bei double precision)
  • 2 numerische Operationen pro Befehl (FMA)

erhält man 3,84 TFLOPS.

Rechenleistung von Computersystemen

Die FLOPS eines Computers werden durch definierte Programmpakete (Benchmarks, etwa LINPACK oder Livermore Benchmark) bestimmt. In der Rangliste TOP500 werden die 500 schnellsten Computersysteme, gemessen an ihren FLOPS mit dem LINPACK-Benchmark, aufgeführt. Es bestehen Computersysteme mit vergleichbaren Leistungen, die am Ranking nicht teilnehmen, so dass diese Liste nicht vollständig ist. Der erste in der Praxis einsetzbare frei programmierbare Rechner, die elektromechanische Zuse Z3 aus dem Jahre 1941, schaffte knapp 2 Additionen pro Sekunde und damit 2 FLOPS. Andere Operationen dauerten jedoch teilweise wesentlich länger.

Der Intel-8087-Coprozessor mit einem 8088 als Hauptprozessor von 1980 schaffte 50 kFLOPS.[3] Anfang des 21. Jahrhunderts erreichte ein PC mit einem Pentium-4-Prozessor bei einer Taktfrequenz von 3 GHz nach Angaben von IBM etwa 6 GFLOPS. Eine konventionelle Grafikkarte leistet im Jahr 2020 bis zu 36 TFLOPS.

Das Verhältnis von Rechenleistung zum Bedarf an elektrischer Leistung wird besser, wobei die gesamte Energiezufuhr eher ansteigt. So benötigte der in der TOP500-Liste 11/2005 führende BlueGene/L von IBM für seine Leistung von rund 280 TFLOPS nur 70  Fläche und 1,77 MW elektrische Leistung, was im Vergleich zum drei Jahre älteren Earth Simulator (35,86 TFLOPS) mit 3000 m² und 6 MW eine deutliche Verbesserung darstellt. Die elektrische Leistung ist ein Hauptgrund, warum ältere Systeme nicht länger als Supercomputer weiterbetrieben werden und ungefähr alle fünf Jahre eine neuere Rechnergeneration installiert wird.

Ein anderes Beispiel: Der im Juli 2005 schnellste Computer Deutschlands, ein 57 Millionen Euro teurer NEC mit 576 Hauptprozessoren am Höchstleistungsrechenzentrum Stuttgart (HLRS), brachte es auf bis zu 12,7 TFLOPS und wurde optimistisch als 5000-mal schneller als ein „normaler“ PC bezeichnet.[4] Die Betriebskosten (ohne Anschaffung) bezifferte der Betreiber auf 1,3 Millionen Euro im Jahr sowie 1,5 Millionen Euro Personalkosten.[5] Wegen der hohen Anschaffungskosten wurde eine derartig leistungsfähige Anlage zu einem Stundensatz von ca. 4000 Euro für das Gesamtsystem vermietet (Angehörige der Universität Stuttgart zahlten jedoch einen deutlich niedrigeren Preis).[6]

Bereits im März 2006 wurde der neueste „schnellste“ Computer Deutschlands in Jülich in Betrieb genommen, der JUBL (Jülicher Blue Gene/L). Mit 45,6 TFLOPS bot er zu diesem Zeitpunkt als sechstschnellster Computer der Welt die Rechenleistung von 15.000 „normalen“ zeitgemäßen PCs. Interessant ist für die weitere Entwicklung die Einschätzung der Rechenzeit-Bedarfsentwicklung durch den Vorstandsvorsitzenden des Jülicher Forschungszentrums (März 2006): „Die Nachfrage nach Rechenzeit wird in den nächsten fünf Jahren noch um den Faktor 1000 steigen.“

Die etwa 700.000 aktiven Computer der Berkeley Open Infrastructure for Network Computing brachten es im Dezember 2015 auf eine Durchschnittsleistung von etwa 12 PetaFLOPS[7]

Der Korrelator des Atacama Large Millimeter/submillimeter Array (ALMA) führte im Dezember 2012 17 PetaFLOPS aus,[8][9] während die Rechenleistung des WIDAR-Korrelator am Expanded Very Large Array (EVLA) mit 40 PetaFLOPS angegeben ist.[10][11]

Derzeit sind verschiedene Supercomputerbetreiber bestrebt, in den Leistungsbereich von Exaflops vorzustoßen. Die Anhäufung von immer mehr Prozessoren gerät immer mehr an die Grenze des physikalisch Machbaren. Mit zunehmender Anzahl der Kerne steigt die Wahrscheinlichkeit von Ausfällen oder Fehlfunktion einzelner Komponenten. Mit der Zahl der Prozessorkerne wachsen nicht nur die Rechenleistung, sondern auch Strombedarf und Abwärme, die Anforderungen an den Datenaustausch, die Datennetze sowie die Datenspeicherung und Archivierung. Neuere Systeme sind zunehmend darauf konzipiert, aus der anfallenden Abwärme zusätzlichen Nutzen zu generieren. So werden damit z. B. Gebäude oder Gewächshäuser beheizt. Teilweise wird überlegt, ob Supercomputer mit eigenen Kraftwerken ausgestattet werden sollen.

Beispiele der GFLOPS-Werte an einigen CPUs[12]
LINPACK 1kx1k (DP) Spitzenleistung
(GFLOPS)
Durchschnittsleistung
(GFLOPS)
Effizienz
Cell, 1 SPU, 3,2 GHz 1,83 1,45 79 %
Cell, 8 SPUs, 3,2 GHz 14,63 9,46 65 %
Pentium 4, 3,2 GHz 6,4 3,1 48 %
Pentium 4 + SSE3, 3,6 GHz 14,4 7,2 50 %
Core i7, 3,2 GHz, 4 Kerne 51,2 33,0 (HT enabled)[13] 64 %
Intel Core i7, 3,47 GHz, 6 Kerne 83,2
Intel Core i7 2600k (Sandy-Bridge), 3,4 GHz, 4K/8T 102,5 92,3 90 %
Itanium, 1,6 GHz 6,4 5,95 93 %
Nvidia Tesla GP100, 1,48 GHz 10600
Nvidia Quadro P6000 19553 12901
Intel Xeon Skylake SP 6148 1536
AMD Ryzen 1800X, 8K/16T, bislang unoptimiert 221[14]
Intel Core i7 7700K (Kaby-Lake), 4K/8T 241[14]
Intel Core i7-5960X (Haswell-E), 8K/16T 375[14]
Intel Core i7 5820k, 6K/12T, 3,3 GHz 273,1 265

Siehe auch

Einzelnachweise