Vorlesung Konzepte paralleler Programmierung
Waren Anfang des Jahrtausends parallele Systeme noch dem High-Performance-Computing (HPC) vorbehalten, so haben sie mit dem Hardware-Trend hin zu Multicoresytemen mittlerweile auch im Desktop-PC und Serverbereich Einzug gehalten. Um diese Hardwareplattformen optimal ausnutzen zu können, sind spezielle Programmierparadigmen, -sprachen und -werkzeuge notwendig.
Im HPC-Bereich hat die Vernetzung von Arbeitsplatzrechnern mittels leistungsfähiger Kommunikationstechnologien (z. B. Gigabit Ethernet, InfiniBand, RoCE) zu einer preisgünstigen Plattform für parallele Anwendungen geführt – den sogenannten Compute Clustern.
Die Vorlesung stellt die Konzepte der Parallelverarbeitung vor und legt ihren Schwerpunkt auf den Bereich Cluster Computing:
- Parallelrechnerarchitekturen
- Programmiermodelle für parallele Anwendungen
- Graphenbasierte Modellierung von parallelen Programmen
- Parallelisierung gemäß PCAMV-Modell
- Programmiermodelle für Multicoresysteme: POSIX-Threads, OpenMP
- Programmiermodell für Cluster Computing: MPI
- Scientific Computing: Beispiel: Fortran 2008 und CAF (Co-array Fortran)
- Leistungsanalyse von parallelen Anwendungen
- Clustertechnologie: Ressourcenmanagementsysteme, Scheduling und Mapping, Netzwerke, Leichtgewichtprotokolle
Veranstalter
Prof. Dr. Bettina Schnor
Max Lübke
Modulnummern
- Bachelor Computational Science: 1040
- 550712 - Vorlesung und Übung
- 550713 - Klausur
- Master Computational Science: 7010 (nur in Absprache mit Prof. Dr. Schnor)
- 552531 - Vorlesung
- 552532 - Übung
- 552533 - Klausur
-
Master Data Science: INF-DS-C2: Data Infrastructures and Software
Engineering (nur in Absprache mit Prof. Dr. Schnor)
- 557114 - Vorlesung
- 557115 - Übung
- 557112 - Klausur
Ort/Termine
Die Vorlesung wird mittwochs von 10:00 Uhr bis 12:00 Uhr im Raum 02.27.1.01 gehalten, die Übungen finden donnerstags von 10:00 Uhr bis 14:00 Uhr im Raum 2.70.0.10 und freitags von 12:00 Uhr bis 14:00 Uhr im Raum 02.25.F1.01 statt.