Parallele und verteilte Algorithmen

Fakultät

Fakultät Ingenieurwissenschaften und Informatik (IuI)

Version

Version 1 vom 09.02.2026.

Modulkennung

11M1220

Niveaustufe

Master

Unterrichtssprache

Deutsch

ECTS-Leistungspunkte und Benotung

5.0

Häufigkeit des Angebots des Moduls

nur Wintersemester

Dauer des Moduls

1 Semester

 

 

Kurzbeschreibung

Parallele und verteilte Algorithmen finden Anwendung in vielen Bereichen, in denen große Datenmengen verarbeitet werden müssen oder in denen eine hohe Rechenleistung erforderlich ist. Einige Beispiele sind:

  • Wissenschaftliche Simulationen: Parallele Algorithmen werden häufig in der Wissenschaft eingesetzt, um komplexe Simulationen durchzuführen, z.B. in der Physik, Chemie, Biologie oder Geologie. Solche Simulationen erfordern oft die Verarbeitung großer Datenmengen und die Lösung von komplexen Gleichungen, die auf mehrere Prozessoren verteilt werden können.
  • Bild- und Signalverarbeitung: Parallele Algorithmen werden auch in der Bild- und Signalverarbeitung eingesetzt, um z.B. Bilder zu komprimieren, zu verschlüsseln oder zu analysieren. Solche Anwendungen erfordern oft die Verarbeitung von großen Datenmengen in Echtzeit, was nur mit parallelen Algorithmen möglich ist.
  • Datenbankanwendungen: Parallele Algorithmen können auch in Datenbankanwendungen eingesetzt werden, um z.B. große Datenmengen schnell zu durchsuchen oder zu sortieren. Solche Anwendungen erfordern oft die Verarbeitung von großen Datenmengen in kurzer Zeit, was nur mit parallelen Algorithmen möglich ist.
  • Künstliche Intelligenz und Machine Learning: Parallele Algorithmen werden auch in der künstlichen Intelligenz und im Machine Learning eingesetzt, um z.B. neuronale Netze zu trainieren oder Muster in Daten zu erkennen. Solche Anwendungen erfordern oft die Verarbeitung von großen Datenmengen und die Lösung von komplexen Optimierungsproblemen, die auf mehrere Prozessoren verteilt werden können.

Verteilte Algorithmen werden oft in Anwendungen eingesetzt, die über mehrere Computer oder Netzwerke verteilt sind. Einige Beispiele sind:

  • Cloud Computing: Verteilte Algorithmen werden häufig in Cloud-Computing-Anwendungen eingesetzt, um z.B. Daten zu speichern, zu verarbeiten oder zu analysieren. Solche Anwendungen erfordern oft die Zusammenarbeit mehrerer Computer oder Server, die über ein Netzwerk miteinander verbunden sind.
  • Internet of Things: Verteilte Algorithmen werden auch im Internet der Dinge eingesetzt, um z.B. Sensordaten zu sammeln, zu verarbeiten oder zu analysieren. Solche Anwendungen erfordern oft die Zusammenarbeit mehrerer Geräte oder Sensoren, die über ein Netzwerk miteinander verbunden sind.
  • E-Commerce: Verteilte Algorithmen können auch in E-Commerce-Anwendungen eingesetzt werden, um z.B. Bestellungen zu verarbeiten oder Kundenprofile zu analysieren. Solche Anwendungen erfordern oft die Zusammenarbeit mehrerer Server oder Datenbanken, die über ein Netzwerk miteinander verbunden sind.

Lehr-Lerninhalte

  1. Einführung
  2. Grundlagen
  3. Algorithmen
  4. Programmierung paralleler Algorithmen
  5. Ausgewählte Themen paralleler Algorithmen

Gesamtarbeitsaufwand

Der Arbeitsaufwand für das Modul umfasst insgesamt 150 Stunden (siehe auch "ECTS-Leistungspunkte und Benotung").

Lehr- und Lernformen
Dozentengebundenes Lernen
Std. WorkloadLehrtypMediale UmsetzungKonkretisierung
15VorlesungPräsenz-
15SeminarPräsenz-
15betreute KleingruppenPräsenz-
Dozentenungebundenes Lernen
Std. WorkloadLehrtypMediale UmsetzungKonkretisierung
25Veranstaltungsvor- und -nachbereitung-
70Erstellung von Prüfungsleistungen-
10Literaturstudium-
Benotete Prüfungsleistung
  • Projektbericht (schriftlich) oder
  • Klausur
Unbenotete Prüfungsleistung
  • experimentelle Arbeit
Prüfungsdauer und Prüfungsumfang

Benotete Prüfungsleistung:

  • Projektbericht, schriftlich: ca. 8-12 Seiten, dazugehörige Erläuterung: ca. 15 Minuten
  • Klausur: siehe jeweils gültige Studienordnung

Unbenotete Prüfungsleistung:

  • Experimentelle Arbeit: Experiment: insgesamt ca. 5 Versuche

Empfohlene Vorkenntnisse

Klassische Algorithmen und Datenstrukturen

Wissensvertiefung

Die Studierenden der Hochschule Osnabrück, die dieses Modul erfolgreich studiert haben, kennen wesentliche parallele und verteilte Algorithmen. Auf Basis typischer, paralleler Rechnerarchitekturen können sie parallele und verteilte Algorithmen entwerfen. Die Studierenden erwerben in einem spezifischen Thema ein detailliertes Wissen über den aktuellen Stand der Forschung.

Wissenschaftliches Selbstverständnis / Professionalität

Die Studierenden erlernen den Umgang mit aktuellen wissenschaftlichen Publikationen zum speziellen Thema sowie die Verfassung eigener wissenschaftlicher Dokumentation. Eigene Entwicklungsergebnisse werden vor einem Fachpublikum. Die Studierenden üben das wissenschaftliche Arbeiten im Rahmen eigener Literaturrecherche und -auswertung anhand eines vorgegebenen Themas.

Literatur

  1. Uelschen, Michael: Software Engineering Paralleler Systeme, Springer, 2019
  2. Robey, Robert und Yuliana Zamora: Parallel and High Performance Computing, Manning, 2020
  3. Kumar, Vipin; Grama, Ananth: Introduction to Parallel Computing, Pearson Higher Education 2003
  4. Breshears, Clay: The Art of Concurrency, O'Reilly, 2009
  5. Bengel, Günther; Baun, Christian; Kunze, Marcel; Stucky, Karl-Uwe: Masterkurs Parallele und Verteilte Systeme, Vieweg+Teubner, 2015
  6. Herlihy, Maurice; Shavit, Nir: The Art of Multiprocessor Programming, Morgan Kaufmann, 2012
  7. McCool et al: Structured Parallel Programming: Patterns for Efficient Computation, Morgan Kaufmann, 2012

Verwendbarkeit nach Studiengängen

  • Informatik
    • Informatik M.Sc. (01.09.2025)

  • Mechatronic Systems Engineering
    • Mechatronic Systems Engineering M.Sc. (01.09.2025)

    Modulpromotor*in
    • Uelschen, Michael
    Lehrende
    • Morisse, Karsten
    • Uelschen, Michael
    • Thiesing, Frank