|
Parallele Systeme
|
Modulverantwortliche(r): |
Prof. Dr. Rudolf Berrendorf |
Dozent/-in: | Prof. Dr. Rudolf Berrendorf |
Zuordnung: |
Master Informatik, 1. Semester, MI-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)
|
Modul(e): |
MI-1-WPS-1/2/3/4, MI-2-WPS-1/2/3/4, MI-3-WPS-1, MVG-2-WPF-1, MVG-3-WPF-1
|
SWS: |
Vorlesung: 2 / Übung: 2
|
Arbeitsaufwand: |
Präsenzstudium: 60 Stunden / Eigenstudium: 120 Stunden
|
Sprache: |
Deutsch und Englisch |
Vorausgesetzte Vorkenntnisse: |
Fundierte Kenntnisse zur parallelen Programmierung (insbesondere OpenMP und MPI), parallelen Prozessor- und Rechnerarchitekturen, Kohärenzprotokolle und Speicherkonsistenzmodelle sowie Grundlagen der Parallelität, wie sie in der Veranstaltung "Programmierung paralleler Anwendungen" gelehrt werden, sind erforderlich. Weiterhin Kenntnisse der internen Arbeitsweise von Betriebssystemen (Prozesse und Threads, Speicherverwaltung, Scheduling, Synchronisation), zur Graphentheorie und zum praktischen Umgang mit der Programmiersprache C. |
Angestrebte Lernergebnisse: |
Die Studierenden können effiziente parallele Softwaresysteme 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 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). Ein Schwerpunkt der Veranstaltung ist die Thematik der Lastverteilung in parallelen Systemen. Folgende Themen werden vertieft behandelt:
- Einführung und Motivation
- Aufbau paralleler Systeme
- Leistungsanalyse von parallelen Programmen
- Parallelisierung von Programmen
- Optimierung paralleler Programme
- Lastausgleich
- Parallele Ein-/Ausgabe
|
Studienleistung: |
Prüfung
Die Credits werden erteilt, wenn mindestens 70% der Übungsaufgaben erfolgreich bearbeitet werden und eine mündliche oder schriftliche Prüfung zum Ende der Veranstaltung erfolgreich bestanden wird.
|
Medienformen: |
Vorlesungsfolien, Tafel, Übungsaufgaben, Beispielprogramme, Skript zu ausgewählten Kapiteln |
Literatur: |
Ananth Grama et.al.: Introduction to Parallel Computing. Second Edition, Addison-Wesley, 2003
Thomas Rauber, Gundula Rünger: Parallel Prfogrammierung. 3.Auflage, Springer 2012
Gadi Taubenfeld: Synchronization Algorithms and Concurrent Programming. Prentice Hall, 2006
Barry Wilkinson, Michael Allen: Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers. Second Edition, Pearson Education International, 2005
Michael Quinn: Parallel Programming in C with MPI and OpenMP. McGraw-Hill, 2003
Uptal Banerjee: Dependence Analysis, Kluwer Acedemic Publishers, 1997
Michel Dubois, Murali Annavaram, Per Stenström: Parallel Computer Organization and Design
David A. Patterson, John L. Hennessy: Computer Organization and Design. 5th edition, Morgan Kaufmann, 2013 |
URL: |
https://berrendorf.inf.h-brs.de/lehre/ws2021/parsys/parsys.html |
LEA-Kurs: |
https://lea.hochschule-bonn-rhein-sieg.de/goto.php?target=crs_796642&client_id=db_040811 |
Bitte entnehmen Sie Termin- und Ortsangaben dem aktuellen Stundenplan.
|
|