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
titleAutomatic Code-Striping for jextract
Status
colourGreen
titleBachelor
Panel
borderStyledashed
titleBeschreibung
  • OpenUCX bietet verschiedene Parameter für das Buffer-Management
  • Im Rahmen dieser Arbeit soll UCX und insbesondere das Buffer-Management beschrieben werden
  • Darauf aufbauend sollen Mikrobenchmarks geschrieben werden, um optimale Konfigurationen für verschiedene Workloads experimentell zu bestimmen
Panel
borderStyledashed
titleReferenzen
Erweitern
titleRDMA und NVRAM für Java
Status
colourBlue
titleMaster
StatuscolourRedtitlePROJEKT
Panel
borderStyledashed
titleBeschreibung
  • Infinileap wird an der HHU entwickelt und erlaubt Java-Anwendungen auf Daten in einem entfernten Speicher über InfiniBand RDMA zuzugreifen.
  • EasyNVJ (Easy Non-Volatile Java) ist eine Bibliothek, ebenfalls an der HHU entwickelt, welche einen strukturierten Zugriff auf Daten, außerhalb des Java-Heaps, ermöglicht, in Hinblick auf NVRAM, also persistente Daten. Hierfür verwendet EasyNVJ Byte-Code Instrumentierung.

  • In dieser Projekt-/Masterarbeit sollen die beiden Konzepte miteinander verknüpft und erweitert werden
  • Entsprechende Hardware (RDMA + NVRAM) steht auf dem Cluster der Arbeitsgruppe zur Verfügung
Panel
borderStyledashed
titleReferenzen
Erweitern
titleDistributed Plasma Store
StatuscolourBluetitleMaster

Status
colourRed
title

PROJEKT

Projekt

Panel
borderStyledashed
titleBeschreibung
  • In dieser Masterarbeit soll der Apache Plasma Speicher erweitert werden, sodass Daten per RDMA verteilt zugänglich gemacht werden
  • Für RDMA soll Open UCX verwendet werden
  • Für die Metadaten-Verwaltung soll ein verteilter Key-Value-Store verwendet werden, beispielsweise Redis oder Aerospike
Erweitern
titleIntegration of RocksDB into the Distributed Message Broker KerA
Status
colourBlue
titleMASTER
StatuscolourRedtitlePROJEKT 
Panel
borderStyledashed
titleBeschreibung

KerA is a distributed message broker inspired by Apache Kafka developed by INRIA (Rennes) and University of Luxembourg. KerA focuses on load balancing, fault tolerance and fast networking using InfiniBand. Its implementation builds upon the RAMCloud system. KerA itself does not provide stream analytics but can be integrated with different stream processing system, e.g. Apache Flink. So far the integration is done using Apache Plasma allowing data exchange using shared memory between a KerA process and a Flink instance running on the same machine.

The main objective of this thesis is to replace the current log-structured memory implementation in KerA by RocksDB. The latter can already been used for storing state in Apache Flink which will allow direct data exchange between KerA and Flink through RocksDB avoiding copying data from and to shared space managed by Apache Plasma.

