Bachelor/Masterarbeiten

Auf dieser Seite finden Sie nützliche Informationen rund um Bachelor- und Masterarbeiten hier an unserem Lehrstuhl.

Themen für Bachelor- und Masterarbeiten

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!

Grundlegende Voraussetzungen:

  • Spaß am Programmieren (jede Abschlussarbeit erfordert bei uns eine Implementierung)
  • Für Bachelorarbeiten, eines der nachfolgenden Module:

    • "Betriebssysteme und Systemprogrammierung"
    • "Betriebssysteme" (ausgelaufen)
    • "Grundlagen Verteilter Systeme" (ausgelaufen)

  • Für Masterarbeiten:

    • Ein oder mehrere Module aus dem Angebot der Arbeitsgruppe

Weitere Informationen zu den aktuellen Forschungsprojekten der Abteilung finden Sie unter Forschung.

Abschlussarbeiten in Kooperation mit Unternehmen:
Dies ist möglich, sofern das Thema zur Expertise der Arbeitsgruppe passt. Vertraulichkeitsvereinbarungen seitens der Arbeitsgruppe sowie Sperrvermerke sind nicht möglich. Diese Punkte müssen unbedingt vorab geklärt werden.

Aktuelle Themen:

Einige Themen sind sowohl als (BA) Bachelor-, (PA) Projekt-, und (MA) Master-Arbeit geeignet. Der Umfang und die Ausgestaltung dieser Themen hängt von der Art der Abschlussarbeit ab. 

1. Nebenläufige hierarchische Adressübersetzung (PA/MA)

  • DXRAM verwendet für die Übersetzung einer globale ID auf eine lokale Speicheradresse hierarchische Seitentabellen. 
  • Eine besondere Herausforderung hierbei ist der effiziente parallele Zugriff (Einträge lesen & schreiben) für viele Datenobjekte
  • Die Adressübersetzung und die Heap-Verwaltung sind in DXRAM in einem Unterprojekt DXMem realisiert, aber dort verzahnt.
  • In dieser Arbeit soll die Adressübersetzung von der Heap-Verwaltung getrennt werden, sodass beides voneinander unabhänig implementiert und ausgetauscht werden kann.
  • Zudem soll bei der Adressübersetzung eine verbesserte Lösung für das parallele Anlegen neuer Einträge gefunden werden. Bisher ist die Implementierung optimiert auf Lesezugriffe. Beim Laden sehr großer Datenmengen ist dieser Ansatz allerdings nachteilig.
  • Weitere Informationen sind hier zu finden:

2. Heap-Verwaltung für sehr viele kleine Datenblöcke (BA)

3. Intervall-basierte Metadaten-Verwaltung (PA/MA)

  • In dieser Arbeit soll eine zentrale Intervall-basierte Metadaten-Verwaltung in Java entwickelt werden für u.U. viele Memory-Server, welche in einem Rechenzentrum laufen, ähnlich zum Ansatz bei GoogleFS.
  • Gespeichert werden soll die Zuordnung von ChunkIDs zu NodeIDs mithilfe von ChunkID-Intervallen in einem B+ Baum (nachfolgend auch Lookup-Tree genannt)

    • Ein Chunk ist ein Key-Value-Tupel wobei der Key als ChunkID bezeichnet wird und der Value sind binäre Daten
    • Eine ChunkID hat 64 Bit und besteht aus der NodeID (16 Bit) des Erzeugers des Chunks und einer LocalID (48 Bit). Die LocalID von jedem Server lokal verwaltet und sequentiell vergeben wird. Hierdurch ist eine speichereffiziente Speicherung der Abbildung ChunkID -> NodeID in Intervallen möglich.
    • Diese Art der globalen ID-Erzeugung wird beispielsweise in DXRAM verwendet

  • Als Grundlage für die Kommunikation soll Neutrino verwendet werden, eine Bibliothek, welche InfiniBand in Java zugänglich macht und es erlaubt Speicher außerhalb des Java-Heaps (mithilfe von Unsafe) zu allozieren. Auf diese Speicherbereiche kann mithilfe von InfiniBand-RDMA zugegriffen werden.
  • Die Besonderheit besteht darin, dass der Lookup-Tree für die Verwaltung der Metadaten nicht im Java-Heap, sondern im Off-Heap in Neutrino gespeichert werden soll. Dies ist notwendig, da später eine verteilte Lösung angedacht ist, bei der auch Metadaten zur Lastverteilung mithilfe von RDMA zwischen Metadaten-Servern migriert werden können sollen.
  • Im Rahmen dieser Arbeit soll auch evaluiert werden, wie groß der Speicherbedarf für einen Lookup-Tree ist bei verschiedenen Datenmigrationsmustern.
  • Werden Daten migriert, so müssen Intervalle aufgeteilt werden und somit steigt die Anzahl an Einträgen im Lookup-Tree.
  • Weitere Informationen sind hier zu finden:
  • https://coconucos.cs.uni-duesseldorf.de/forschung/pubs/2015/BigDataCloud15.pdf
  • https://github.com/hhu-bsinfo/neutrino

4. BigData-Anwendungen im Bereich der digitalen Werbeindustrie (PA/MA)

  • In einem Unternehmen aus der Medienbranche besteht die Problematik, dass erzeugte Schüssel in verschiedenen Systemen nicht zu einander passen. 
  • Es besteht daher die Notwendigkeit zu validieren, ob ein systemübergreifender, performanter Schlüsselgenerator in Form eines In-Memory Caches implementiert und die vorhandenen Systemlandschaft und Datenstrecken integriert werden kann.
  • Es handelt sich um eine externe Arbeit in Kooperation mit einem Unternehmen.

5. Apache Crail (BA)

     

Verantwortlich für den Inhalt: E-Mail sendenWE Informatik