Vorlesung Paralleles Rechnen

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
Steffen Christgau


Modulnummern

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

  • Master Computational Science: 7010
    • 541411 - Vorlesung
    • 541421 - Übung
    • 541401 - Prüfung

Ort/Termine

Die Vorlesung wird dienstags von 12:00 Uhr bis 14:00 Uhr im Raum 03.04.1.02 gehalten, die Übung findet mittwochs von 12:00 Uhr (s.t) bis 13:30 Uhr im Raum 03.04.1.02 statt.

Aktuelles
Nachklausur 20.09.2017, 9:00 Uhr - 11:00 Uhr Universität Potsdam, Raum 03.04.2.01
Klausureinsicht 12.09.2017, 9:00 Uhr - 11:00 Uhr Universität Potsdam, Raum 03.04.2.19
Notenbekanntgabe 05.09.2017 Notenliste
Klausurtermin 02.08.2017, 12:00 Uhr - 15:00 Uhr Universität Potsdam, Raum 03.06.H02
Exkursion 05.07.2017, 12:00 Uhr - 14:00 Uhr Max-Planck-Institut Im Rahmen der Vorlesung "Paralleles Rechnen", werden wir eine Exkursion zum Max-Planck-Institut für Gravitationsphysik unternehmen.
Treffpunkt: Zentralgebäude Max-Planck-Campus
Erste Veranstaltung 25.04.2017, 12:00 Uhr - 14:00 Uhr Universität Potsdam, Raum 03.04.1.02

Materialien


  • Klausurzulassung
  • Übungsblatt 5
    Abgabe bis zum Fr., 14.07.2016, 14:00 Uhr.
  • Übungsblatt 4
    Hinweis zu Aufgabe 4.2: Die (nicht deklarierte) Variable result ist durch die (deklarierte) Variable hits zu ersetzen!
    Hinweis zu Aufgabe 4.3: Der Quellcode von Teilaufgabe 1 und 3 ist abzugeben!
    Abgabe bis zum Fr., 30.06.2016, 14:00 Uhr.
  • Übungsblatt 3
    Abgabe bis zum Fr., 16.06.2016, 14:00 Uhr.
  • Übungsblatt 2
    Abgabe bis zum Fr., 02.06.2016, 14:00 Uhr.
  • Übungsblatt 1
    Abgabe bis zum Fr., 12.05.2016, 14:00 Uhr.

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