Untersuchung von anwendungsbezogener Ressourcenverwaltung auf HPC-Systemen

Problemstellung

Möchte man ein paralleles Programm schreiben, so muss man sich bereits während des Programmierens Gedanken über die Anzahl der Prozesse und deren Kommunikation machen. Dies ist jedoch gerade im Bereich der Hochleistungsrechner nicht immer möglich. Da immer häufiger die Entwickler/innen auf ein dynamisches Verhalten der Software setzen wird die Ressourcenverteilung in einem Cluster immer komplexer. Diese Problematik soll sowohl für Softwareentwickler/innen als auch Nutzer/innen anhand von einem Beispielmodell (Erweiterung des n-Body Problems) herausgearbeitet werden und aktuelle Forschungsanzätze zur Lösung vorgestellt werden. Am Ende soll daraus eine geeignete Übungsaufgabe für das Mastermodul Cluster Computing entstehen, bei der die Studierenden die verschiedenen Probleme der zuordnung besser nachvollziehen und anhand von greifbaren Beispielen besser verstehen.

Entwurf der Gliederung

  • Einleitung (Was ist ein Cluster, warum brauchen wir Cluster und was sind die aktuellen Grenzen)
  • Grundwissen/Begriffsklärung (Architektur, Flynn Klassifizierung, was ist das Zuordnungsproblem, kurzer Exkurs zu Management Systemen und Workload Balancern)
  • Problembeschreibung des Beispielmodells
  • Vorstellung eines sequentiellen Algorithmus des Modells
  • Analyse der parallelisierbaren Teile des Algorithmus (Partitionierung und Kommunikation)
  • Gruppierung der Prozesse
  • Vorstellung eines parallelen Algorithmus des Modells
  • Analyse der entstandenen Schwierigkeiten für Entwickler/innen
  • Analyse der entstandenen Schwierigkeiten für Nutzer/innen
  • Einordnung in den aktuellen Forschungsstand (Wie geht die Forschung das Problem aktuell an)
  • Vorstellung der Übungsaufgabe
  • Ausblick (Evaluation, Optimierungsansätze, …)

Erweitertes n-Body Problem

  • n-Body Problem: Körper in einem Raum werden voneinander beeinflusst (richtung der bewegung)
  • Erweiterung: Objekte verschmelzen oder collidieren miteinander (aus zwei objekten werden x Objekte)
  • Die Objekte unterscheiden sich in folgenden Eigenschaften: Größe, Masse, Materialbeschaffenheit und ob das Objekt eher dazu mit anderen Objekten zu verschmelzen oder bei collision in mehrere Objekte zu zerspringen