Available Theses

Title Student(s) Supervisor Description
AFCL Environment simulation and tracing framework 1 or 2 Sashko Ristov details
FC-fication of monoliths for highly scalable serverless workflow applications 1 or 2 Sashko Ristov details
AFCL Environment-Opt4J integration 1 Fedor Smirnov details
Parallelisierung von Programmen mit einfachem Parallelismus 1 Thomas Fahringer details
Automatische Analyse für Parallele Programme 1 Thomas Fahringer details
Betriebssystem Services und Visualisierung 1 Thomas Fahringer details
Online Betriebskosten- und Mietabrechnung 1 Thomas Fahringer details

Title AFCL Environment simulation and tracing framework
Number of students 1 or 2
Language English
Supervisors Sashko Ristov
Description  As a result of several bachelor and master theses that I supervised, as well as our own research, we have developed a prototype of the AFCL enactment engine, which is able to run serverless workflows or function choreographies (FCs) across many widely-known cloud providers (AWS Lambda, IBM Cloud Functions, Google Cloud Functions, Alibaba Function Compute, etc.). However, running highly scalable FCs may be a costly operation and in order to mitigate costs, users prefer to use simulation. The goal of this thesis is to develop a module for simulation in the AFCL environment, which will simulate the execution time of FC functions instead of really executing them. The simulated values will be calculated based on the computing model developed by the DPS group or may be applied from some existing trace. FCs are built with the existing AFCL language developed by the DPS group and run with the existing enactment engine, which should be extended for simulation and tracing.
Tasks
  • Compose / adapt a few real-life applications as FCs
  • Execute the composed FCs across multiple FaaS providers
  • Measure and profile the performance and cost of FCs
  • Model FCs and FaaS systems in the AFCL Environment simulation framework
  • Visualize the simulation
  • Evaluate the simulation (cost/performance/possibilities) with real execution
Theoretical skills  Distributed Systems, Cloud Computing, Serverless
Practical skills  Java, SDK / API of public FaaS systems.
Additional information  The following material / tools are useful for this thesis:

  1. S. Ristov, S. Pedratscher, T. Fahringer, “AFCL: An Abstract Function Choreography Language for serverless workflow specification,” Future Generation Computer Systems, Volume 114, 2021, Pages 368-382, ISSN 0167-739X, https://doi.org/10.1016/j.future.2020.08.012.
  2. Enactment engine to run serverless workflows https://github.com/sashkoristov/enactmentengine
  3. A multi-FaaS toolkit to facilitate development of portable applications https://github.com/sashkoristov/jFaaS

Title FC-fication of monoliths for highly scalable serverless workflow applications
Number of students 1 or 2
Language English
Supervisors Sashko Ristov
Description  AFCL language was recently developed by the DPS group to build and manage serverless workflows or function choreographies (FCs). It offers a rich set of constructs to build applications as FCs. Moreover, as a result of several bachelor and master theses that I supervised, as well as our own research, we developed a prototype of the AFCL enactment engine, which is able to run FCs across many widely-known cloud providers (AWS Lambda, IBM Cloud Functions, Google Cloud Functions, Alibaba Function Compute, etc.). The goal of this thesis is to develop / convert monoliths as FCs and evaluate their scalability. FCs should contain functions that use various cloud services from cloud providers (e.g., AWS Rekognition, AWS Translate, IBM Watson, etc.). Additionally, students will compose FCs into FC systems of widely-known cloud providers (e.g., AWS Step Functions, IBM Composer, or Google Composer) and evaluate with FCs that are built in AFCL and executed across various FaaS systems.
Tasks
  • Develop serverless functions that use widely-known cloud services
  • Compose a real-life applications as FCs using such functions
  • Execute FCs across multiple FaaS providers
  • Measure and profile the performance and cost
  • Evaluate AFCL FCs with monoliths
  • Evaluate AFCL FCs with FC systems of widely-known cloud providers
Theoretical skills  Distributed Systems, Cloud Computing, Serverless
Practical skills  Java, SDK / API of public FaaS systems.
Additional information  The following material / tools are useful for this thesis:

  1. S. Ristov, S. Pedratscher, T. Fahringer, “AFCL: An Abstract Function Choreography Language for serverless workflow specification,” Future Generation Computer Systems, Volume 114, 2021, Pages 368-382, ISSN 0167-739X, https://doi.org/10.1016/j.future.2020.08.012.
  2. Enactment engine to run serverless workflows https://github.com/sashkoristov/enactmentengine
  3. A multi-FaaS toolkit to facilitate development of portable applications https://github.com/sashkoristov/jFaaS

