|
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
|
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 |
Teilnehmerzahl: |
bis zu 25 Studierende
|
URL: |
http://berrendorf.inf.h-brs.de/lehre/ws1920/parsys/parsys.html |
LEA-Kurs: |
https://lea.hochschule-bonn-rhein-sieg.de/goto.php?target=crs_621775&client_id=db_040811 |
Bitte entnehmen Sie Termin- und Ortsangaben dem aktuellen Stundenplan.
|
|