Fachbereich Informatik
Modulbeschreibung Wintersemester 2018
English | Deutsch
  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)
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 zwingend 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/ws1819/parsys/parsys.html
LEA-Kurs: https://lea.hochschule-bonn-rhein-sieg.de/goto.php?target=crs_489914&client_id=db_040811

Bitte entnehmen Sie Termin- und Ortsangaben dem aktuellen Stundenplan.
Stand: 2018-09-14 09:51:45  –  ID: 5961  –  F: 2017  –  LS: 1