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
titleA high performance concurrent ring buffer for Java based on Panama

Status
colourGreen
titleBachelor
 

Panel
borderStyledashed
titleBeschreibung
  • to be written


Panel
borderStyledashed
titleReferenzen
  • to be written



Erweitern
titleMultithreading Support für den Benchmark Observatory

Status
colourBlue
titleMASTER
Status
colourRed
titlePROJEKT
 

Panel
borderStyledashed
titleBeschreibung
  • to be written


Panel
borderStyledashed
titleReferenzen
  • to be written



Erweitern
titleConcurrent Data Structures - Java vs. TBB

Status
colourGreen
titleBachelor

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
titleDPI vs OpenUCX

Status
colourGreen
titleBachelor

Panel
borderStyledashed
titleBeschreibung
  • DPI (Data Processing Interface for Modern Networks) ist ein Vorschlag zur Abstraktion von der zzugrundeliegenden Netzwerkhardware, genauso wie auch OpenUCX
  • Ziel dieser Bachelorarbeit ist es beide Ansätze zu beschreiben und mithilfe von Experimenten zu vergleichen. Hierfür soll die beiden Benchmarks von DPI (Append und Latency) in OpenUCX realisiert werden und auf dem Cluster der Arbeitsgruppe evaluiert werden


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
titleOpenUCX - InfiniBand-Benchmarking

Status
colourGreen
titleBachelor

Panel
borderStyledashed
titleBeschreibung
  • In dieser Bachelorarbeit soll der Observatory-Benchmark (entwickelt von der HHU) erweitert werden, sodass auch Open UCX evaluiert werden kann.
  • Open UCX ist ein Kommunikationsframework, welches transparent verschiedene Netzwerktechologien unterstützt u.a. auch InfiniBand
  • Der Observatory-Benchmark hat zum Ziel Java-basierte InfiniBand-Bibliotheken zu evaluieren und zu vergleichen.
  • Für Open UCX ist ein rudimentäres Java-Binding vorhanden, welches im Rahmen dieser Arbeit optimiert werden soll 



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