Title AFCL Environment-Opt4J integration
Number of students 1
Language English or German
Supervisors Fedor Smirnov
Description The goal of this thesis is an integration of an optimization-based scheduler into the AFCL-Environment for optimal execution of Function Choreographies across multiple FaaS providers. The schedule optimization will be performed using the optimization frameworks Opt4J ( https://github.com/felixreimann/opt4j) and OpenDse ( https://github.com/felixreimann/opendse), which operate based on a graph-based problem model.  The optimizer will receive an FC description at a high-level of abstraction, written in AFCL and it will return a description of the FC with concrete implementations for each function of the FC. The main task is the implementation of parsers which are capable of (a) generating the graph-based problem description from an ACFL file (scheduler input) and (b) transform the scheduler output (optimized schedule) into a CFCL file.
Tasks
  • Implement a parser used to transform the scheduler input (ACFL file) into the representation (graph-based system model) used by the scheduler
  • Implement a parser used to transform the scheduler output (graph-based system model) into a description of the concrete implementations for each function of the FC
  • Evaluate the benefit of using an optimization-based scheduler
Theoretical skills Distributed Systems, Cloud Computing, Serverless
Practical skills
  • Java
  • SDK / API of public FaaS systems
Additional information
Both the AFCL language schema (in YAML) and the API (in Java) to compose the function choreography are developed by the DPS group and will be provided to students.
Examples of serverless functions for data movement and distribution of functions between two other providers (AWS and IBM) can be also provided.
The optimization of the workflows will be done using existing optimization frameworks (Opt4J and OpenDse), which will be provided to the students.

Title Parallelisierung von Programmen mit einfachem Parallelismus
Number of students 1
Language German
Supervisors Thomas Fahringer
Description Das Ziel dieser Arbeit ist die Parallelisierung von “embarrassingly” parallelen Programmen, wie z.B. geometrische Transformationen von Bildern, Mandelbrot Programm und eine Monte Carlo Methode. Diese Programme enthalten einfachen Parallelismus, der mit pthreads und OpenMP parallelisiert und auf einem am Institut verfügbaren Parallelrechner mit gemeinsamem Speicher ausgeführt werden soll.
Tasks
  • Serielle Entwicklung von mehreren kleineren Algorithmen (z.b.b geometri. Transformation von Bildern, Mandelbrotprogramm, Monte Carlo Methode)
  • Parallelisierung mit MPI und OpenMP.
  • Performance Messungen für unterschiedliche Eingabedaten und für verschiedene Prozessorzahlen mit einem Performance Tool, z.B. Tau
  • Visualisierung und Interpretation der Performance Messungen
  • einfache Komplexitätsanalyse für die parallelen und seriellen Programme
Theoretical skills einfaches Verständnis für Komplexitätsanalyse
Practical skills C, C++
Additional information

 

Title Automatische Analyse für Parallele Programme
Number of students 1
Language German
Supervisors Thomas Fahringer
Description Das Ziel dieser Arbeit ist ein Werkzeug für die automatische Abhängigkeitsanalyse ausgehend von einer Eingabemaske für geschachtelte Schleifen. Die Abhängigkeitsanalyse soll für eine geschachtelte Schleife feststelle um welche Datenabhängigkeit es sich handelt (true, anti, output, input). Zusätzlich soll der Direction Vector und und die Distanz der Abhängigkeit angegeben werden. Daneben soll noch eine Prediction für die Anzahl der Cache Misses für das Schleifennest erstellt werden. Die Aufgabe kann mit einer beliebigen Programmiersprache entwickelt werden. Die zu untersuchenden Programme sollen C Programme sein.
Tasks
  • Studieren der Datenabhängigkeitsanalyse zur Feststellung ob eine Schleife parallel oder seriell ausgeführt werden kann bzw. muss.
  • Studieren eines vorgegebenen analytischen Algorithmus zur Abschätzung der Anzahl der Cache Misses für geschachtelte Schleifen.
  • Visualisierung der Ergebnisse.
  • Eingabeformat der zu analysierenden Codeteile soll entworfen werden.
Theoretical skills Datenabhängigkeitsanalyse (z.B. polyhedral library, omega test, etc.).
Vorkenntnisse zur Parallelisierung von Programmen
Practical skills scripting Sprache, C oder C++
Additional information

Title Betriebssystem Services und Visualisierung
Number of students 1
Language German
Supervisors Thomas Fahringer
Description Das Ziel dieser Arbeit ist die Entwicklung von einigen Standard-Services aus Betriebssysteme (z.B. Prozessscheduling, Deadlocks, Seitenersetzungsverfahren).
Es sollen beliebige Eingabedaten vom Benutzer eingegeben werden können, um die Services zu testen. Eine Visualisierung soll verschiedene Verfahren (z.B. Prozessscheduling) miteinander vergleichen.
Die Aufgabe kann auch als Web-Anwendung realisiert werden.
Tasks
  • Studieren von mehreren Betriebssystemalgorithmen, die in der Vorlesung vorgestellt worden sind.
  • Implementieren einer sinnvollen Schnittstelle für die Eingabedaten.
  • Visualisierung der Ergebnisse.
  • Eventuell als Web-Anwendung zu realisieren.
Theoretical skills Inhalt der Vorlesung Betriebssysteme
Practical skills  C, C++ oder Java
Additional information

Title Online Betriebskosten- und Mietabrechnung
Number of students 1
Language German
Supervisors Thomas Fahringer
Description Es soll eine automatische Betriebskosten- und Mietabrechnung für eine größere Zahl von Mietwohnungen implementiert werden. Dabei soll ein online Zugriff auf diverse Verbraucherpreisindexe durchgeführt werden, um eine etwaige Erhöhung der Miete automatisch zu melden und zu verrechnen. Das System soll gesichert werden, sodass nur durch autorisierte Personen Zugriff erfolgen kann. Die Daten sollen in einer Datenbank gesichert werden.
Tasks
  •  Online Webapplikation
  • Verrechnung von Mieten und Betriebskosten gegliedert in verschiedene Steuersätze
  • Online Zugriff auf Verbraucherpreisindexwerte
  • Speichern aller relevanten Daten in einer Datenbank
  • Sicherheitsmaßnahmen und -protokolle
  • Automatische Monitoren und Meldesystem
Skills Java or C++ or Scripting languages, security mechanisms
Additional information