Themen für Abschlussarbeiten sind in der Regel im Umfeld der aktuellen Forschungsaktivitäten der Abteilung angesiedelt, im Umfeld verteilter Speichersysteme (BigData/Graph-Verarbeitung in Cluster-/Cloud-Umgebungen). Auch eigene Themenvorschläge können berücksichtigt werden, sofern sie thematisch zum Abteilungsprofil passen. Eine Liste möglicher Themen findet sich am Ende der Seite.
Wenn Sie sich bezüglich eines möglichen Themas informieren möchten oder einen eigenen Themenvorschlag haben, sprechen Sie uns an!
Aktuelle Abschlussarbeitsthemen
BACHELOR
Beschreibung
Sobald viele Threads gleichzeitig Speicher allozieren wollen, so müssen diese Anfragen synchronisiert werden. Hierzu können Sperren oder Spinlocks verwendet werden.
Je nachdem wie die Synchronisierung gelöst wurde kann die Skalierbarkeit hinsichtlich der Anzahl Threads dadurch sehr stark eingeschränkt werden
In der nachstehenden Publikation wurde ein skalierbares nicht-blockierendes Buddy-System veröffentlicht
In dieser Bachelorarbeit soll dieser Ansatz in Java für den Unsafe-Speicherbereich implementiert und anschließend evaluiert werden
Der Unsafe-Speicher wird außerhalb des Java-Heaps manuell verwaltet und damit auch außerhalb der Kontrolle des Garbage Collectors
Viele In-Memory Key-Value Stores verwenden zur Verwaltung des lokalen Speichers eine Hash-Tabelle für die Abbildung von der globalen ID (engl. key) auf eine lokale virtuelle Adresse.
Faster Hash Index ist ein solcher Ansatz, welcher es zudem ermöglicht die Hash-Tabelle dynamisch zu vergrößern
In dieser Bachelorarbeit soll dieses Konzepte in Java implementiert werden, einmal im Java Heap und einmal in Unsafe
Beide Ansätze sollen evaluiert und verglichen werden
Ziel der Arbeit ist es, den Linear Road Benchmark, der auf veraltete Linux- und Perlpakete zurückgreift, in Java neu zu implementieren und mit Apache Flink zu testen.
Auf Basis einer bestehenden Bibliotheken zur Überwachung von InfiniBand-Netzwerken soll eine grafische Oberfläche erstellt werden, welche diese Daten aufbereitet und übersichtlich darstellt
Die Oberfläche kann beispielsweise mit Grafana erstellt werden
Der Yahoo Streaming Benchmark wurde entwickelt, um Streaming-Systeme hinsichtlich ihrer Geschwindigkeit vergleichen zu können.
In dieser Arbeit sollen die Streaming-Systeme Flink, Storm und Spark auf de m Cluster der Arbeitsgruppe evaluiert werden (mit Ethernet und InfiniBand IPoIB)
Hierzu müssen die bestehenden Systeme genau verstanden werden sowie auch der Benchmark und dessen Anbindung für das jeweilige System
Java wird häufig auch für die Entwicklung von Big-Data-Systemen verwendet. Hierbei werden die zu verarbeitenden Daten aus Geschwindigkeitsgründen oft außerhalb des Java-Heaps verwaltet wofür die Klasse Unsafe verwendet werden kann. Hiermit kann der Speicher aber nur umständlich wortweise gelesen und geschrieben werden. Es gibt einige Projekte die einen strukturierten Zugriff auf Speicher außerhalb des Java-Heaps realisieren. Graal VM ist beispielsweise eine solche Lösung von Oracle. Im Rahmen dieser Bachelorarbeit soll recherchiert werden, welche weiteren relevanten Ansätze es gibt. Die Techniken für den strukturierten Speicherzugriff sollen beschrieben und in Experimenten evaluiert und verglichen werden.
Für dieses Thema werden Vorkenntnisse im Bereich der komponentenbasierten Entwicklung von Web-Anwendungen (Angular, React, Vue.js, etc.) vorausgesetzt.
Beschreibung
Innerhalb von educode ist es bislang ausschließĺich möglich Programmieraufgaben interaktiv zu bearbeiten bzw. lösen. Für einen besseren Lernerfolg wäre ein Angebot verschiedener Quizze zu den aktuell behandelten Themenbereichen wünschenswert. Ziel dieser Arbeit ist es daher, ein Quiz-System, welches verschieden Fragentypen (Single- und Multiple-Choice, Lückentext, Zuordnung, etc.) sowie verschiedene Modi (Zeitbeschränkung, Randomisierte Fragen, Mehrfachbearbeitung, etc.) unterstützt, zu entwickeln. Ebenso soll eine Auswertung der Ergebnisse in Form diverser Diagramme erfolgen können. Den Nutzern der Plattform soll somit die Möglichkeit gegeben werden ihr Wissen zu prüfen und eventuelle Defizite besser zu erkennen.