Panel
borderStyledashed
titleReferenzen
  • Overview of RocksDB and FASTER,
    https://www.youtube.com/watch?v=xWNbbkQMtfI 

  • KerA architecture (especially chapter 6),
    https://tel.archives-ouvertes.fr/tel-01972280/file/thesis.pdf

  • Example thesis, integrating FASTER in streaming system
    https://www.research-collection.ethz.ch/handle/20.500.11850/362324RocksDB overview,

  • RocksDB overview, https://github.com/facebook/rocksdb/wiki/RocksDB-Overview
  • Paper about RocksDB write operations, https://research.fb.com/wp-content/uploads/2017/01/rocksdb.pdf
  • Using RocksDB in Apache Flink, https://flink.apache.org/2021/01/18/rocksdb.html

    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
    Prerequisites
    borderStyledashed
    title
    • Willingness to study source code of large systems

    • Basic knowledge in C++ programming

    • Working in an international cooperation
    Erweitern
    titleBenchmark for evaluating UCX Buffer Management
    StatuscolourGreentitleBachelor 
    Panel
    borderStyledashed
    titleBeschreibung
    • OpenUCX bietet verschiedene Parameter für das Buffer-Management
    • Im Rahmen dieser Arbeit soll UCX und insbesondere das Buffer-Management beschrieben werden
    • Darauf aufbauend sollen Mikrobenchmarks geschrieben werden, um optimale Konfigurationen für verschiedene Workloads experimentell zu bestimmen
    Status
    colourBlue
    titleMASTER
    Statuscolour
    Panel
    borderStyledashed
    titleReferenzen
    OpenUCX, wwwopenucx/
    Erweitern
    titlehhuOS in RUST
    titlePROJEKT 
    Panel
    borderStyledashed
    titleBeschreibung
    • RUST bietet eine Reihe von Vorteilen für die Systementwicklung, insbesondere Typsicherheit
    • Im Rahmen dieser Arbeit soll das hhuOS aus dem Modul "Betriebssystem-Entwicklung" in RUST umgeschrieben werden
    • Weitere Infos auf Anfrage.
    Panel
    borderStyledashed
    titleReferenzen
    Rust,
    Red
    wwwrust-lang
  • Writing an OS in RUST https://os.phil-opp.com
  • The Case for Writing a Kernel in Rust, https://sing.stanford.edu/site/publications/levy17-rust.pdf 
  • Materialien zu hhuOS aus dem Modul "BS-Entwicklung" https://coconucos.cs.uni-duesseldorf.de/lehre/ss_20/bse/
  • Erweitern
    titleOpenSHMEM on OpenUCX
    StatuscolourGreentitleBachelor
    Panel
    borderStyledashed
    titleBeschreibung
    • OpenSHMEM ist eine Schnittstellendefinition für das PGAS-Modell (PGAS = Partioned Global Address Space) was im Prinzip ein Distributed Shared Memory (DSM) für verteilte und parallel Programme ist.
    • Beim PGAS-Modell wird i.d.R. nicht die gesamte Speicher gemeinsam genutzt, sondern nur punktuell Variablen oder Datenstrukturen
    • Da es sich um eine Schnittstellendefinition handelt gibt es verschiedene Implementierungen. In dieser Arbeit ist OSSS-UCX von Interesse, eine freie Implementierung von OpenSHMEM auf Basis von OpenUCX
    • Open UCX ist ein Kommunikationsframework (geschrieben in C), welches transparent verschiedene Netzwerktechologien unterstützt u.a. auch InfiniBand
    • Ziel dieser Bachelorarbeit ist es OSSS-UCX zu beschreiben, Mikro-Benchmarks zu schreiben und diese auf dem Cluster der Arbeitsgruppe mit InfiniBand-Hardware zu evaluieren
    Panel
    borderStyledashed
    titleReferenzen
    Erweitern
    titleA High-Level API for Vectorized Operations on Primitive Arrays in Java
    Status
    colourBlue
    titleMASTER
      StatuscolourRedtitlePROJEKT
    Hinweis
    titleVorkenntnisse

    Für dieses Thema werden Kenntnisse im Bereich des Java Bytecodes sowie der Java Virtual Machine vorausgesetzt.

    Java bietet seit Version 16 die Möglichkeit Operationen auf primitiven Arrays zu vektorisieren. Aktuell werden einfache Operationen mit relativ viel Code implementiert, weswegen eine nutzerfreundlichere API wünschenswert ist. Ein vergleichbares Projekt, welches vektorisierte Operationen nutzerfreundlich bereitstellt, stellt numpy in der Sprache Python dar. Ziel dieser Arbeit ist die Entwicklung einer ähnlichen API in Java, welche auf der bereits bestehenden Vector API aufbaut und somit plattformunabhängig nutzbar ist. 

    Die Klassen der Vector API befinden sich aktuell noch im "incubator" Status, welcher vergleichbar mit einem Beta-Test ist. 

    Panel
    borderStyledashed
    titleReferenzen
    Erweitern
    titlePageRank mithilfe von Naos
    StatuscolourGreentitleBachelor 
    Panel
    borderStyledashed
    titleBeschreibung
    • Naos bietet RDMA für Java, ohne Serialisierung, direkt zwischen zwei Java-Hepas
    • Es handelt sich um einen sehr neuen Prototyp für OpenJDK 11
    • Im Rahmen dieser Arbeit soll Naos experimentell auf dem Cluster der Abteilung evaluiert werden. Hierzu soll der PageRank-Algorithmus mithilfe von Naos verteilt realsiiert werden.
    Panel
    borderStyledashed
    titleReferenzen
  • Naos (Paper + Präsentation):
    https://www.usenix.org/conference/atc21/presentation/taranov
  • Code: https://github.com/spcl/naos