Parallel computer systems and parallel programming

Content

Die Vorlesung gibt eine Einführung in die Welt moderner Parallel- und Höchstleistungsrechner, des Supercomputings bzw. des High-Performance Computings (HPC) und die Programmierung dieser Systeme.

Zunächst werden allgemein und exemplarisch Parallelrechnersysteme vorgestellt und klassifiziert. Im Einzelnen wird auf speichergekoppelte und nachrichtengekoppelte System, Hybride System und Cluster sowie Vektorrechner eingegangen. Aktuelle Beispiele der leistungsfähigsten Supercomputer der Welt werden ebenso wie die Supercomputer am KIT kurz vorgestellt.

Im zweiten Teil wird auf die Programmierung solcher Parallelrechner, die notwendigen Programmierparadigmen und Synchronisationsmechanismen, die Grundlagen paralleler Software sowie den Entwurf paralleler Programme eingegangen. Eine Einführung in die heute üblichen Methoden der parallelen Programmierung mit OpenMP und MPI runden die Veranstaltung ab.

Die Erfolgskontrolle wird in der Modulbeschreibung erläutert. Dies ist bisher eine mündliche Einzelprüfung.

Der Arbeitsaufwand beträgt 120 h / Semester, davon 30 h Präsenzzeit und 90 h Selbstlernen aufgrund der Komplexität des Stoffs

Auch wenn die Corona-Zahlen etwas anderes sagen, ist derzeit geplant, dass die Vorlesung am 20.4.2022 in Präsenz in SR217 in Geb. 20.21 startet. Weitere Infos kommen im Verlauf der Vorlesung dann ggf. über ILIAS.

Language of instructionGerman
Bibliography
  1. David E. Culler, Jaswinder Pal Singh, Anoop Gupta: “Parallel computer architecture: a hardware, software approach”, Morgan Kaufmann, 1999, ISBN 1-55860-343-3
  2. Theo Ungerer: „Parallelrechner und parallele Programmierung“, Spektrum Verlag, 1997, ISB: 3-8274-0231-X
  3. John L. Hennessy, David A. Patterson: “Computer architecture: a quantitative approach (4. edition)”, Elsevier, 2007, ISBN 0-12-370490-1, 978-0-12-370490-0
  4. Kai Hwang, Zhiwei Xu: “Scalable parallel computing: technology, architecture, programming”, McGraw-Hill, 1998, ISBN 0-07-031798-4
  5. William Gropp, Ewing Lusk, Anthony Skjellum: “Using MPI: portable parallel programming with the message-passing interface (2. edition)”, MIT Press, 1999, ISBN 0-262-57132-3, 0-262-57134-X
  6. Barbara Chapman, Gabriele Jost, Ruud van der Pas: “Using OpenMP: portable shared memory parallel programming”, MIT Press, 2008, ISBN 0-262-53302-2, 978-0-262-53302-7