Floating Point Operations Per Second

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von FLOP)
Wechseln zu: Navigation, Suche
Einheiten der Gleitkommarechenleistung mit Vorsätzen nach SI.
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

Floating Point Operations Per Second (kurz FLOPS; englisch für Gleitkommaoperationen pro Sekunde) 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[Bearbeiten]

Die Anzahl der Gleitkommaoperationen ist nicht notwendigerweise 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 aktuelle Grafikkarten, die als Vektorprozessoren arbeiten, Rechenleistungen bis zu 5,632 TeraFLOPS (AMD Radeon R9 290X), was auch die Motivation für GPGPU ist.

Durch die FLOPS wird die gesamte Rechnerarchitektur, bestehend aus Hauptspeicher, Bus, Compiler, gemessen, nicht die reine Prozessorgeschwindigkeit. Meist wird, ebenso wie bei der Einheit IPS, eine Best-Case-Abschätzung oder gar ein nur theoretisch möglicher Wert angegeben.

Berechnung[Bearbeiten]

Die theoretische Spitzenleistung (Theoretical Peak Performance) eines einzelnen Rechenknotens eines CPU-basierten Hochleistungsrechners lässt sich wie folgt berechnen:

GFLOPS = (CPU-Takt in GHz) × (Anzahl der CPU-Kerne) × (CPU-Instruktionen pro Takt) × (Anzahl der CPU im Rechenknoten).

Dabei ist zu beachten, dass bei verschiedenen Prozessorarchitekturen die ausgeführten Instruktionen pro Zyklus variieren können. So haben z. B. Intel X5600 Series CPUs und AMD 6100/6200 Series CPUs vier Instruktionen per Zyklus und Intel E5-2600 Series CPUs acht Instruktionen per Zyklus.

Beispiel 1:

Zwei-Sockel-Server mit Intel X5675 (3,06 GHz, 6 Kerne)

3,06 × 6 × 4 × 2 = 146,88 GFLOPS

Beispiel 2:

Zwei-Sockel-Server mit Intel E5-2670 (2,6 GHz, 8 Kerne)

2,6 × 8 × 8 × 2 = 332,8 GFLOPS

Da es sich bei den Werten nur um die theoretische Spitzenleistung handelt und in einem Rechensystem noch ein gewisser Verwaltungsaufwand anfällt, wird zusätzlich die bereinigte Spitzenleistung (Adjusted Peak Performance, APP) ermittelt. Sie liegt in dieser Architektur bei ca. 30 %.

Rechenleistung von Computersystemen[Bearbeiten]

Der erste in der Praxis einsetzbare frei programmierbare Rechner, die elektromechanische Zuse Z3 aus dem Jahre 1941, schaffte knapp zwei Additionen pro Sekunde und damit 2 FLOPS. Andere Operationen dauerten jedoch teilweise wesentlich länger.

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.

Die über 420.000 aktiven Computer der Berkeley Open Infrastructure for Network Computing bringen es derzeit (Stand: März 2013)[2] auf eine Spitzenleistung von mehr als 9 PetaFLOPS, was ungefähr 2/7 der Rechenleistung des derzeit schnellsten Supercomputers Tianhe-2 mit 33,86 PetaFLOPS und mehr als der achtfachen Rechenleistung des IBM Roadrunners entspricht.

Der Korrelator des Atacama Large Millimeter/submillimeter Array (ALMA) führt derzeit 17 PetaFLOPS aus, während die Rechenleistung des WIDAR-Korrelator am Expanded Very Large Array (EVLA) mit 40 PetaFLOPS angegeben ist.[3][4][5][6] Der geplante Korrelator des Square Kilometre Array (SKA) soll 4 ExaFLOPS (4000 PetaFLOPS) ausführen können.[5]

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 TeraFLOPS nur 70  Fläche und 1770 kW elektrische Leistung, was im Vergleich zum drei Jahre älteren Earth Simulator (35,86 TeraFLOPS) mit 3000 m² und 6000 kW eine deutliche Verbesserung darstellt.

