Die Lehrveranstaltung gibt eine Einführung in die grundlegenden Konzepte paralleler und verteilter Programmierung. Behandelt werden aber auch praktische Aspekte zur Programmierung von Mehrkern-Systemen, die verteilte Berechnung auf Rechnerclustern und die massive Parallelität mittels Grafikprozessoren.
Die Vorlesung wird über die Lernplattform Moodle verwaltet. Alle Dokumente und weitere Informationen finden Sie im Moodle-Kurs Parallele und verteilte Systeme.
Bitte beachten Sie: Die Unterlagen zu unseren Vorlesungen und Übungen sind nur aus dem Netzwerk der Bauhaus-Universität Weimar erreichbar.
Vorlesung
Einführung
- Organisatorisches, Grundlagen, Architekturen (Folien, Druck)
Mehrkern-Programmierung
- Parallelprogrammierung, Mehrkern-Programmierung, OpenMP
- Kommunikation zwischen Threads, Synchronisationstechniken
- Parallele Abschnitte, Datenabhängigkeiten, Mutexe
Verteilte Systeme
- Effiziente Parallelisierung, verteilte Systeme, Interprozesskommunikation, MPI
- Senden und Empfangen, gepuffert, (nicht) blockierend, (a)synchron, (nicht) lokal
- Kollektive Kommunikation, Verbreiten, Verteilen und Einsammeln, Reduktionsoperatoren, Abgeleitete Datentypen, Kommunikatoren und Gruppen
Massiv parallele Programmierung
- Datenparallelität auf Grafikprozessoren, GPGPU, OpenCL, Modell-Sichtweisen
- Geräteinformation, Kernel einlesen, Parameterübergabe, Zeitmessung, Compilermeldungen, Watchdog Timer, mehrdimensionale Gitter, Speicheroptimierung
- Parallele Reduktion, Speicherorganisation, Kernelaufrufe aufteilen, Vektordatentypen, weitere Bibliotheksfunktionen, hybride parallele Systeme
- Ausblick C++23, Zusammenfassung
Modellierung und Verifikation
- Petrinetze, mathematische Darstellung, Modellieren verteilter Systeme, formale Analyse, Spezialfälle, Verallgemeinerung
- (Lineare) temporale Logik, Grenzen effizienter Parallelisierung
Übung
Für die Übung wird die Lernplattform Moodle genutzt. Alle Unterlagen und weitere Informationen finden Sie unter dem Moodle-Kurs Parallele und verteilte Systeme WiSe 2024/25.
Die Selbsteinschreibung für diesen Moodle-Kurs fängt im September 2024 an.
Die erste Übung findet am 25. Oktober 2024 (Freitag) statt.
Prüfung
Klausur
- Termin: wird noch bekannt gegeben
- Hilfsmittel: keine
Klausurvorbereitung