Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Abelard Naiser Geändert vor über 10 Jahren
1
GPU, a @lobal processing unit??
Ein Projekt, das die Welt hätte verändern sollen, und eine kurze Einführung in einem spannenden Forschungsgebiet
2
Parallelisieren ist schwierig!!
Im realen Leben, z.B. gleichzeitig Zähne putzen, Mickey Mouse lesen und sich anziehen Spätenstens in der Schule merkt man, dass der Kleiderhaken in der Jacke geblieben ist Auf einem Supercomputer: man löse die Laplace-PDE auf einem Polygon, in parallel, mit einem iterativen Jacobi-Verfahren Kommunikation zwischen den Knoten so klein wie möglich halten!! Ansonsten je mehr Prozessoren, desto langsamer…
3
Wie wird heutzutage parallel programmiert??
Man definiert eine fixe Anzahl (=p) Prozessoren, bevor das Programm auf dem Supercomputer ausgeführt wird. OpenMP: Compiler übernimmt die gesamte Aufgabe der Parallelisierung (Der Programmierer muss nur Direktiven angeben) MPI (Message Passing Interface): Der Programmierer muss die Kommunikation zwischen den Knoten selbst definieren. Meistens wird aber ein Programm geschrieben, und das Programm wird mehrmals mit verschiedenen Anfangsparametern gestartet!!
4
Vergleich von Supercomputer - Anordnungen
Dieser Laptop führt etwa eine halbe Milliarde Operationen pro Sekunde aus = ½ GigaFlop, das war die Leistung eines Supercomputers vor 10 Jahren Ein Supercomputer mit Shared Memory (= alle Prozesse greifen auf dem gleichen Speicher zu), etwa 470 Gigaflops (HP Superdome) Linux Beowulf Cluster mit Distributed Memory und 502 Prozessoren (jeder Prozess hat eigenen Speicher), etwa 266 Gigaflops
5
Vergleiche von Supercomputer-Anordnungen
Der japanische Supercomputer Earth Simulator rechnet mit 35 Teraflops (=35000 Gigaflops) Das Projekt der erste erfolgreiche Grid - Computing Projekt rechnet mit 43 Teraflops
6
Heutige CPUs sind fast arbeitslos!!
Mehr als 80% der Rechenzeit einer CPU besteht aus dem Warten von Benutzereingaben… Heutige Betriebssysteme können in dieser Zeit Prozesse im Hintergrund laufen lassen, ohne dass der Anwender etwas merkt
7
Internet - Supercomputer
Wenn alle Computer auf der Welt in einem Cluster zusammengefügt würden, welche Leistung könnte man dann teoretisch erreichen?? 400 Millionen Rechner à ½ Gigaflop = 200 Millionen Gigaflop = Teraflop = etwa 2000 Supercomputer!
8
Vergleich von Supercomputer - Anordnungen
9
Jagd auf E.T.!! Ein alter Supercomputer verteilt Datensätze eines Radioteleskopes an normale Rechner. Auf diese Rechner ist ein kleines Programm installiert, das die Datensätze im Hintergrund analysiert Die Analyse erfolgt mit einer langwierigen Fouriertransformation, das Ergebnis der Analyse wird dann an den alten Supercomputer zurückgeschickt Alle können beim Projekt mitmachen! Sogar ein 80486!
10
Krebsforschung United Devices, wie verteilt Datensätze, die von normalen Rechnern im Hintergrund verarbeitet werden.
11
Achtung! Bei diesen beiden Projekten, und Krebsforschung, die über Internet laufen, ist die Anzahl beteiligter Prozessoren (=p) am Anfang nicht im voraus bestimmt… Rechner können vom Projekt ein und aussteigen… Unterschied gegenüber MPI und OpenMP!!
12
Eine Erweiterung des Client / Server Modells??
Peer to peer Node Client / Server Beispiele: Krebsforschung Peer to peer Netwerk Beispiele: Kazaa, Gnutella, GPU, processing unit??
13
Wie funktioniert (sehr grob) ein Peer to Peer – Netwerk??
Node A An incoming packet… … is forwarded through all other connections Problem des geometrischen Wachstums der Pakete! Duplikate müssen weggeworfen werden.
14
Wie könnte man das verbessern??
Idee aus Simulationen eines Teams der Princeton University Node A An incoming packet… … is forwarded through only one randomly chosen connection and not through all connections as before
15
Die Idee von GPU Rechner im Internet lassen GPU laufen. GPU verbindet sich automatisch zu einem Peer to Peer – Netzwerk GPU stellt wissenschaftliche Bibliotheken zur Verfügung Jeder, der GPU installiert hat, kann auch mal andere Rechner verwenden, um eine eigene verteilte Berechnung auszuführen
16
Die Idee von GPU (2) GPU ist in 3 Teile gegliedert
Der Routing Layer leitet Berechnungspakete weiter Eine virtuelle Maschine interpretiert die Berechnungspakete mit Hilfe einer Bibliothek von Plugins Plugins sind kompilierte DLLs, die die Funktionalität des Knotens erweitern
17
Die Idee von GPU (3) Die polnische Notation wird eingeführt, um die virtuelle Maschine zu vereinfachen wird zu 1,1,+ Berechnungspakete werden als Dateisuche getarnt, z.B eine Dateisuche für „GPU:1,1,+“ wird als Berechnungsaufgabe interpretiert
18
GPU in der Praxis Zwei Bibliotheken (Pi – Berechnung und verteilte Berechnung des diskreten Logarithmus) Weiterentwicklung als Open Source Projekt an der Komplexität der Aufgabe gescheitert Prototyp kann man von Internet herunterladen
19
GPU in der Praxis (2) Version implementiert alles, was in der Dokumentation beschrieben wird… ist aber sehr instabil Version ist sehr stabil (dank dem Komponenten TGnutella von Kamil Pogorzelski), Ergebnisse werden (noch) nicht zurückgesandt.
20
Screenshots
22
Screenshots (2)
23
Links Global Grid Forum www.gridforum.org
EU Grid: Top 500 Supercomputer: Krebsforschung
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.