Projekt Paralleles Rechnen
In dem Projekt 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
Steffen Christgau
Modulnummern
- Bachelor Informatik:
3520
- Bachelor Computational Science:
555701 Teilleistung zum Modul 6020
- Master Informatik:
3521
- Master Computational Science:
555111 Teilleistung zum Modul 10010
Ort/Termine
Das Projekt findet nach Vereinbarung (ca. 1x im Monat) donnerstags von 14:00 Uhr bis 18:00 Uhr im Raum 03.04.1.03 statt.
Events
Aktuelles
Abschlussvorträge
30.03.2017, 09:30 Uhr - 11:00 Uhr
Universität Potsdam, Raum 03.04.2.14
5. Zwischenstandstermin
17.03.2017, 10:00 Uhr
Universität Potsdam, Raum Haus 4, 2.14
4. Zwischenstandstermin
23.02.2017, 14:15 Uhr - ca 15:45 Uhr
Universität Potsdam, Raum 03.04.1.03 (oder im 2.OG)
3. Zwischenstandstermin
19.01.2017, 14:15 Uhr - 18:00 Uhr
Universität Potsdam, Raum 03.04.1.03
2. Zwischenstandstermin
15.12.2016, 14:15 Uhr - 18:00 Uhr
Universität Potsdam, Raum 03.04.1.03
1. Zwischenstandstermin
24.11.2016, 14:00 Uhr - 18:00 Uhr
Universität Potsdam, Raum 03.04.1.03
Erste Veranstaltung
27.10.2016, 14:00 Uhr - 18:00 Uhr
Universität Potsdam, Raum 03.04.1.03
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
(in Bearbeitung)
-
Multicore Programming with OpenMP and MPI / Erweiterung des Zellularautomaten
Bereich: MPI, Multicore-Programmierung
Der aus der Vorlesung Paralleles Rechnen bekannte Zellularautomat soll um eine 2-dimensionale Zerlegungen
erweitert werden. Weiterhin 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 bekannte
Zellularautomat mit MPI, OpenMP und einer Hybriden Variante implementiert und anschließend, die verschiedenen
Varianten verglichen werden. Plattform: ZEIK-Computeserver mit Quad-12 Core Magny Cours (48 Cores) sowie
Cluster des PIK.
-
Synchronisierung für passiv einseitige MPI-Kommunikation auf dem Intel Single-Chip Cloud Computer
geeignet für Master-Studenten, die an der Veranstaltung PR2 (Architekturen und Middleware) teilgenommen haben.
Passiv einseitige Kommunikation (passive one-sided communication) erlaubt eine Programmierung auf lose gekoppelten Systemen, die
der Shared-Memory-Programmierung ähnelt (aber nicht identisch ist). Der Intel Single-Chip Cloud Computer (SCC) ist ein solches System. Die
MPI-Prozesse müssen sich jedoch mittls Locks synchronisieren, um miteinander kommunizieren zu können. Im Rahmen der Aufgabe soll
ein existierendes Verfahren zur Prozesssynchronisation für passive Kommunikation in der MPI-Implementierung des SCCs umgesetzt und bewertet werden.
Der Umgang mit dem SCC und die Entwicklung der MPI-Bibliothek werden beim Einstieg in das Thema vermittelt.
Betreuer: Steffen Christgau
Literatur:
-
Graph500-Benchmark
geeignet für Master-Studenten, die an der Veranstaltung PR2 (Architekturen und Middleware) teilgenommen haben.
Der Graph500-Benchmark stellt eine alternative Bewertungsmethode für Hochleistungsrechner dar. Der Fokus
liegt hierbei auf datenintensiven Operationen, z.B. der Suche in oder der Analyse von Graphen. Im Rahmen der Aufgabe
soll ein Verständnis für die Bestandteile/Algorithmen des Graph500-Benchmarks und deren Parallelisierungskonzept
(insbesondere die OpenMP/MPI-basierten Versionen) erworben werden. Außerdem soll eine Bewertung des Zuse-Clusters mit Hilfe
des Benchmarks vorgenommen werden.
Betreuer: Steffen Christgau
Literatur:
-
Inkrementelle Parallelisierung von MOM5: Parallelisierung der "Tracer-Advection" mit OpenACC
Das Ozeanmodell MOM5 ist eine der rechenintensivsten Komponenten des Erdsystem-Models
POEM.
MOM beansprucht ca. 65–70 % der Gesamtrechenzeit von POEM. Eine Nutzung von massiv-parallelen Grafikkarten
ist speziell für diese Modellkomponente von Interesse. Eine für Grafikkarten effiziente Implementierung mittels
CUDA oder OpenCL kommt wegen des verbundenen Softwareentwicklungsaufwands für diese komplexen Programmbestandteile
nicht in Frage. Hingegen bieten das Programmiermodel von OpenACC die Möglichkeit der inkrementellen Parallelisierung.
Betreuer: Steffen Christgau, Dr. Stefan Petri (PIK)
-
Automatisierter Ablauf der Jetstream-Analyse auf Vorhersagedaten
Der Jetstream ist ein System von starken Winden in der oberen Troposphäre, welches grossen Einfluss auf das Wetter an der
Erdoberfläche hat. Neuere Forschungsergebnisse zeigen, dass bestimmte Konstellation des Jetstreams in engem Zusammenhang
mit Extremwetterereignissen stehen. Daher werden am PIK verschiedene Verfahren und Werkzeuge zur Analyse des Jetstreams
entwickelt. Diese werden bisher auf Beobachtungsdaten und auf Simulationsergebnisse angewendet. Ziel dieser Arbeit ist die
Anwendung dieser Werkzeuge auf Vorhersagedaten des Wetterdienstes der USA. Dazu soll der Arbeitsablauf aus
Datenbeschaffung, Aufbereitung, Analyse, und Darstellung der Ergebnisse automatisiert werden. Das umfasst auch die
Behandlung von Fehlern beim Datendownload und bei der Verarbeitung, das Verwalten der Daten mitsamt Loeschen
veralteter Dateien, und die Aufbereitung zu einer
Web-Darstellung.
Betreuer: Steffen Christgau, Dr. Stefan Petri (PIK)
-
Parallelisierung einer Analyse innerer Spannungen in technischen Werkstoffen
Am Helmholtz-Zentrum Berlin für Materialien und Energie werden Eigenschaften technischer Werkstoffe, wie z.B.
Eigenspannungen des Materials, durch Analysemodelle nachgewiesen. Hierfür wird MATLAB verwendet.
Trotz teilweiser Parallelisierung wird für die vorhandenen Millionen von Datenpunkten erheblich viel Rechenzeit verwendet.
Die Aufgabe besteht darin, den verwendeten Algorithmus zur Optimierung der Fehlerquadrate und die darin enthaltene Unterroutine zur
Berechnung der finiten Differenzen auf die Möglichkeit der Parallelisierung (PCAM) zu untersuchen.
Zudem soll eine Referenzimplementierung der Unterroutine durch Hinzunahme von bereits vorhandener Bibliotheken wie z.B. Intel MKL für
CPUs oder cuBLAS für GPUs erstellt werden.
Die Ergebnisse sollen nach erfolgreichem Abschluss im Rahmen des EXIST-Projektes in die Entwicklung des PerfAccT Compilers zur
automatischen Parallelisierung von MATLAB Code einfließen.
Betreuer: Steffen Christgau, Tobias Jaeuthe (EXIST-Projekt PerfAccT)
Literatur:
-
Domain Decomposition für automatische Parallelisierung mit MPI
Im Rahmen des Exist-Projektes PerfAccT wird ein Compiler zur automatischen Parallelisierung von MATLAB Code entwickelt. Für Berechnungen auf verteilten Systemen mit MPI können die Kommunikationspartner zum Teil erst zur Laufzeit ermittelt werden.
Die Wahl der richtigen Zerlegung (ein-, zwei- oder mehrdimensional) ist ein entscheidender Faktor für eine optimale Performance.
Die Aufgabe besteht darin, die verschiedenen Zerlegungsansätze zu untersuchen, zu implementieren und mit Hilfe von Messungen zu evaluieren.
Für die theoretische Betrachtung sollen die Vor- und Nachteile der einzelnen Verfahren hinsichtlich der Anzahl Kommunikationspartner bzw. Nachrichten, Nachrichtengrößen und Anzahl der Laufzeitprüfungen für die dynamische Ermittlung der Kommunikationspartner abgewogen werden. Daneben sollen die verschiedenen Ansätze auf Grundlage vorgegebener Datenstrukturen implementiert und auf dem Zuse-Cluster gemessen werden.
Dabei sollten auch die unterschiedlichen Sende- und Empfangsarten von MPI mit betrachtet werden.
Dadurch soll die grundsätzliche Frage geklärt werden ob zusätzliche dynamische Prüfungen der Kommunikationspartner mehrdimensionaler Zerlegungen so schwer ins Gewicht fallen wie vielleicht angenommen. Die Ergebnisse sollen nach erfolgreichem Abschluss in die Entwicklung des PerfAccT Compilers einfließen.
Betreuer: Steffen Christgau, Tobias Jaeuthe (EXIST-Projekt PerfAccT)
Literatur:
Literatur
Parallel Programming
Michael J. Quinn
Mcgraw-Hill Higher Education, 2004
Parallele Programmierung mit MPI
Peter Sanders, Thomas Worsch
Logos Verlag, 1997
Designing and Building Parallel Programs
Ian Foster
Addison Wesley, 1995
Scalable Parallel Computing: Technology, Architecture, Programming
Hwang/Xu
WCB/McGraw-Hill, 1998
Scientific Computing with Multicore and Accelerators
Jakub Kurzak, David A. Bader, Jack Dongarra
CRC Press, 2010