Parallelrechner und Parallelprogrammierung

  • type: Vorlesung (V)
  • semester: SS 2020
  • time: 22.04.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)


    29.04.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    06.05.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    13.05.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    20.05.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    27.05.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    03.06.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    10.06.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    17.06.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    24.06.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    01.07.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    08.07.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    15.07.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)

    22.07.2020
    11:30 - 13:00 wöchentlich
    20.21 Raum 217
    20.21 Kollegiengebäude am Zirkel, Teil 2 (SCC)


  • lecturer: Hartmut Häfner
    Prof. Dr. Achim Streit
  • sws: 2
  • lv-no.: 24617
Bemerkungen

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

Aufgrund der aktuellen Situation durch das Coronavirus wird die Vorlesung voraussichtlich als Online-Lehrveranstaltung zum regulären Termin starten. Weitere Infos kommen immer über ILIAS.

Voraussetzungen

Empfehlungen:

Kenntnisse zu Grundlagen aus der Lehrveranstaltung Rechnerstrukturen [24570] sind hilfreich.

Beschreibung

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.

Literaturhinweise
  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
Lehrinhalt

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.

Arbeitsbelastung

120 h / Semester, davon 30 h Präsenzzeit und 90 h Selbstlernen aufgrund der Komplexitätdes Stoffs

Ziel

Studierende erörtern die Grundbegriffe paralleler Architekturen und die Konzepte ihrer Programmierung. Sie analysieren verschiedene Architekturen von Höchstleistungsrechnern und differenzierenzwischen verschiedene Typen anhand von Beispielen aus der Vergangenheit und Gegenwart.

Studierende analysieren Methoden und Techniken zum Entwurf, Bewertung und Optimierung paralleler Programme, die für den Einsatz in Alltags- oder industriellen Anwendungen geeignet sind und wenden diese an. Studierende können Probleme im Bereich der Parallelprogrammierung beschreiben, analysieren, und beurteilen.

Prüfung

Die Erfolgskontrolle wird in der Modulbeschreibung erläutert.