Softwareprojekt Parallele Systeme

Die optimale Nutzung moderner Rechnerarchitekturen ist keine einfache Aufgabe, weshalb Wissenschaftlerinnen und Wissenschaftler bei der Entwicklung vor immer neue Herausforderungen gestellt werden. Insbesondere die Ein-/Ausgabe stellt dabei häufig einen Flaschenhals dar. Für die effiziente Entwicklung und Nutzung solcher Systeme ist daher ein tiefgehendes Verständnis der Hard- und Softwareumgebung sowie möglicher Ursachen für Leistungsprobleme unabdingbar.

Unter einem Parallelrechner versteht man einen Rechner, auf dem Anwendungen echt parallel ausgeführt werden können. Heutzutage sind selbst mobile Geräte kleine Parallelrechner, da mehrere Prozessorkerne eine echt parallele Abarbeitung von Anwendungen erlauben. Daher gewinnt die Entwicklung leistungsfähiger paralleler Systeme und Algorithmen immer mehr an Bedeutung und Wichtigkeit. Supercomputer besitzen bis zu mehrere Millionen Prozessorkerne und erlauben die Durchführung hochkomplexer Analysen und Simulationen. Auch die dabei anfallende und exponentiell wachsende Datenmenge muss gespeichert, analysiert und weiterverarbeitet werden.

Im Rahmen des Projekts werden verschiedene Aspekte paralleler Systeme mithilfe moderner Methoden genauer analysiert und evaluiert. Leistungskritische Komponenten werden dabei häufig in hardwarenahen Sprachen wie C, C++ oder Rust entwickelt, während einfacher zu erlernende Sprachen wie Python eine komfortable Nutzung durch Anwender erlauben. Konkrete Themen orientieren sich stark an aktuellen Forschungsfragen und werden daher erst am Einführungstermin vorgestellt.

Veranstaltungsdaten

Lernziel

Die Teilnehmenden lernen, ein gegebenes Thema im Team selbstständig zu erarbeiten und den anderen Teilnehmenden in verständlicher Weise zu präsentieren.

Voraussetzungen

Empfohlene Vorkenntnisse:

  • Grundlegende Kenntnisse der parallelen Programmierung bzw. paralleler Systeme
  • Kenntnis der Grundmechanismen von Betriebssystemen (z. B. Technische Informatik)
  • Grundkenntnisse in Rechnerarchitekturen sowie Algorithmen und Datenstrukturen

Zeitplan

  • 11.04.2024: Themenvorstellung
  • 02.05.2024: Zwischenbesprechung
  • 30.05.2024: Zwischenbesprechung
  • 13.06.2024: Zwischenbesprechung
  • 27.06.2024: Zwischenbesprechung
  • 11.07.2024: Zwischenbesprechung
  • 29.08.2024: Abschlussbesprechung

Last Modification: 10.07.2024 - Contact Person: Webmaster