Current Theses

Title

Student

Supervisor

Description

Decoupled Automatic Deployment of AFCL Workflows Caroline Haller, Christoph Abenthung Sashko Ristov details
Function Choreography Scheduling Framework for Multiple FaaS Systems Tobias Pockstaller Sashko Ristov details
High-level Distributed GPU Programming using Celerity Ralf Pernecker, Linus Wald Philipp Gschwandtner details
G2GA: Portable execution of workflows in Google Cloud Functions across multiple FaaS platforms Anna Kapeller, Felix Petschko Sashko Ristov details
Running workflow applications across multiple cloud providers Marina Aichinger Sashko Ristov details
Interoperable and secure execution of function choreographies in a heterogenous edge-cloud continuum Lucas Markovic Sashko Ristov details
Memory Management and Page Replacement Algorithms in the x86_64 Architecture Stefan Kuhnert Thomas Fahringer details
Establishing Virtual Networks in Amazon Web Services Hüseyin Gündogan Sashko Ristov details
Code Generation and Specialization for Unstructured Mesh Stencils Claudia Laube Peter Thoman details
Fluid particle simulation using SYCL Markus Wippler Peter Thoman details
Streaming of Voxel-based Geometry on GPUs Philipp Mildenberger Peter Thoman details
Online Betriebskosten- und Mietabrechnung Christian Campregher Thomas Fahringer details

 

If a bachelor student wants to set his/her initial/final presentation he/she (or the supervisor) MUST contact Sashko Ristov to schedule the presentation!

Details for the theses

Title Decoupled Automatic Deployment of AFCL Workflows
Student Caroline Haller, Christoph Abenthung
Language English
Supervisors Sashko Ristov
Description This bachelor thesis will develop a system that will deploy serverless functions of an AFCL workflow including required cloud services across multiple FaaS regions.
Tasks
  • User Interface for function types and implementation meta-data
  • Automatic deployment of a function implementation with dependent cloud services
  • Decoupled deployment scripts for a given CFCL file on multiple cloud regions
  •  Evaluation of the automatic deployment of various function implementations of a single function type
Theoretical skills Distributed Systems, workflow applications, serverless computing
Practical skills Java, SDK / API of public cloud providers.
Additional information Both the AFCL API (in Java) to build the function choreography, a  parser and the enactment engine to run function choreographies (serverless workflows) are developed by the DPS group and will be provided to students.

Title Function Choreography Scheduling Framework for Multiple FaaS Systems
Student Tobias Pockstaller
Language English
Supervisors Sashko Ristov
Description This bachelor thesis will develop a framework that will adapt and  schedule a function choreography for portable execution across  multiple resources, including all regions of multiple public FaaS  providers (e.g. AWS and IBM), as well as the on-premise serverless  platforms (e.g. OpenWhisk).
Tasks
  •  Develop AFCL – Opt4J (input) and OPT4J – CFCL (output) interfaces
  •  Integrate an AFCL-AFCL adaptor for parallel loop unrolling.
  •  Develop a knowledge base
  •  Develop and deploy a real life function choreography on at least  two FaaS systems (e.g. AWS and IBM)
  •  Evaluate the quality of scheduled solutions by running the  function choreography across multiple FaaS systems (e.g. AWS and IBM).
Theoretical skills Distributed Systems, workflow applications, serverless computing
Practical skills Java, SDK / API of public cloud providers.
Additional information  Both the AFCL API (in Java) to build the function choreography, a  parser and the enactment engine to run function choreographies are  developed by the DPS group and will be provided to the student.

Title High-level Distributed GPU Programming using Celerity
Student Ralf Pernecker, Linus Wald
Language English
Supervisors Philipp Gschwandtner
Description GPUs are an inreasing source of computational power in today’s high performance computing community. Already more than half of the current top 50 supercomputers worldwide are equipped with GPUs. This bachelor thesis focuses on evaluating the Celerity programming framework, a combined API and task-based runtime system for high-level distributed GPU programming, by implementing several benchmarks and real-world applications and evaluating their performance on a medium-sized GPU cluster.
Tasks
  • implement several benchmarks and real-world applications using the Celerity programming framework
  • benchmark these applications on a GPU-based distributed memory cluster
  • evaluate the results and Celerity’s effectiveness for real-world applications
