Entwicklung der Supercomputer Funktionsweisen von ... · NVIDIA GeForce GT200 1063 GFLOPS Core i7...

Post on 14-Aug-2020

0 views 0 download

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