Parallel and Distributed Systems

The course gives an introduction to basic concepts of parallel and distributed programming. Practical issues for programming multicore systems, for distributed computing on clusters and for massive parallelism using graphics processing units are also discussed.

The lecture is managed via the learning platform Moodle. All documents and further information can be found in the Moodle course Parallele und verteilte Systeme WiSe 20/21.

Please notice: The materials for our lectures and exercises are only available through the network of the Bauhaus-Universität Weimar.

Lecture

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++17/20, Zusammenfassung

Modellierung und Verifikation

  1. Petrinetze, mathematische Darstellung, Modellieren verteilter Systeme, formale Analyse, Spezialfälle, Verallgemeinerung
  2. (Lineare) temporale Logik, Grenzen effizienter Parallelisierung

Exercise

The course is managed using the learning platform Moodle. All documents and further information can be found in the Moodle course Parallele und verteilte Systeme WiSe 20/21

The self-enrollment for this Moodle course begins on 26th of October,
and the first exercise class takes place on 13th of November 2020.

Exam

Klausur

Termin: Freitag, den 12.02.2021, 08:00 - 10:00 Uhr im HS A, M 13C
Hilfsmittel: Keine

Klausurvorbereitung