Theoretical skills Parallel Programming, High Performance Computing
Practical skills C++, GPU Programming, working on HPC clusters
Additional information

Title G2GA: Portable execution of workflows in Google Cloud Functions across multiple FaaS platforms
Student Anna Kapeller, Felix Petschko
Language English
Supervisors Sashko Ristov
Description Public FaaS providers limit function execution in multiple ways (duration, assigned memory/CPU, input/output size, code size, etc). Moreover, each widely used FaaS provider offer a language to compose a workflow of serverless functions. However, they lock their users into their own platform. To overcome these limits, this bachelor thesis will develop a system for portable execution of workflows developed in one serverless workflow provider (e.g. Google Air Flow) across multiple FaaS platforms (e.g. Google and Microsoft).
Tasks
  • Develop invokers for portable execution of serverless functions across multiple FaaS providers (e.g. Microsoft Azure and Google Cloud Functions)
  • Develop a converter from Apache Airflow to AFCL to enable a portable execution of workflow applications implemented in Apache Airflow across multiple FaaS providers
  • Deploy two workflow applications (e.g. Montage and 1000genome-workflow) as Serverless workflow applications on multiple FaaS providers (e.g. Azure and Google Cloud Functions)
  • Evaluate the potential benefit of running serverless workflow applications across multiple FaaS providers versus a single FaaS provider (e.g. Google Cloud Functions).
Theoretical skills Distributed Systems, workflow applications, serverless computing
Practical skills Java, SDK / API of public cloud providers.
Additional information Both the AFCL API (in Java) to compose the workflows and a parser are developed by the DPS group and will be provided to the student.

Title Running workflow applications across multiple cloud providers
Student Marina Aichinger
Language English
Supervisors Sashko Ristov
Description Running workflow applications across multiple cloud providers offers many benefits as it can overcome limits and constraints of individual cloud providers, various pricing schemes, etc. However, it requires an efficient resource management and integration of various APIs. This project provides an engine that can integrate resources of multiple IaaS providers in the workflow description and run the workflow across these federated resources.
Tasks
  • extend AFCL to describe resources
  • develop resource provisioner for resource management
  • adapt the CFCL file with provisioned resources
  • develop an invoker for running tasks in IaaS clouds
Theoretical skills Distributed Systems, Cloud Computing, workflow applications
Practical skills Java, SDK / API of public IaaS cloud service providers.
Additional information Both the AFCL language schema (in YAML) and the API (in Java) to compose the workflows are developed by the DPS group and will be provided to the student.

Title Interoperable and secure execution of function choreographies in a heterogenous edge-cloud continuum
Student Lucas Markovic
Language English
Supervisors Sashko Ristov
Description Edge devices have limited resources and the system has to offload the computing to a public cloud (serverless FaaS provider). However, according to the security policy, probably the whole communication outside of user premises should be encrypted (e.g. a serverless function that runs at the edge sends data to a function that runs in a public cloud provider). This requires huge development efforts to adapt the application (functions) to the new execution environment. The goal of this bachelor thesis is to abstract the composition of the workflow of serverless functions from the development of the functions themselves. Students will build a system that can run a function choreography (a workflow of serverless functions) in a multi-provider scenario by retaining the user constraints (security constraints and interoperability) without changing functions, but by introducing additional middleware functions.
The function choreography is described with the AFCL (Abstract Function Choreography Language) language in YAML, defined and developed by the DPS group.
Tasks
  • Define security policy per user that will be valid for each function choreography
  • Extend the abstracted view of the function choreography to comply with the security and interoperability issues when a function choreography is executed across different public FaaS providers or outside of the user premises
  • Develop middleware serverless functions (encrypt / decrypt input – output) and interoperability functions (convert input / output types)
  • Update the workflow description by introducing the middleware functions based on the security policy
  • Measure and profile the performance and cost trade-off of the additional middleware functions
