I725 – Parallele Algorithmierung

Modul
Parallele Algorithmierung
Parallel Programming
Modulnummer
I725 [I-725]
Version: 3
Fakultät
Informatik/Mathematik
Niveau
Master
Dauer
1 Semester
Turnus
Sommer- und Wintersemester
Modul­verantwortliche/-r

Prof. Dr.-Ing. habil. Peter Sobe
peter.sobe(at)htw-dresden.de

Dozierende

Prof. Dr.-Ing. habil. Peter Sobe
peter.sobe(at)htw-dresden.de

Lehrsprache(n)

Deutsch - 80.00 %


Englisch - 20.00 %

ECTS-Credits

5.00 Credits

Workload

150 Stunden

Lehrveranstaltungen

4.00 SWS (2.00 SWS Vorlesung | 2.00 SWS Praktikum)

Selbststudienzeit

90.00 Stunden

Prüfungs­vorleistung(en)
Keine Angabe
Prüfungsleistung(en)

Schriftliche Prüfungsleistung
Prüfungsdauer: 120 min | Wichtung: 100 %

Lehrform

2/0/2  V/Ü/P

Medienform
Keine Angabe
Lehrinhalte / Gliederung
  • Einführung in die Parallelverarbeitung: Ziele, Grenzen, Bezug zu Algorithmen, Quantifizierung des Gewinns durch Parallelverarbeitung
  • Modelle der Parallelverarbeitung
  • Hardware-Architekturen und Konzepte der parallelen Programmierung
  • Multithreading und Programmierung mit OpenMP
  • Multiprocessing und Programmierung mit MPI (Message Passing Interface)
  • Parallelisierung von Algorithmen, Verfahren zur Rechenlastverteilung
  • Fortgeschrittene Aspekte: Parallele I/O, Techniken zur Verbesserung der Zuverlässigkeit
  • Introduction to parallel computing: goals and limitations, algorithmic aspects, measures
  • Models of parallel processing
  • Hardware architectures and concepts of parallel programming
  • Multithreading and OpenMP programming
  • Multiprocessing and MPI (Message Passing Interface)
  • Algorithms and parallelisation, computational load distribution
  • Advanced topics: parallel I/O, dependability techniques
Qualifikationsziele

Die Studenten erlernen die parallele Programmierung und die Umsetzung von Algorithmen auf parallelen Rechnern, angefangen von modernen Mehrkern-CPUs bis hin zu Rechenclustern und Hochleistungsrechnern. Sie können gegebene Algorithmen mittels OpenMP sowie MPI parallelisieren und den Gewinn durch Parallelverarbeitung bewerten. Ungewünschte Effekte wie Race-Conditions oder Deadlocks, die bei paralleler Ausführung auftreten können, werden richtig erkannt und durch geeignete Synchronisation bzw. durch geeignete Kommunikationsmuster gemeistert.

Students learn how to implement algorithms on parallel computers, ranging from multi core CPUs over computer clusters to high performance computers.
They get familiar with the the OpenMP extension, for adding parallelism to existing programs. In addition, students are able to design and implement programs with MPI that can be executed within multiple workload-sharing processes. The benefit of parallel execution can be estimated and measured. Unwanted effects in parallel programs such as race conditions and deadlocks are identified in a right way and eliminated by proper synchronization and communication protocols, respectively.

Besondere Zulassungs­voraussetzung(en)
Keine Angabe
Empfohlene Voraussetzungen

Programmierung II (I-121)

Kenntnisse in imperativer und objektorientierter Programmierung, vorzugsweise in C/C++

Fortsetzungs­möglichkeiten
Keine Angabe
Literatur
  • S. Hoffmann; OpenMP; Springer, 2009
  • W.D. Gropp; MPI - eine Einführung; Oldenbourg Verlag, 2007
  • T. Rauber, G. Rünger; Parallele Programmierung; Springer Viehweg, 2012
  • T. Ungerer; Parallelrechner und parallele Programmierung, Spektrum Akademischer Verlag, Heidelberg, Berlin 1997

 

Aktuelle Lehrressourcen

Skript zur Lehrveranstaltung

Hinweise
Keine Angabe