Friedrich-Alexander-Universität Univis FAU-Logo
Techn. Fakultšt Willkommen am Department Informatik FAU-Logo
Logo i3
Lehrstuhl für Informatik 3
PParRA
Vorlesung
Materialien
Department Informatik

"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.

dfsd
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 1
Video 3
Video 4
Video 2: Explosionen modelliert mit Hilfe von zellulären Automaten.


dfsd
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.

  Impressum Stand: 2012-06-20 08:47:04   VS