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 auszunutzen sind neue Programmierparadigmen, -sprachen und -werkzeuge notwendig.


Im HPC-Bereich hat die Vernetzung von Arbeitsplatzrechnern mittels leistungsfähiger Kommunikationstechnologien (z. B. Gigabit Ethernet, InfiniBand) zu einer preisgünstigen Plattform für parallele Anwendungen geführt – den sogenannten Clustern. Dabei handelt es sich heutzutage meist um hybride Systeme, d.h. um vernetzte Multicoresysteme. Ein weiterer aktueller Trend ist die Auslagerung rechenintensiver Anwendungen auf die Grafikkarte.


Die Vorlesung stellt die Konzepte der Parallelverarbeitung vor und legt ihren Schwerpunkt auf den Bereich Cluster Computing. Es werden sowohl Programmierparadigmen für Cluster Computing als auch Systemansätze zur Unterstützung paralleler Anwendungen in Clustern wie z.B. das Ressourcenmanagment besprochen.


Veranstalter

Prof. Dr. Bettina Schnor
Dipl.-Math. Petra Vogel


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 dienstags von 14:00 Uhr bis 16:00 Uhr im Raum 03.06.H01 gehalten, die Übung findet donnerstags von 12:00 Uhr bis 14:00 Uhr im Raum 03.06.H01 statt.

Aktuelles
2. Klausurtermin 09.10.2019 Universität Potsdam, genaue Zeit und Ort wird noch bekannt gegeben
Klausureinsicht 19.09.2019, 12:00 Uhr - 13:00 Uhr Universität Potsdam, Raum 03.04.02.21
Veröffentlichung der Klausurergebnisse 6.09.2019 Klausurergebnisse
1. Klausurtermin 04.09.2019, 10:30 Uhr - 12:30 Uhr Universität Potsdam, Raum 03.06.H05
Exkursion an das Leibniz-Institut für Astrophysik Potsdam (AIP) 11.07.2019, 12:00 Uhr - 14:00 Uhr AIP, An der Sternwarte 16, 14476 Potsdam Im Rahmen der Vorlesung Paralleles Rechnen, findet eine Exkursion an das AIP statt.
Erste Veranstaltung 16.04.2019, 14:00 Uhr Universität Potsdam, Raum 03.06.H01

Materialien


Themenliste

  • Parallelrechnerarchitekturen
  • Programmiermodelle für parallele Anwendungen
  • Programmiermodelle für Multicoresysteme: Beispiel POSIX-Threads, OpenMP
  • Programmiermodelle für Cluster Computing: Beispiel MPI
  • Scientific Computing: Beispiel: Fortran 90 und High Performance Fortran
  • Graphenbasierte Modellierung von parallelen Programmen
  • Leistungsanalyse von parallelen Anwendungen
  • Clustertechnologie: 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: for Multicore and Cluster Systems
Thomas Rauber, Gudula Rünger
Springer, 2. Auflage, 2013


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


Scalable Parallel Computing: Technology, Architecture, Programming
Hwang/Xu
WCB/McGraw-Hill, 1998


Parallele Programmierung mit MPI
Peter Sanders, Thomas Worsch
Logos Verlag, 1997


Designing and Building Parallel Programs
Ian Foster
Addison Wesley, 1995


Scientific Computing with Multicore and Accelerators
Jakub Kurzak, David A. Bader, Jack Dongarra
CRC Press, 2010