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

  1. 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.
  2. 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.
  3. 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
  4. 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
  5. 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
  6. 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.
  7. 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.
  8. 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)
  9. 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)
  10. 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