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

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
  • to be written



Erweitern
titleDistributed Plasma Store

Status
colourBlue
titleMaster
Status
colourRed
titlePROJEKT

Panel
borderStyledashed
titleBeschreibung
  • In dieser Projekt-/Masterarbeit soll der Apache Plasma Speicher erweitert werden, sodass Daten per RDMA verteilt zugänglich gemacht werden.
  • Apache Plasma ist ein Dienst, welcher den Datenaustausch zwischen verschiedenen Big-Data-Systemen auf einer Maschine erlaubt (Shared-Memory lokal)
  • 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


Panel
borderStyledashed
titleReferenzen



Erweitern
titleIntegration of RocksDB into the Distributed Message Broker KerA

Status
colourBlue
titleMASTER
Status
colourRed
titlePROJEKT
 

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 integration interface in KerA for this thesis is the virtual log abstraction which will provide the remote replication for RocksDB. 

The vision (beyond this thesis) is to support different storage solutions depending on the workload characteristics, e.g. FASTER from Microsoft is an alternative to RocksDB. Another aspect is the potential tighter integration of KerA and backend stream systems. For example Flink is also supporting RocksDB for storing states of stateful operators which will make it natural to later share state directly between KerA and Flink using RocksDB (replacing the Apache Plasma interface which still implies copying data between two connected systems if data needs to be persistent.


Panel
borderStyledashed
titleReferenzen


Panel
borderStyledashed
titlePrerequisites
  • 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

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
  • to be written



Erweitern
titlehhuOS in RUST

Status
colourBlue
titleMASTER
Status
colourRed
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



Erweitern
titleAutomatic Code-Stripping for jextract

Status
colourGreen
titleBachelor
 

Panel
borderStyledashed
titleBeschreibung
  • jextract ist ein Tool von Pamana


Panel
borderStyledashed
titleReferenzen



Erweitern
titleOpenSHMEM on OpenUCX

Status
colourGreen
titleBachelor

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
 
Status
colourRed
titlePROJEKT

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