Abgeschlossene Arbeiten

Studentische Arbeiten

Planung von effizienten Datenverteilungstopologien für Streaming Applikationen

Typ der Arbeit: Master-Thesis
Bearbeitungsstand: Abgeschlossene Arbeiten
Möglicher Beginn der Arbeit: 01.02.2022
Arbeit abgeschlossen am: 30.05.2023
Betreuer*in: M.Sc. Maximilian Kratz
Student*in: Philipp Menzel

Zurück zur Übersicht

Motivation

Das am Fachgebiet entwickelte Werkzeug lectureStudio bietet neben dem Aufzeichnen von Vorlesungen auch die Möglichkeit an diese über das Internet zu streamen. Da das Streamen von Veranstaltungen gerade auf Grund der aktuellen pandemischen Lage immer mehr an Bedeutung gewinnt, wachsen die Nutzerzahlen immer weiter und stellen damit immer größere Anforderungen an die Streaming-Infrastruktur. Am größten ist hierbei die Last gerade zu Beginn einer Vorlesungsübertragung, da bei lectureStudio alle Stream-Teilnehmer zunächst mit den Vorlesungsfolien versorgt werden müssen. Selbst bei kleinen Foliensätzen von wenigen Megabyte Größe wachsen die Bandbreitenanforderungen sehr schnell, falls alle Stream-Teilnehmer zeitnah mit einem Foliensatz versorgt werden sollen. Um diese massiven Bandbreitenanforderungen auf ein erträgliches Maß zu drücken, entstand die Idee, die Vorlesungsfolien nicht nur zentral, sondern auch über Peer2Peer-Verbindungen zu verteilen. Die Herausforderung hierbei ist es nun, diese Verteilung so zu planen, dass alle Stream-Teilnehmer ihren Foliensatz in einem gewissen Zeitlimit erhalten und gleichzeitig Bandbreiteneinschränkungen zwischen Server und Client oder Client und Client nie überschritten werden.

Aufgabenstellung

Ziel der Arbeit ist es einen Algorithmus zu entwickeln, der eine effiziente Datenverteilungstopologie für das vorgestellte lectureStudio-Streaming-Szenario konstruiert. Dafür wird die Verteilungstopologie samt der Zuordnung von Dokumenten zu Clients (die sie bereits erhalten haben) als Graph modelliert. Anschließend wird ein Algorithmus zum Aufbau einer gewünschten Topologie sowie zur Verteilung der Dokumente als eine Abfolge von Graphtransformationen beschrieben. Zu diesem Zweck ist auch eine Recherche der einschlägigen Literatur bezüglich Peer2Peer-Dateiverteilungssystemen unerlässlich.

Um die Komplexität der Arbeit in einem machbaren Rahmen zu halten, wird der Algorithmus nicht direkt in lectureStudio implementiert, sondern in einem Modellszenario. Dafür muss zunächst das lectureStudio-Szenario modelliert, und eine rudimentäre Netzwerksimulation implementiert werden, welche eher auf topologischer Ebene operiert (und Netzwerk-spezifische Details ignoriert). Als nächstes sollen Graphtransformationsregeln aufgestellt werden, welche Clients zu Relay-Clients ändern und die Zuordnung der Streaming-Datenflüsse vornehmen. Anschließend gilt es, auf Basis des vorhandenen Rahmenwerks iflye mit Hilfe von Integer Linear Programming (ILP) die optimale Menge von Modelltransformationen zu ermitteln, welche die gewünschte Datenverteilungstopologie herstellt. Im Rahmen der Arbeit wird dieses entwickelte Verfahren bezüglich der Skalierbarkeit und gegen andere Verfahren, die zum Beispiel auf Heuristiken basieren, evaluiert.

Voraussetzungen

  • Gute Java-Kenntnisse
  • Grundkenntnisse in ILP-Verfahren (wünschenswert)
  • Vorerfahrung modellgetriebene Softwareentwicklung (optional)

Zurück zur Übersicht