Entwicklung der Supercomputer Funktionsweisen von ... · NVIDIA GeForce GT200 1063 GFLOPS Core i7...
Transcript of Entwicklung der Supercomputer Funktionsweisen von ... · NVIDIA GeForce GT200 1063 GFLOPS Core i7...
Ein kleiner Einblick in die Welt der Supercomputer
Christian Krohn – 07.12.2010 1
Vorschub: FLOPS
Entwicklung der Supercomputer
Funktionsweisen von Supercomputern
Zukunftsvisionen
2
• Ein Top10 Supercomputer kostet fast 100Mio € lohnt sich das? Welchen Nutzen haben wir davon
Simulationen von komplexen Vorgängen z.B. Klimamodelle, Medizinische Forschung, Physik, Raumfahrt, Militär u.v.m.
3
Floating Point Operation per Second
Addition und Multiplikation von Fließkommazahlen
Benchmark LINPACK (Linear Algebra Package) ◦ Routinen zur Lösung linearer Gleichungssysteme
und anderer numerische Verfahren
4
Leistungsfähigkeit von Prozessoren
(Systemen)
Umstritten wegen unterschiedlicher Implementierungen (Schaltnetze)
Vektorprozessoren (u.a. GPU‘s) erreichen sehr hohe Werte: ◦ NVIDIA GeForce GT200 1063 GFLOPS ◦ Core i7 3,33Ghz 6 Kerne bis zu 80 GFLOPS
5
Moore-Kurve
Verdopplung der Rechengeschwin-digkeit alle 18 – 24 Monate
6
1941 Zuse Z3 2 FLOPS ◦ Erster frei programmierbarer digitaler Rechner, konnte zwei Additionen pro Sekunde
ausführen
1976 Cray-1 250.000.000 FLOPS ◦ Legendärer SC über 80 Stück verkauft in vielen Anwendungsbereichen
2002 NEC Earth Simulator 35.860.000.000.000 FLOPS ◦ Über 2 Jahre der schnellste Rechner der Welt (Globale Klimamodelle, Geophysik)
2008 IBM Roadrunner 1.105.000.000.000.000 FLOPS ◦ Erforschung der Alterung Radioaktiver Stoffe / Sicherheit alternder Kernwaffen und
Simulationen in vielen anderen Bereichen
2010 Tianhe-1A 2.507.000.000.000.000 FLOPS ◦ Derzeit leistungsstärkster Supercomputer der Welt in China
(2012+) Fujitsu baut SC in Japan an einem 10 PetaFLOPS System
(2012) IBM baut für die US-Energiebehörde ein 20 PetaFLOPS System
7
8 Quelle: http://de.academic.ru/pictures/dewiki/122/acabb8b6231978d3433982d511a35044.JPG
9
http://upload.wikimedia.org/wikipedia/commons/f/f7/Cray-1-deutsches-museum.jpg
10
http://upload.wikimedia.org/wikipedia/commons/1/18/EarthSimulator.jpg
11
http://upload.wikimedia.org/wikipedia/commons/c/c7/Roadrunner_supercomputer_HiRes.jpg
12
http://scr3.golem.de/screenshots/1010/Tianhe-Supercomputer/thumb480/Tianhe-1A.jpg
Alle modernen SC sind Parallelrechner ◦ Physikalische Grenzen machen zu hohe Taktraten
unmöglich
Operationen werden auf mehrere CPU‘s verteilt ◦ Programmierung sollte auf einzelne Parallel
arbeitende Prozessoren abgestimmt sein
◦ Je mehr Prozessoren vorhanden sind, desto schneller steigt der Kommunikationsaufwand überproportional an
13
Ressourcen wie Festplattenspeicher und Arbeitsspeicher werden gemeinsam genutzt
Die meisten modernen SC bestehen aus Skalaren Prozessorarchitekturen und Vektorprozessoren
14
Ein Befehl pro Prozessortakt
Jeder Befehl beinhaltet mehrere Teilaufgaben z.B.: ◦ A Befehlscode laden
◦ B Instruktionen dekodieren und Daten laden
◦ C Befehl ausführen
◦ D Ergebnisse zurückgeben
15
Pro Takt wird nur eine Teilaufgabe ausgeführt
Es werden mehrere Teilaufgaben Parallel erledigt
16
http://upload.wikimedia.org/wikipedia/de/6/6f/Befehlspipeline.PNG
Führen eine Operation gleichzeitig an vielen Daten (Array/Vektor) aus
Vektorprozessoren sind überlegen wenn viele Vektor – und Matrizenoperationen durchgeführt werden
17
X und Y sind Vektoren gleicher Länge und a ein Skalar
L.D F0, a ; Skalar a laden
LV V1, Rx ; Vector X laden
MULVS.D V2, V1, F0 ; Vector-skalarMultiplikation
LV V3, Ry ; Vector Y laden
ADDV.D V4, V2, V3 ; Vektor Addition
SV Ry, V4 ; Resultat speichern
Nur 6 Befehle für Vektorprozessoren
18
𝑌 = 𝑎 ∗ 𝑋 + Y
GPU‘s sind Vektorprozessoren
GPGPU – General Purpose Computation on Graphics Processing Unit ◦ Einbindung von GPU‘s in Computersysteme um
CPU‘s zu entlasten, da diese für Vektoroperationen ein vielfaches an Befehlen ausführen müssen.
19
Beowulf Cluster ◦ Parallel Computing mit normaler PC Hardware
◦ Organisation mithilfe:
Einer Server Node
Einer oder mehrere Client Nodes
Vernetzung in einem TCP/IP LAN
◦ Zerlegung des „Jobs“ in kleinere Teile und Verteilung auf die Nodes
◦ Kommunikation zwischen den Job-Teilen durch das Message Passing Interface (MPI)
20
21
http://upload.wikimedia.org/wikipedia/commons/4/40/Beowulf.png
Simulationen werden komplexer und benötigen mehr Rechenleistung
Optimistische Einschätzung der Bedarfsentwicklung für Rechenzeit vom Vorstandvorsitzenden des Jülicher Forschungszentrums: ◦ „Die Nachfrage nach Rechenzeit wird in den
nächsten fürn Jahren um Faktor 1000 steigen.“
22