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

Status
colourRed
titleProjekt

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
titleVergleich von Java-Anbindungen an das Framework Unified Communication X
StatuscolourGreentitleBachelor

Panel
borderStyledashed
titleBeschreibung
  • Die Bibliothek Unified Communication X (UCX) hat zum Ziel eine einheitliche API für verschiedene Transportprotokolle und Netzwerktechniken (z. B. Ethernet oder InfiniBand) bereitzustellen. Zusätzlich werden verschiedene Programmsprachen unterstützt, unter anderem auch Java über die Schnittstelle JUCX.

  • Java wurde/wird für die Implementierung zahlreicher Big-Data-Systeme verwendet, weswegen eine Hochgeschwindigkeitsvernetzung hier sehr nützlich ist.
  • An der HHU wird die Bibliothek Infinileap entwickelt, welche basierend dem Oracle-Projekt Panama eine UCX-Anbindung bietet, im Gegensatz zu JUCX was auf dem traditionellen Java Native Interface (JNI) aufbaut. Projekt Panama soll JNI ablösen und die Interoperabilität zwischen Java und nativem Code vereinfachen und zuverlässiger machen.
  • In dieser Bachelorarbeit soll JUCX mit Infinileap verglichen und evaluiert werden. Hierzu sollen Mikrobenchmarks mithilfe von Java Microbenchmark Harness (JMH) entwickelt werden.

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
OpenUCX, wwwopenucx/
Infinileap, github.com/hhu-bsinfo/infinileap
Erweitern
titlehhuOS in RUST
Status
colourBlue
titleMASTER
StatuscolourRedtitlePROJEKT 
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
titleConcurrent Data Structures - Java vs. TBB
StatuscolourGreentitleBachelor
Panel
borderStyledashed
titleBeschreibung
  • Mehrkernprozessoren und Multithreading sind heute weit verbreitet
  • In diesem Zusammenhang sind synchronisierte Datenstrukturen (z.B. Hashmaps) wichtig, insbesondere eine effiziente Synchronisierung, sodass die Zugriffe bzgl. der Thread-Anzahl skalierbar sind
  • In Java gibt es hierzu die Concurrent Collections
  • Für C/C++ gibt es beispielsweise die TBB-Bibliothek (TBB = Threading Building Blocks), welche unter anderem hierzu Containers anbietet
  • Ziel dieser Bachelorarbeit ist es die Datenstrukturen von Java und TBB experimentell mit eigenen Mikrobenchmarks zu evaluieruen und zu vergleichen
Panel
borderStyledashed
titleReferenzen
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
titleDistributed Plasma Store
Status
colourBlue
titleMaster
StatuscolourRedtitlePROJEKT
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