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, Institut für Informatik und Computational Science
Steffen Christgau, Institut für Informatik und Computational Science


Modulnummern

  • Bachelor Informatik:
    3010, 3020, 3030, 3040, 3050, 3060, 5010, 5020, 5030, 5040, 5050, 5060
  • Master Informatik:
    3011, 3021, 3031, 5011, 5021, 5031
  • Master Computational Science:
    7010

Ort/Termine

Am Dienstag, von 10:00 Uhr bis 12:00 Uhr, wird die Vorlesung im Raum 03.04.1.02 gehalten. Am Donnerstag, von 12:30 Uhr bis 14:00 Uhr, wird die Übung im Raum 03.04.1.03 stattfinden.

Aktuelles
Noten Nachklausur 28.04.2015 Die Ergebnisse der Nachklausur sind veröffentlicht.
Nachklausur 31.03.2015, 10:00 Uhr - 12:00 Uhr
Klausureinsicht 03.03.2015, 09:00 Uhr - 11:00 Uhr Universität Potsdam, Raum 03.04.2.19
Notenbekanntgabe 24.02.2015 Die Klausurergebnisse sind veröffentlicht.
Klausur 17.02.2015, 09:30 Uhr - 11:30 Uhr Universität Potsdam, Raum 03.06.H02
Klausurzulassungen 09.02.2015 Die Klausurzulassungen (vorbehaltlich der Prüfungsanmeldung) sind veröffentlicht. Hinweise zur Klausur wurden am 4. Februar über PULS verschickt.
Exkursion 20.01.2015, 10:15 Uhr - 11:45 Uhr Max-Planck-Institut Golm Der traditionelle CA-Wettbewerb findet auch in diesem Jahr statt. Die Modalitäten sind auf den Folien zur siebten Übung erläutert. Der Referenzautomat findet sich im Materialverzeichnis.
CA-Wettbewerb 18.12.2014 Der traditionelle CA-Wettbewerb findet auch in diesem Jahr statt. Die Modalitäten sind auf den Folien zur siebten Übung erläutert. Der Referenzautomat findet sich im Materialverzeichnis.

Materialien


  • Übungsblatt 5 (Hinweise)
    Abgabe bis zum Fr, 30.01.2015, 10:00 Uhr.
  • Übungsblatt 4
    Abgabe bis zum Fr, 16.01.2015, 10:00 Uhr.
    ergänzende Hinweise: Verwenden Sie für Aufgabe 4.3 den aktuellen GCC-Compiler (Version 4.9.1). Sie müssen das entsprechende GCC-Modul auch zur Ausführung des OpenMP-Programms (d.h. in Ihrem PBS-Skript) laden. Verwenden Sie eine ausreichend hohe Sample-Zahl für die Messungen, sodass die Laufzeit auch bei mehreren Threads einige Sekunden beträgt. Richtwert: 1 Milliarde.
  • Übungsblatt 3
    Abgabe bis zum Fr, 12.12.2014, 10:00 Uhr.
  • Übungsblatt 2
    Abgabe bis zum Mo, 24.11.2014, 15:00 Uhr.
    Youtube-Video mit dem Beispielautomaten aus der Übung. Vorsicht: Der Titel und die Einleitung sind irreführend. Hier wird schon die optimierte Teilmengenkonstruktion zur Umwandlung des NEA in einen DEA vergenommen (vgl. Folien der Theorie-Vorlesung). Eine ausführlichere Beschreibung findet sich in diesem Video.
  • Übungsblatt 1
    Abgabe bis zum Fr, 07.11.2014, 10: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
  • Programmiermodelle für Grafikkarten: CUDA, OpenCL, OpenACC
  • Graphenbasierte Modellierung von Parallelen Programmen
  • Leistungsanalyse von parallelen Anwendungen
  • Clustertechnologie: Netzwerke, High-Performance Computing

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 mit 4.0 bestanden werden.


Literatur

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


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