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.


Veranstalter

Prof. Dr. Bettina Schnor
Max Schrötter


Modulnummern

  • Bachelor Computational Science: 1040
    • 550711 - Vorlesung
    • 550721 - Übung
    • 550701 - Prüfung

  • Master Computational Science: 7010 (nur in Absprache mit Prof. Dr. Schnor)
    • 552511 - Vorlesung
    • 552521 - Übung
    • 552501 - Prüfung

Ort/Termine

Die Vorlesung wird mittwochs von 10:00 Uhr bis 12:00 Uhr im Raum 02.25.F1.01 gehalten, donnerstags von 14:00 Uhr bis 16:00 Uhr findet die Übung im Raum 02.70.0.11 statt.

Aktuelles
Zweite Klausur 11.10.2024, 10:00 Uhr - 12:00 Uhr Universität Potsdam, 02.70.0.10
Klausureinsicht 25.09.2024, 15:00 Uhr - 16:00 Uhr Universität Potsdam, 02.70.2.03
Klausur 04.09.2024, 13:30 Uhr - 15:30 Uhr Universität Potsdam, 02.70.0.11
HPC-Cluster Führung 18.04.2024, 14:00 Uhr - 14:45 Uhr Universität Potsdam, Treffpunkt 02.70, 1.OG am Aufzug
Erste Übung 11.04.2024, 14:00 Uhr - 16:00 Uhr Universität Potsdam, Raum 02.70.0.11 Bitte Laptop mitbringen! Es gibt praktische Anleitung zur Benutzung des Clusters!
Erste Vorlesung 10.04.2024, 10:00 Uhr - 12:00 Uhr Universität Potsdam, Raum 02.25.F1.01

Materialien


Themenliste

  • 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

Anforderungen

Es müssen studienbegleitend mindestens 50% der Hausaufgabenpunkte erreicht werden, um zur abschließenden Prüfung zugelassen zu werden. Die abschließende Prüfung muss mit mindestens 4.0 bestanden werden.


Literatur

Parallel Programming: Concepts and Practice
Bertil Schmidt, Jorge Gonzalez-Dominguez, Christian Hundt, Moritz Schlarb
Morgan Kaufmann, 1. Auflage, 2017


Parallel Programming: for Multicore and Cluster Systems
Thomas Rauber, Gudula Rünger
Springer, 2. Auflage, 2013


Parallel Programming
Michael J. Quinn
Mcgraw-Hill Higher Education, 2004