teaching:wintersemester_2017_2018:hochleistungsrechnen

This is an old revision of the document!


Vorlesung „Hochleistungsrechnen“

Beschreibung

Hochleistungsrechnen ist eine wichtige Technik der Informatik, mit deren Hilfe in den Natur- und Ingenieurwissenschaften neue Erkenntnisse gewonnen werden. Insbesondere dei durch das Hochleistungsrechnen ermöglichte computergestützte Simulation wird neben der Theorie und dem Experiment zum dritten Standbein vieler Wissenschaften. Neue Einsichten z. B. im Bereich der Klimaforschung, der Bioinformatik, der Teilchenphysik und des Automobilbaus werden durch Simulationen computerbasierter Modelle gewonnen und sind ohne Hochleistungsrechnen schon seit vielen Jahren nicht mehr möglich.

Gleichzeitig verändern sich die Rechnerarchitekturen in Arbeitsplatzrechnern: Durch den Einsatz von Mehrkern-Prozessoren finden wir auch hier Strukturen von Hochleistungsrechnern und die Programmierer müssen hierauf eingehen, wenn sie den Prozessor effizient nutzen wollen.

Die Vorlesung bietet einen Einstieg in die Konzepte des Hochleistungsrechnens und vermittelt grundlegende Kenntnisse, um mit diesen Systemen zu arbeiten.

Die Vorlesung ist in mehrere Themenblöcke gegliedert, die aufeinander aufbauen, bei entsprechenden Vorkenntnissen aber auch einzeln gehört werden können.

Im ersten Block werden Fragen der Hardware- und Software-Architektur der Systeme erläutert. Hierzu gehören auch die Vernetzung der Rechnerknoten und die E/A-Systeme. Anhand der TOP500-Liste wird die Leistungsentwicklung der vergangenen Jahre dargestellt.

Der zweite Block befaßt sich mit der Programmierung der Systeme. Nach einer allgemeinen Einführung werden die Programmierparadigmen des Nachrichtenaustausches und der Nutzung gemeinsamer Speicherbereiche eingeführt. Auch moderen Ansätze, die in Fachkreisen kontrovers dikutiert werden, sollen in der Vorlesung präsentiert werden.

Im dritten Block befassen wir uns mit der Frage, wie wir das implementierte Programm auf dem Hochleistungsrechner effizient zum Laufen bekommen. Hierzu gehört zunächst die Frage, wie wir Fehler im Programm entfernen. Danach befassen wir uns mit der Leistungsanalyse und der Leistungsoptimierung dieser Programme.

Im vierten Abschnitt werden als Ausblick verschiedene Einzelaspekte des modernen Hochleistungsrechnens diskutiert werden.

Zielgruppe

Die Vorlesung eignet sich für Studierende der Informatik in den höheren Semestern des Bachelor, für alle Studierenden mit Nebenfach Informatik sowie Doktoranden in den Natur- und Ingenieurwissenschaften, die Hochleistungsrechnen als Werkzeug verwenden.

Voraussetzungen:

Notwendige Voraussetzung für die Vorlesung:

  • Praktische Kenntnis einer Programmiersprache und die Fähigkeit, einfache Programme zu erstellen

Erwünschte Vorkenntnisse:

  • Kenntnis der Grundmechanismen von Betriebssystemen
  • Grundkenntnisse in Rechnerarchitektur

Lernziel

Die Teilnehmer werden in die Lage versetzt, parallele Programme mit verschiedenen Programmierkonzepten zu erstellen, zur Ausführung zu bringen und im Ablauf zu optimieren. Konzepte paralleler Rechnerarchitekturen werden gelehrt. Die Teilnehmer können die gewonnenen Kenntnisse auch auf modernen Arbeitsplatzrechnern mit Mehrkern-Prozessoren zur Programmierung einsetzen.

Daten der Veranstaltung

Zeit Dienstag, 14–16 Uhr und Donnerstag, 12–14 Uhr
Übung Montag, 14–16 Uhr (Gruppe 1), Dienstag, 12–14 Uhr (Gruppe 2), Dienstag, 16–18 Uhr (Gruppe 3)
Ort DKRZ, Raum 034
Mailingliste HR-1718

Dozenten

Zeitplan und Materialien