Ein anderes Beispiel aus der Praxis: der im Juli 2005 schnellste Computer Deutschlands, ein 57 Mio. Euro teurer NEC mit 576 Hauptprozessoren am Höchstleistungsrechenzentrum Stuttgart (HLRS), brachte es auf bis zu 12,7 TeraFLOPS, und wurde optimistisch als 5000 mal schneller als ein „normaler“ PC bezeichnet.[7] Die Betriebskosten (ohne Anschaffung) bezifferte der Betreiber auf 1,3 Millionen Euro im Jahr, sowie 1,5 Millionen Euro Personalkosten.[8] 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).[9]

Ein Vergleich: 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 TeraFLOPS 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“.

Um die Leistung einordnen zu können: ein normaler PC mit einem Pentium-4-Prozessor bei einer Taktfrequenz von drei Gigahertz kann nach Angaben von IBM etwa sechs GigaFLOPS erreichen.

Beispiele der GFLOP-Werte an einigen CPUs[10]
LINPACK 1kx1k (DP) Höchstleistung
(in GFLOPS)
Durchschnittsleistung
(in GFLOPS)
Effizienz
(in %)
Cell, 1 SPU, 3,2 GHz 1,83 1,45 79,23
Cell, 8 SPUs, 3,2 GHz 14,63 9,46 64,66
Pentium 4, 3,2 GHz 6,4 3,1 48,44
Pentium 4 + SSE3, 3,6 GHz 14,4 7,2 50,00
Core i7, 3,2 GHz, 4 Kerne 51,2 33,0 (HT enabled) [11] 64,45
Core i7, 3,47 GHz, 6 Kerne 83,2
Core i7 Sandy-Bridge, 3,4 GHz, 4 Kerne 102,5 92,3 90,05
Itanium, 1,6 GHz 6,4 5,95 92,97

Kritik[Bearbeiten]

Die Anzahl der FLOPS ist wie die Einheit MIPS eine irreführende Metrik[12] für den Vergleich zweier Prozessorarchitekturen. Ein RISC-Prozessor kann häufig wesentlich mehr Operationen pro Sekunde ausführen, als ein vergleichbarer CISC-Prozessor, da die Instruktionsausführungszeit für RISC-Operationen meist unter denen von CISC-Operationen liegen. Für dieselbe Aufgabe benötigen RISC-Prozessoren jedoch mehr Operationen als CISC-Prozessoren. Ebenso unterscheidet sich die Leistungsfähigkeit von zwei Rechnersystemen A und B die jeweils ein FLOPS berechnen können, wenn Prozessor A ein 32 Bit ist und Prozessor B ein 64 Bit. Prozessor B kann größere Zahlen pro Gleitkommaoperation verarbeiten und braucht daher weniger Operationen um große Zahlen zu verarbeiten.

Siehe auch[Bearbeiten]

Quellenangaben[Bearbeiten]

  1. Floating Point Operations per Second (Flops) – Glossareintrag bei heise online; Stand: 8. November 2010
  2. http://boinc.berkeley.edu/ Berkeley Open Infrastructure for Network Computing
  3. Powerful Supercomputer Makes ALMA a Telescope
  4. Heise online: Höchstgelegener Supercomputer der Welt gleicht Astronomiedaten ab
  5. a b National Radio Astronomy Observatory: Cross-Correlators & New Correlators - Implementation & choice of architecture S. 27 (PDF; 9,4 MB)
  6. National Radio Astronomy Observatory: The Expanded Very Large Array Project - The ‘WIDAR’ Correlator S. 10 (PDF; 13,2 MB)
  7. Höchstleistungsrechenzentrum Universität Stuttgart / Systeme
  8. In Schwaben wird extrem schnell gerechnet, 22. Juli 2005. In: Stern.de. Abgerufen am 17. Januar 2014.
  9. Entgeltordnung für die Nutzung der Rechenanlagen des Höchstleistungsrechenzentrums Stuttgart (HLRS) (PDF; 105 kB)
  10. IBM: Cell Broadband Engine Architecture and its first implementation
  11. http://www.tecchannel.de/pc_mobile/prozessoren/1775602/core_i7_test_intel_nehalem_quad_hyper_threading_speicher_benchmarks/index11.html
  12. http://d-nb.info/1003038743/34