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
Steffen Christgau, Institut für Informatik
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 (Kernmodul Architekturen und Middleware für das wissenschaftliche Rechnen)
Ort/Termine
Am Dienstag, von 10:00 Uhr bis 12:00 Uhr, wird die Vorlesung im Raum 03.04.1.02 gehalten. Am Mittwoch,
von 10:00 Uhr bis 12:00 Uhr, wird die Übung im Raum 03.04.1.03 stattfinden.
Aktuelles
18.03.2014, 10:00 Uhr - 12:00 Uhr
Nachklausur im Raum 03.04.1.02
11.03.2014, 09:00 Uhr - 11:00 Uhr
Klausureinsicht im Raum 03.04.2.19
10.02.2014, 10:00 Uhr - 12:00 Uhr
Klausur im Raum 03.06.H10
Materialien
-
Übungsblatt 6
Abgabe bis zum 31.01.2014, 10:00 Uhr.
-
Übungsblatt 5
Abgabe bis zum 10.01.2014, 10:00 Uhr.
Die Programmvorlagen zur Monte-Carlo-Simulation finden Sie im Archiv blatt5_monte_carlo.tar.gz
-
Übungsblatt 4
Abgabe bis zum 13.12.2013, 10:00 Uhr.
Hinweis: Die korrekte Modulbezeichnung für OpenMPI lautet openmpi/gcc/64/1.4.3.
-
Übungsblatt 3
Abgabe bis zum 29.11.2013, 10:00 Uhr.
Hinweis zu Aufgabe 3.2: Der Pseudozufallszahlengenerator enthielt einen Zahlendreher in der Definition von RNG_MOD,
sodass die generierten Werte nicht dem zu erwarteten Zufall entsprachen. Der Fehler wurde im bereitgestellten Code
korrigiert und zudem die Funktion pr_random_f etwas vereinfacht.
-
Übungsblatt 2
Abgabe bis zum 15.11.2013, 10:00 Uhr.
Hinweis zu Aufgabe 2.3: Sie können davon ausgehen, dass ein Router pro Kommunikationsschritt gleichzeitig eine
Nachricht an alle Nachbarn verschicken kann. Dies gilt nicht für Aufgabe 2.4.
-
Übungsblatt 1
Abgabe bis zum 01.11.2013, 10:00 Uhr.
Das Archiv für die Matrixmultiplikation ist im Bereich "zusätzliches Material" verfügbar. Hinweis zur Aufgabe 1.1:
In Ihrem PBS-Script (Job) können (und sollen) Sie über ssh auf alle Knoten, die Ihnen vom RMS zugeteilt worden sind,
zugreifen. Sie arbeiten dann nicht am RMS vorbei, da das Script vom RMS auf einem Knoten ausgeführt wird, der Ihnen
zugeteilt worden ist, und Sie bei richtiger Lösung der Aufgabe auch nur die Hosts verwenden die Ihnen das RMS
zugeteilt hat. Wie man die zugeteilten Knoten ermittelt, wurde in der Übung diskutiert.
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
-
Michael J. Quinn: Parallel Programming, Mcgraw-Hill Higher Education, 2004.
-
Peter Sanders, Thomas Worsch: Parallele Programmierung mit MPI, Logos Verlag, 1997.
-
Ian Foster: Designing and Building Parallel Programs, Addison Wesley, 1995.
-
Hwang/Xu: Scalable Parallel Computing: Technology, Architecture, Programming, Boston, WCB/McGraw-Hill, 1998.
-
Jakub Kurzak, David A. Bader, Jack Dongarra (Eds): Scientific Computing with Multicore and Accelerators,
CRC Press Taylor & Francis Group