I725 – Parallele Algorithmierung
Parallel Programming
Version: 3
Prof. Dr.-Ing. habil. Peter Sobe
peter.sobe(at)htw-dresden.de
Prof. Dr.-Ing. habil. Peter Sobe
peter.sobe(at)htw-dresden.de
Deutsch - 80.00 %
Englisch - 20.00 %
5.00 Credits
150 Stunden
4.00 SWS (2.00 SWS Vorlesung | 2.00 SWS Praktikum)
90.00 Stunden
Schriftliche Prüfungsleistung
Prüfungsdauer: 120 min | Wichtung: 100 %
2/0/2 V/Ü/P
- 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
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.
Programmierung II (I-121)
Kenntnisse in imperativer und objektorientierter Programmierung, vorzugsweise in C/C++
- 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
Skript zur Lehrveranstaltung