Available Theses

Title Student(s) Supervisor Description
Exploring the impact of External Thread Pinning on Commercial Game Performance 1 Peter Thoman details
Vektorisierung mit OpenMP 1 Thomas Fahringer details
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
Automatische Analyse für Parallele Programme 1 Thomas Fahringer details

Title Exploring the impact of External Thread Pinning on Commercial Game Performance
Number of students 1
Language English
Supervisors Peter Thoman
Description The goal of this thesis is developing a tool for external thread pinning of processes on the Windows operating system. It should allow for various pinning configurations which take into account the number and type of threads spawned by the application, and largely automate the process. This tool should then be leveraged to explore and document the impact of various thread pinning configurations on the performance of commercial games, as they offer a broad and diverse set of parallelization and communication patterns.
Tasks
  • Planning of the external thread pinning tool design and approach — including studying related Windows APIs as required
  • Development and initial testing of the tool
  • Automated performance measurement across a broad set of games and analysis of the results
  • Interpretation and categorization of the results, including developing a set of “best practices” if justified by the results
Theoretical skills Parallel Computing
Practical skills C/C++, Threading, Windows API (can be studied as part of the thesis if necessary)
Additional information For development, ownership of some games is required.

Title Vektorisierung mit OpenMP
Number of students 1
Language German or English
Supervisors Thomas Fahringer
Description Das Ziel dieser Arbeit die Anwendung verschiedener OpenMP Konstrukte zur Vektorisierung von Programmen um SIMD Parallelismus zu nutzen. Zu diesem Zweck werden verschiedene Programme mit OpenMP erweitert, für verschiedene Problemgrößen auf verschiedenen Shared Memory Rechnern getestet und eine Performance Analyse durchgeführt, um die Auswirkung auf die Performance der Programme zu ermitteln.
Tasks
  • Anwenden von verschiedenen OpenMP Konstrukten für die Vektorisierung auf mehrere Programme
  • Performance Messung und Analyse der Vektorisierungsstrategien auf verschiedenen Shared Memory Parallelrechnern
Theoretical skills Datenabhängigkeitsanalyse, Komplexitätsanalyse
Practical skills C/C++ und parallele Programmierung mit OpenMP
Additional information

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 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 im Bereich Parallelisierung von Programmen und Compilerbau (z.b. Flex und Bison)
Practical skills scripting Sprache, C oder C++
Additional information