Parallelrechner und Parallelprogrammierung

  • Typ: Vorlesung (V)
  • Semester: SS 2019
  • Ort:

    Geb. 20.21, Raum 217

  • Zeit:

    Mittwoch, 11:30-13:00, wöchentlich

  • Dozent: Hartmut Häfner
    Prof. Dr. Achim Streit
  • SWS: 2
  • LVNr.: 24617
VoraussetzungenEmpfehlungen:

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

BeschreibungDie 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
LehrinhaltDie 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.
Arbeitsbelastung120 h / Semester, davon 30 h Präsenzzeit und 90 h Selbstlernen aufgrund der Komplexitätdes Stoffs
ZielStudierende 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üfungDie Erfolgskontrolle wird in der Modulbeschreibung erläutert.