Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

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.


Info

Wenn Sie sich bezüglich eines möglichen Themas informieren möchten oder einen eigenen Themenvorschlag haben, sprechen Sie uns an!





Aktuelle Abschlussarbeitsthemen


Wir vergeben i.d.R. Themen nach Absprache. In einem ersten Gespräch versuchen wir eine Themenrichtung zu finden, zu der Sie dann Informationsmaterial erhalten und in einem zweiten Gespräch wird dann ein Thema in dieser Richtung gesucht. 

Wichtig, es muss ein Bezug zu Betriebssystemen und/oder (moderner) Hardware vorhanden sein. Reine Webanwendungen suchen wir nicht. 

Nachstehend sind ebenfalls mögliche Themen.

Erweitern
titleJava Direct Flight
Erweitern
titleHigh Performance Concurrent Ring Buffer in Java - Philipp Krause
Status
colourGreen
titleBachelor
Panel
borderStyledashed
titleBeschreibung
  • In parallelen Anwendungen wird solch ein Puffer benötigt, wenn N Threads mit einem Thread kommunizieren möchten

    • Das Kommunikationsmuster entspricht N Schreibern und 1 Leser
    • Beispielsweise, wenn N Threads Netzwerknachrichten in einen Puffer schreiben und 1 Thread diese aggregiert herausnimmt und über einen Socket verschickt.
  • In dieser Arbeit soll ein derartiger Ringpuffer in Java implementiert und evaluiert werden (ohne Netzwerk).

  • Der Ringpuffer soll eine statische Anzahl gleich großer Nachrichten (Java-Instanzen) speichern können.

  • Der Zugriff auf der Ringpuffer soll einmal mithilfe von Sperren und einmal mit sperrfreier Synchronisierung realisiert werden.

  • Die Implementierung soll hinsichtlich dem Durchsatz und der Latenz evaluiert und optimiert werden

Panel
borderStyledashed
titleReferenzen

Understanding the LMAX Disruptor

Erweitern
titleConcurrent Buddy Allocator
StatuscolourGreentitleBachelor
Panel
borderStyledashed
titleBeschreibung
  • 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

Panel
borderStyledashed
titleReferenzen

A Non-blocking Buddy System for Scalable Memory Allocation on Multi-core Machine

Erweitern
titleFaster Hash Index
StatuscolourGreentitleBachelor
Panel
borderStyledashed
titleBeschreibung
  • 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

Panel
borderStyledashed
titleReferenzen

Faster: A Concurrent Key-Value Store with In-Place Updates

Erweitern
titleLinear Road Benchmark in Java
StatuscolourGreentitleBachelor
Panel
borderStyledashed
titleBeschreibung
  • 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.

Panel
borderStyledashed
titleReferenzen

A Stream Data Management Benchmark

Erweitern
titleFast RPC based on RDMA
Status
colourBlue
titleMASTER
  Statuscolour

Status
colour

Red
titleProjekt

Panel
borderStyledashed
titleBeschreibung
  • Ein entfernter Prozeduraufruf wird häufig in verteilten Systemen verwendet

  • In der Regel sind diese Aufrufe komfortabel aber nicht immer sehr effizient

  • In dieser Projektarbeit soll zunächst der Java-basierte Ansatz DaRPC (Data Center RPC) basierend auf InfiniBand jverbs evaluiert werden

  • Später soll aufbauend auf den gewonnen Erkenntnissen ein RPC für neutrino (Bibliothek von der Abt. BS) entwickelt werden.

Panel
borderStyledashed
titleReferenzen

DaRPC: Data Center RPC

Datacenter RPCs can be General and Fast

Erweitern
titleInfiniBand Monitoring GUI
StatuscolourGreentitleBACHELOR
Panel
borderStyledashed
titleBeschreibung
  • 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
  • Die Bibliothek ist in C++ und Java verfügbar
Panel
borderStyledashed
titleReferenzen

Detector: A small library for reading the performance counters of all InfiniBand devices in a network

jDetector: A JNI-wrapper for Detector

Grafana: The open observability platform

Erweitern
titleA file system for hhuOS
StatuscolourGreentitleBACHELOR
Panel
borderStyledashed
titleBeschreibung
  • hhuOS ist ein kompakter Betriebssystem für die Lehre
  • Es ist ein multitaskingfähiges 32-Bit Betriebssystem für x86 Prozessoren

  • Geschrieben ist hhuOS in C++ und C

  • In dieser Bachelorarbeit soll ein einfaches Dateisystem für hhuOS geschrieben werden, beispielsweise angelehnt an ext2.
  • Die Integration erfolgt über die vorhandene VFS-Schnittstelle
Panel
borderStyledashed
titleReferenzen

Weitere Informationen zu hhuOS finden sich hier.

Erweitern
titleTCP/IP for hhuOS
StatuscolourGreentitleBACHELOR
Panel
borderStyledashed
titleBeschreibung
  • In dieser Bachelorarbeit soll eine bestehende TCP/IP-Implementierung auf hhuOS portiert werden
  • Es gibt beispielsweise kompakte Implementierungen aus dem Embedded Bereich, beispielsweise uIP, siehe unten.
  • In hhuOS ist ein Ethernet-Treiber vorhanden
Panel
borderStyledashed
titleReferenzen

Weitere Informationen zu hhuOS finden sich hier.

Und zu uIP aus Contiki hier.

Erweitern
titleYahoo Streaming Benchmark
title StatuscolourGreentitleBACHELOR StatuscolourRedtitleProjekt
Panel
borderStyledashed
titleBeschreibung
  • 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

    Project JDFlight (Java Direct Flight) aims at providing ultra-fast networking for Java-based big-data applica?ons, which rely on Apache Arrow [1], a unified columnar inmemory data format. This shall be achieved by implementing a transport compatible with Apache Flight, based on UCX, providing Remote Direct Memory Access (RDMA) to Apache Arrow buffers using project Panama.

    Panel
    borderStyledashed
    titleReferenzen

    Quelltext des Benchmarks ist hier.

    Erweiterte Untersuchungen werden hier beschrieben.

    httpwwwvldb/pvldb/vol12/p516-zeuch.pdf
    Erweitern StatuscolourGreentitleBACHELOR

    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.

    Panel
    borderStyledashed
    titleReferenzen
    Graal:
    Structured access to native memory in Java
    cornerwingsgithub.io/2018/07/graal-native-methods/JNA: github.com/java-native-access/jnaJavalution: github.com/javolution/javolution
    Erweitern
    titleEntwicklung eines Quiz-Systems für educode
    StatuscolourGreentitleBACHELOR
    Hinweis
    titleVorkenntnisse

    Für dieses Thema werden Vorkenntnisse im Bereich der komponentenbasierten Entwicklung von Web-Anwendungen (Angular, React, Vue.js, etc.) vorausgesetzt.

    Panel
    borderStyledashed
    titleBeschreibung

    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.

    Panel
    borderStyledashed
    titleReferenzen

    educode - YouTube Video

    Angular - Getting Started

    Nebular - Components Overview