Parallele und verteilte Systeme

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

  1. Organisatorisches, Grundlagen, Architekturen (Folien, Druck)

Mehrkern-Programmierung

  1. Parallelprogrammierung, Mehrkern-Programmierung, OpenMP
  2. Kommunikation zwischen Threads, Synchronisationstechniken
  3. Parallele Abschnitte, Datenabhängigkeiten, Mutexe

Verteilte Systeme

  1. Effiziente Parallelisierung, verteilte Systeme, Interprozesskommunikation, MPI
  2. Senden und Empfangen, gepuffert, (nicht) blockierend, (a)synchron, (nicht) lokal
  3. Kollektive Kommunikation, Verbreiten, Verteilen und Einsammeln, Reduktionsoperatoren, Abgeleitete Datentypen, Kommunikatoren und Gruppen

Massiv parallele Programmierung

  1. Datenparallelität auf Grafikprozessoren, GPGPU, OpenCL, Modell-Sichtweisen
  2. Geräteinformation, Kernel einlesen, Parameterübergabe, Zeitmessung, Compilermeldungen, Watchdog Timer, mehrdimensionale Gitter, Speicheroptimierung
  3. Parallele Reduktion, Speicherorganisation, Kernelaufrufe aufteilen, Vektordatentypen, weitere Bibliotheksfunktionen, hybride parallele Systeme
  4. Ausblick C++23, Zusammenfassung

Modellierung und Verifikation

  1. Petrinetze, mathematische Darstellung, Modellieren verteilter Systeme, formale Analyse, Spezialfälle, Verallgemeinerung
  2. (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 2023.

Die Selbsteinschreibung für diesen Moodle-Kurs fängt im Oktober 2023 an.

Die erste Übung findet am 20. Oktober 2023 (Freitag) statt.

Klausur

Klausur

  • Termin: 16. Februar 2024 um 9:30 Uhr im Seminarraum 2.16 (Schwanseestraße 143)
  • Hilfsmittel: keine

Klausurvorbereitung