|
|
 |
 |
"Games with Cellular Automata" auf parallelen Rechnerarchitekturen (PParRA)
- Beschreibung
-
|
Moderne Anwendungen erfordern immer mehr Rechenleistung, womit die
Anforderungen an moderne Hardware stets größer werden,
während physikalische Grenzen näher und näher
rücken. Ein möglicher Ausweg aus diesem Dilemma ist die
Verwendung von paralleler Hardware bzw. parallelen Architekturen.
Mit Multicore-Architekturen kamen parallele Rechner endgültig
aus der akademischen Nische und wurden rechentechnisches
Allgemeingut. Zugleich sind die geläufigen parallelen
Rechnerarchitekturen immer heterogener geworden (Cell (Bild 1),
GPU, Clusterrechner mit Mehrkernprozessoren, paralleles Rechnen mit
FPGAs). Ziel des Praktikums ist es, die Teilnehmer mit veschiedenen
Programmiertechniken und der Architektur dieser Prozessoren
vertraut zu machen. Dazu sollen alle diese Architekturen anhand
eines durchgänigen Beispiels erprobt werden: die Simulation
zellulärer Automaten.
|
|
|
|
Bild 1: Cell-Prozessor mit insgesamt 9 Kernen (8 SPEs und ein PowerPC).
|
|
|
Ein berümtes Beispiel für einen zellulären Automat ist
„Conway's Game of Life ”. Allgemein handelt es sich bei
solchen Anwendungen um eine Menge von Zellen, welche in einem
regelmäßigen Raster angeordnet sind. Jede dieser Zellen
besitzt einen Zustand, der sich in jedem Zeitschritt ändern kann.
Dabei hägt die Berechnung des Folgezustands nur von den
Zuständen der Nachbarn der Zelle und ihrem eigenen Zustand ab. Viele
Probleme wie die Wärmeausbreitung im Metall (Video 1),
Stauvorhersage und Gasmolekübewegungen können so simuliert
werden. Aber auch kleine „Spiele” wie Explosionen (Video 2),
Sanduhren (Video 3) oder Eisenbahnen (Video 4) sind mit solchen Modellen
möglich.
|
|
|
|
Video 2: Explosionen modelliert mit Hilfe von zellulären Automaten.
|
|
|
|
|
Bild 2: CUDA Profiler zur Analyse des Cache-Verhaltens von GPU-Programmen.
|
|
In diesem Praktikum lernen Sie nicht (nur) WAS es für Architekturen
gibt, sondern (hauptsächlich) WIE man diese programmiert bzw.
entwirft. Im Einzelnen werden folgende Themen behandelt:
- Ausnutzen von Cache-Effekten (Bild 2)
- Vektorarithmetik (SIMD, SSE, AltiVec)
- Speicher- und Nachrichtengekoppelte Programmierung (OpenMP, OpenMPI)
- Architektur-nahe GPU Programmierung (CUDA)
- Heterogene Multikernprozessoren (CELL BE)
- Entwerfen eigener Applikationsspezifischer fein-granularar
Prozessorfelder in FPGAs
- Entwerfen eigener
grob-granularer Multikernprozessoren in FPGAs
- Effiziente Speicher und Prozessorkopplung
|
|
|
|
Video 4: Game of Life berechnet mit 3 Prozessoren auf einem FPGA mit VGA-Beamer-Ausgabe
|
|
Das Praktikum gliedert sich in zwei Teile. Im Teil A steht die Software im Vordergrund. Sie werden auf modernen Architekturen wie Cluster, IBM Cell BE (z.B. Prozessor der Playstation 3) und Grafikkarten rechnen (Bild 3, Video 4). Dabei kommen Standards wie MPI, OpenMP und CUDA zum Einsatz. Im Teil B wird es um die Erstellung von eigener Hardware gehen. Sie werden auf Basis von FPGAs (Bild 4) eigene Prozessoren entwickeln und testen bzw. fertige Prozessoren (Soft-IPs) verwenden, diese effizient miteinander verbinden und programmieren (Video 5, Video 6).
Durchführungsort ist unser Parallelrechnerlabor (Quadcore-PCs, FPGAs mit ESD-Schutz an allen Arbeitsplätzen). Die Parallelrechner befinden sich im Serverraum nebenan.
|
| |
|
|
Video 4: Emergente Ameisen-Simulation |
Bild 4: FPGA-Board zur Erprobung selbst entwickelter Hardware (klicken für eine größere Darstellung) |
Video 6: Komplettsystem in Aktion |
|
|
|
Bild 3: Verwendete Architekturen (klicken für eine größere Darstellung) von links nach rechts: Bladecenter als Teil des Clusters, einzelner Blade, Cell Blades (3 Stück in der Mitte) in einem Bladcenter mit Headnode und Entwicklungsserver, Tesla Grafikkarten in einem Standard PC
|
|
Für dieses Praktikum sind keine speziellen Vorkenntnisse nötig.
Jedes Themengebiet wird durch einen kurzen Vortrag eingeleitet.
Dabei werden einige Beispiele vorgestellt, um den Einstieg in die
eigene Entwicklung zu erleichtern. Zu jedem Aufgabenkomplex wird es ein
kleines Kolloquium geben, welches einen Teil der Bewertung darstellt.
Die Bewertung der Durchführung und insgesamt 2 abzugebende Protokolle
bilden die anderen Teile Ihrer Note.
|
- Vorbesprechung
-
Eine Praktikumsvorbesprechung zur Terminvereinbarung und Einfürung in die Thematik findet am 17.10.2010 um 18:00 Uhr im Seminarraum 07.150 im blauen Hochhaus statt.
- Dozenten
-
Organisatorisches/Anmeldung/Fragen: Dipl.-Inf. Marc Reichenbach
Durchführund der Versuche: Dipl.-Inf. Andreas Schäfer (Cluster), Dipl.-Inf. Max Schneider (Cell), Dipl.-Inf. Ralf Seidler (Grafikkarten), Dipl.-Inf. Michael Schmidt (Einführung in die FPGA Technologie), Dipl.-Inf. Marc Reichenbach (Soft-IPs und Prozessorenkopplung)
- Angaben
-
Praktikum, 8 SWS, ECTS-Studium, ECTS-Credits: 10
nur Fachstudium
Zeit: nach Vereinbarung
Ort: Parallelrechnerlabor 02.153, Martensstr. 3
- Studienfächer / Studienrichtungen:
- WPF INF-BA 5
- Voraussetzungen / Organisatorisches
- Anmeldung per E-Mail bei Marc Reichenbach
Bitte senden Sie uns folgende Informatione: Namen, Matrikelnummer, CIP-Login, Studienfach, Studiensemester.
|
 |
 |
|