Die in der Vorlesung dargestellten Konzepte und Mechanismen des Hochleistungsrechnens werden jeweils inhaltlich abgeschlossen in einer Vorlesungsstunde präsentiert. Ein genauer und verbindlicher Zeitplan erscheint hier zu Beginn der Vorlesungszeit.

Themenplan

Kursiv markierte Themen sind nicht klausurrelevant.

  • 17.10. Einleitung
  • 19.10. Hochleistungsrechnen in der Klimaforschung
  • 24.10. Fällt aus
  • 26.10. Hardware-Architekturen
  • 02.11. Leistungsoptimierung sequentieller Anwendungen
  • 07.11. Parallele Programmierung
  • 09.11. Betriebssystemaspekte (Vortragender: Michael Kuhn)
  • 14.11. Programmierung mit OpenMP (Vortragender: Michael Kuhn)
  • 16.11. Programmierung mit POSIX-Threads (Vortragender: Michael Kuhn)
  • 21.11. Vernetzungskonzepte
  • 23.11. Programmiermodell Nachrichtenaustausch
  • 28.11. Werkzeugarchitekturen
  • 30.11. Fehlersuche
  • 05.12. Leistungsanalyse (Vortragender: Michael Kuhn)
  • 07.12. Leistungsmessung
  • 12.12. Energieeffizienz und Total Cost of Ownership
  • 14.12. Die TOP500-Liste
  • 19.12. Historische Betrachtungen
  • 21.12. Hochleistungs-Eingabe/Ausgabe (Vortragender: Michael Kuhn)
  • 09.01. Parallele Eingabe/Ausgabe
  • 11.01. Grid- und Cloudcomputing
  • 16.01. Hybride Programmierung (Vortragender: Panos Adamidis) Folien
  • 18.01. Fehlertoleranz
  • 23.01. Visualisierung in der Klimaforschung (Vortragender: Michael Böttinger)
  • 25.01. Rechnerbeschaffung
  • 30.01. Zukünftige Entwicklungen
  • 01.02. Nachbesprechung
  • 23.02. Klausur-Termin 1 (Phil B, 09:30–11:30)
  • 16.03. Klausur-Termin 2 (Phil C, 09:30–11:30)

Übungen

  • 16./17.10. Ablauf und Einführung Linux-Cluster Übungsblatt 0 Übungsblatt 1
    • Abgabe: 21.10.2017, 23:59
    • Übung am 17.10. 12-14 Uhr in Raum 023
    • Zusätzliche Informationen: Präsentation
  • 23./24.10. Debugging Übungsblatt 2
    • Abgabe: 28.10.2017, 23:59
    • Übungen am 24.10. Uhr in Raum 023
    • Zusätzliche Informationen: Makefile-Anmerkungen
  • 30./31.10. Fällt aus
  • 06./07.11. Leistungsoptimierung sequentieller Anwendungen Übungsblatt 3
    • Abgabe: 11.11.2017, 23:59
  • 13./14.11. OpenMP Übungsblatt 4
    • Abgabe: 18.11.2017, 23:59
  • 20./21.11. POSIX-Threads Übungsblatt 5
    • Abgabe: 25.11.2017, 23:59
  • 27./28.11. Einführung MPI Übungsblatt 6
    • Abgabe: 02.12.2017, 23:59
  • 04./05.12. PDE-Parallelisierungsschema Übungsblatt 7
    • Übung am 04.12. in Raum 023
    • Abgabe: 09.12.2017, 23:59
  • 11./12.12. PDE-Parallelisierung (Jacobi) Übungsblatt 8
    • Abgabe: 16.12.2017, 23:59
  • 18./19.12. PDE-Parallelisierung (Gauß-Seidel) Übungsblatt 9
    • Abgabe: 06.01.2018 und 13.01.2018, 23:59
  • 08./09.01. PDE-Parallelisierung (Gauß-Seidel) Zwischenbesprechung
  • 15./16.01. PDE-Auswertung Übungsblatt 10
    • Abgabe: 20.01.2018, 23:59
  • 22./23.01. PDE-Spurdatenanalyse Übungsblatt 11
    • Abgabe: 27.01.2018, 23:59
  • 29./30.01. Letzter Termin
teaching/wintersemester_2017_2018/hochleistungsrechnen.1543928009.txt.gz · Last modified: 2018-12-04 13:53 by Michael Kuhn

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki