Fachbereich Informatik
Modulbeschreibung Wintersemester 2025
English | Deutsch
  Parallele Systeme
Modulverantwortliche(r):

Prof. Dr. Rudolf Berrendorf

Dozent/-in:Prof. Dr. Rudolf Berrendorf
Zuordnung: Master Informatik, 1. Semester, MI-2024-WPS-KS (6 CP)
Master Informatik, 2. Semester, MI-WPS-KS (6 CP)
Master Informatik, 3. Semester, MI-WPS-KS (6 CP)
Master Visual Computing & Games Technology, 2. Semester, MVG-WPF (6 CP)
Master Visual Computing & Games Technology, 3. Semester, MVG-WPF (6 CP)
Master Cyber Security & Privacy, 1. Semester, MCSP-WPF (6 CP)
Master Cyber Security & Privacy, 2. Semester, MCSP-WPF (6 CP)
Modul(e): MCSP-1-WPF-1, MCSP-2-WPF-1, MI-2024-1-WPS-1/2/3/4, MI-2024-2-WPS-1/2/3/4, MI-2024-3-WPS-1, MVG-2-WPF-1, MVG-3-WPF-1
SWS: Vorlesung: 2 / Übung: 2
Arbeitsaufwand: Präsenzstudium: 60 Stunden / Eigenstudium: 120 Stunden
Vorausgesetzte Vorkenntnisse:

Kenntnisse zur parallelen Programmierung (insbesondere OpenMP und MPI), parallelen Prozessor- und Rechnerarchitekturen sowie Grundlagen der Parallelität, wie sie in der Veranstaltung "Programmierung paralleler Anwendungen" gelehrt werden, werden vorausgesetzt. Weiterhin werden Kenntnisse der internen Arbeitsweise von Betriebssystemen (Prozesse und Threads, Speicherverwaltung, Scheduling, Synchronisation), zur Graphentheorie und zum praktischen Umgang mit der Programmiersprache C oder C++ vorausgesetzt.

Angestrebte Lernergebnisse:

Die Studierenden können effiziente parallele Softwaresysteme im Bereich High Performance Computing (HPC) entwickeln und existierende parallele Systeme hinsichtlich ihrer Leistung analysieren und optimieren. Sie kennen dazu entsprechende Techniken und Methoden und sind in der Lage, diese auch selbst weiter zu entwickeln.

Inhalt:

In der Veranstaltung werden spezielle Fragestellungen zur Entwicklung und Optimierung sequentieller, aber insbesondere paralleler Softwaresysteme behandelt. Dazu werden Analysemethoden und adäquate Darstellungsformen (z.B. Datenabhängigkeitsanalyse, Lokalitätsbetrachtungen, Task Graph) für bestimmte Problemstellungen vorgestellt und Möglichkeiten untersucht, Leistungsprobleme in parallelen Programmen zu vermeiden beziehungsweise erkannte Probleme zu beseitigen (zum Beispiel durch geeignete Programmtransformationen). Schwerpunkte der Veranstaltung sind die Lokalität von Daten sowie der Lastausgleich in parallelen Systemen. Folgende Themen werden vertieft behandelt:

  • Aufbau paralleler Hardware-Systeme
  • Leistungsanalyse sequentieller und paralleler Programme
  • Datenabhängigkeiten (Bedeutung, Techniken zur Behandlung)
  • Optimierung von Speicherzugriffen (Speicherkohärenz, Konsistenzmodelle, Lokalität, Caches, NUMA-Systeme)
  • Latenzvermeidung und -tolerierung
  • Effiziente Synchronisation
  • Lastausgleich in parallelen Systemen (u.a. Schleifenscheduling, raumfüllende Kurven, Graphpartitionierung)
  • Parallele Ein-/Ausgabe
Studienleistung: Prüfung

Prüfung. Eine mündliche Prüfung oder Klausur (je nach Teilnehmerzahl).

Als Vorleistung müssen während des Semesters mindestens 70% der Übungsaufgaben erfolgreich bearbeitet werden.

Medienformen:

Vorlesungsfolien, Tafel, Übungsaufgaben, Beispielprogramme, Skript für ausgewählte Kapitel

Literatur:
  • Skript für ausgewählte Kapitel
  • Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar: Introduction to Parallel Computing. Second Edition, Addison Wesley, 2003
  • Gadi Taubenfeld: Synchronization Algorithms and Concurrent Programming. Prentice Hall, 2006
  • Uptal Banerjee: Dependence Analysis, Kluwer Acedemic Publishers, 1997
  • Michel Dubois, Murali Annavaram, Per Stenström: Parallel Computer Organization and Design. Cambridge University Press
URL: https://berrendorf.inf.h-brs.de/lehre/ws2526/parsys/parsys.html

Bitte entnehmen Sie Termin- und Ortsangaben dem aktuellen Stundenplan.
Stand: 2025-07-16 09:52:44  –  ID: 7953  –  F: 2017  –  LS: 0