Seminar Paralleles Rechnen
In dem Seminar sollen aktuelle Themen aus dem Bereich High Performance Computing bearbeitet werden.
Dabei wird ein Schwerpunkt auf selbständiges praktisches Arbeiten gelegt. Die Themen werden teilweise
in Kooperation mit wissenschaftlichen Einrichtungen wie beispielsweise dem GeoForschungszentrum (GFZ)
und dem Potsdamer Institut für Klimafolgenforschung (PIK) bzw. Anwendern aus den
naturwissenschaftlichen Instituten der Universität Potsdam gestellt.
Veranstalter
Prof. Dr. Bettina Schnor, Institut für Informatik
Ort/Termine
Das Seminar wird Dienstag von 16:00 Uhr bis 20:00 Uhr im Raum 03.04.1.03 stattfinden.
Aktuelles
10.05.2011
Zwischenstandstreffen
19.04.2011
Themenvorstellung und Vergabe
Materialien
Anforderungen
-
Selbstständige Einarbeitung in die Aufgabenstellung und Absprachen mit den Betreuern
-
Teilnahme an den Zwischenstandstreffen und Berichte zum aktuellen Zwischenstand bzw. individuelle Vorträge
-
Abschlussvortrag
-
Schriftliche Ausarbeitung zwei Wochen nach Abschlussvortrag (doppelseitig ausgedruckt)
Themenliste
-
Effiziente FFT-Implementierung auf Multicores
Bereich: Multicore-Programmierung
Schnelle Fourier-Transformationen (FFT) sind in der Signalverarbeitung und in den Naturwissenschaften unverzichtbar.
Es existieren verschiedene Implementierungen, die für diverse Architekturen optimiert worden sind. Eine exemplarische
Implementierung für Multicore-Systeme soll hinsichtlich der darin vorgenommenen Optimierungen untersucht werden. Die
Behandlung des Themas schließt den mathematischen Hintergrund mit ein.
Siehe auch Chow/Fossum/Brokenshire: "Scientific Computing with Multicores and Accelerators" S. 171 ff. (am Lehrstuhl verfügbar).
Betreuer: N.N.
-
Non-blocking Collectives
Bereich: MPI, Parallelisierung
Nichtblockierende kollektive Operationen (z.B. IBcast in Analogie zu ISend) sind für den MPI-Standard Version 3 vorgesehen.
Es existieren bereits entsprechende Implementierungen. Im Rahmen des Praktikums sollen vorhandene Anwendungen (bereits
parallelisierte Klimasimulation POTSDAM-3, FFT) mit Blick auf die NBCs optimiert werden.
Betreuer: N.N.
-
Erweiterung des Zellularautomaten
Bereich: MPI, Multicore-Programmierung, NoC, SCC
Der aus der Vorlesung Paralleles Rechnen bekannte Zellularautomat soll um eine variable Zeilenbreite erweitert werden. Auf
Basis dieser Version sollen dann verschiedene 1- und 2-dimensionale Zerlegungen auf ihre Performance getestet und verglichen
werden. Zusätzlich sollen Topologieinformationen (MPI-2) ergänzt werden, damit eine Anwendung auf Intels SCC zusätzliche
Performance bringt.
Betreuer: Steffen Christgau
-
Wikipdia Crawler
Bereich: Parallelisierung
Ziel ist es ein (vorhandenes) Wikipedia Crawler Skript (auf Leibniz) zu parallelisieren. Das Crawler-Skript dient dazu (alle)
Artikel-Seiten einmal aufzurufen und dadurch alle zugehörigen Thumbnails zu generieren. Dabei müssen die Seiten zwischen den
Crawler-Instanzen aufgeteilt werden, um keine Seiten doppelt aufzurufen.
Betreuer: Jörg Zinke
-
Cherub Adaption für LFS
Bereich: Cluster-Management
Der am Lehrstuhl entwickelte Daemon zum Automatischen An-/Abschalten von untätigen Clusterknoten, soll auf dem Cluster des
GeoForschungsZentrum (GFZ) Potsdam integriert werden. Dazu wird es notwendig sein, einen Python Adapter für LFS zu schreiben.
Betreuer: Simon Kiertscher, in Kooperation mit dem GFZ
-
Statistische Auswertung von Clusterdaten
Bereich: Cluster-Management
Es soll ein Clusterreport zur Analyse der Cluster-Nutzung und zur Erkennung von Konfigurationsproblemen erstellt werden.
Dabei sollen Performance-Kennzahlen und Job-Charakteristika (verbrauchte CPU-Zeit, Speicher, ...) bei Bedarf erzeugt und graphisch
dargestellt werden.
Betreuer: N.N.
-
Multicore Programming with OpenMP and MPI
Bereich: Multicore-Programmierung
Heutzutage werden Muticorearchitekturen immer wichtiger. Daher kommen Fragen auf wie: Wie verhalten sich reine MPI Anwendungen auf
einem Cluster von Multicoremaschinen im Gegensatz zu hybriden Ansätzen die MPI und OpenMP nutzen? Diese Frage soll beantwortet
werden, indem der aus der Vorlesung Paralleles Rechnen bekannte Zellularautomat mit MPI, OpenMP und einer Hybriden Variante
implementiert und anschließend, die verschiedenen Varianten verglichen werden. Plattform: Zuse-Node mit Dual-Quadcore Nehalem
(8 Cores), ZEIK-Computeserver mit Quad-12 Core Magny Cours (48 Cores)
Betreuer: N.N.
-
Parallelisierung von Aeolus 0.9
Bereich: MPI, Anwendungsparallelisierung
Im Forschungsbereich "Erdsystemanalyse" des Potsdam-Instituts für Klimafolgenforschung wird u.a. an der nächsten Generation eines
Erdsystem-Modells mittlerer Komplexität gearbeitet. Ziel dieser Modellentwicklung ist die Untersuchung der gekoppelten Dynamik
der Geosphäre, Biosphäre und Anthroposphäre im Hinblick auf natürliche und vom Menschen geschaffene Änderungen. Die Ergebnisse
sollen helfen, die zu erwartenden Wirkungen des Globalen Wandels für das Erdsystem abzuschätzen.
Da solche Modelle sehr rechenaufwendig sind, ist Beschleunigung durch paralleles Rechnen eine wichtige Voraussetzung für die
beabsichtigten Forschungsarbeiten.
Im Rahmen dieser Climber-3 Aktivität wird ein neues Atmosphärenmodell Aeolus entwickelt und in C++ implementiert. Im Praktikum
soll das Aeolus Modell parallelisiert werden. In dem Modell wird die Atmosphäre durch ein 3-dimensionales Gitter repräsentiert,
der Zeitablauf wird in diskrete Zeitschritte unterteilt. In jedem Zeitschritt wird der neue Zustand der Atmosphäre aus dem alten
Zustand berechnet. Eine Vorversion des aktuellen Modells wurde im Rahmen des Praktikums bereits durch funktionale Zerlegung
parallelisiert. Die aktuelle Modellversion umfasst jedoch wesentlich mehr Funktionen. Eine mögliche Aufgabe ist, eine solche
Parallelisierung für die aktuelle Modellversion zu entwickeln. Ein anderer Ansatz arbeitet mit Gebietszerlegung, so dass jeder
Prozessor die gleichen Operationen, aber auf einem anderen Teilstück der Atmosphäre berechnet. Da Aeolus mit dem Ozean-Modell
MOM4 gekoppelt werden soll, welches bereits Gebietszerlegung nutzt, ist ein solcher Ansatz von besonderem Interesse.
Betreuer: Steffen Christgau, Dr. Dim Coumou (PIK), Dr. Stefan Petri (PIK)
-
Parallel Ice Sheet Model mit CUDA auf der Graphik-Karte
Bereich: Anwendungsparallelisierung
PISM simulates the
dynamic evolution of the Greenland and Antarctic ice sheets, along with paleo-ice sheets, and even smaller
polar ice caps and glaciers. PISM is jointly developed at the University of Alaska, Fairbanks (UAF), USA, and the Potsdam
Institute for Climate Impact Research (PIK), Germany. PISM is a C++ program which uses PETSc for parallel numerics and MPI for
interprocess communication.
PETSc, pronounced
PET-see (the S is silent), is a suite of data structures and routines for the scalable (parallel) solution of
scientific applications modeled by partial differential equations. It employs the MPI standard for parallelism. PETSc algebraic
solvers now run on Nvidia GPU systems. This sometimes provides an alternative high performance low cost solution technique.
Betreuer: N.N., Dr. Stefan Petri (PIK), N.N. (PIK)
-
Parallelisierte Analyse von Komplexen Netzwerken
Bereich: Anwendungsparallelisierung
Mit dem neuen methodischen Ansatz über Komplexe Netzwerke können raumzeitliche Daten, wie z. B. globale Felder klimarelevanter
Parameter, statistisch untersucht werden. Eine große räumliche Auflösung der Daten erfordert jedoch eine große Rechenleistung
und optimierte Algorithmen zur Berechnung der statistischen Netzwerkmaße (z.B. Random Walk Betweenness). Ziel es daher, die
vorhandenen Algorithmen zur Berechnung der Netzwerkmaße mit MPI zu parallelisieren. Die Implementierung findet in Python und C statt.
Betreuer: N.N., Dr. Norbert Marwan (PIK), N.N. (PIK)
Literatur
-
Sanders/Worsch: Parallele Programmierung mit MPI – ein Praktikum, Logos Verlag, 1997