Theoretical skills Distributed Systems, Cloud Computing, Serverless, encryption
Practical skills Java, SDK / API of public FaaS systems.
Additional information  Both the AFCL language schema and the JAVA API to compose the function choreography are developed by the DPS group and will be provided to students.

Title Memory Management and Page Replacement Algorithms in the x86_64 Architecture
Number of student Stefan Kuhnert
Language English
Supervisor Thomas Fahringer
Description Paging and memory allocations changed a lot since the introduction of  x86_64 Architecture. The goal of this thesis is to provide an overview of the changes and analyzing metrics that are used for comparison of memory related algorithms.
Tasks
  • Differences between the 64-bit and the 32-bit Architecture
  • Tool for Page Replacement & Memory Allocation Algorithms
  • Metrics and Comparisons of Memory Related Algorithms
  • Benchmarks and Categorization of memory intensive applications
Theoretical Skills Operating System Architecture, Algorithms, Memory management
Practical Skills  x86_64 Architecture, C/C++, Linux Kernel
Additonal Information

Title Establishing Virtual Networks in Amazon Web Services
Student Hüseyin Gündogan
Language English
Supervisor Sashko Ristov
Description This bachelor thesis aims to develop a web application, that provides a simple GUI for managing cloud resources on Amazon Web Services. Users should be able to create and modify EC2 Instances by defining their amount, type and security rules. The main goal is to design the required resources as simple as possible, in order to create a virtual network of EC2 Instances by submitting a single request.
Tasks
  • Develop a GUI to design a network of virtual machines
  • Develop an API for managing cloud resources
Theoretical Skills Familiar with APIs, programming graphical interface
Practical Skills Java, Web development
Additonal Information

Title Code Generation and Specialization for Unstructured Mesh Stencils
Student Claudia Laube
Language English
Supervisors Peter Thoman
Description In this thesis, generating input-data-specific processing code for performing stencil computation on large unstructured meshes is investigated.
Tasks
  • Familiarization with the topic of unstructured mesh computations
  • Create a code generator which can generate code for at least 3 distinct types of meshes (ie. 2D grids, fully connected, and manually designed from a common source format)
  • Investigate the reasons the performance advantages of specialized code
  • Find methods to reduce compile times while maintaining the performance advantages
  • Evaluate how the relative performance of traditional stencil code and data-specific generated code behaves for different mesh types, node structures, and update steps

 

Title Fluid particle simulation using SYCL
Student Markus Wippler
Language English
Supervisors Peter Thoman
Description This thesis involves the implementation of a GPU-based fluid particle simulation using SYCL, as well as its visualization.
Tasks
  • Investigate possibilities for SYCL integration with graphics APIs, make an implementation choice and reason about it
  • Investigate data structures proposed in the literature for this task, perform a comparative evaluation, and choose one for your implementation
  • Implement the particle simulation using SYCL, as well as a visualization
  • Evaluate its performance across at least 2 GPU architectures
  • Implement and evaluate the impact of at least 2 optimization strategies

 

Title Streaming of Voxel-based Geometry on GPUs
Student Philipp Mildenberger
Language English
Supervisors Peter Thoman
Description Investigation of the data structures and algorithms required for high-performance rendering of very detailed Voxel scenes on GPU.
Includes the development and implementation of a streaming technique.
Tasks
  • Comparison of Voxels to different Geometry models like a point cloud or triangles, and their use
  • Explanation why streaming of geometry is necessary for extremely detailed scenes
  • Short discussion about different rendering methods & the necessity of the GPU for raycasting
  • Discussion and development of the data structure needed for streaming
  • Development of a streaming technique

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