Current Theses

Title

Student

Supervisor

Description

Middleware services to support workflow execution in a Multi-FaaS environment Jakob Wallnöfer Sashko Ristov details
Interoperable and secure execution of function choreographies in a heterogenous edge-cloud continuum Lucas Markovic Sashko Ristov details
Fault-tolerant execution of serverless functions across multiple FaaS systems Matteo Bernard Battaglin Sashko Ristov details
High-level Modeling and Low-level Adaptation of Serverless Function Choreographies Benjamin Walch Sashko Ristov details
Fault-tolerant enactment engine for workflow applications on Amazon EC2 Spot Instances David Milic, Fabio Schett Sashko Ristov details
Multi-layer enactment engine for workflow applications Florian Maier Sashko Ristov details
Memory Management and Page Replacement Algorithms in the x86_64 Architecture Stefan Kuhnert Thomas Fahringer details
Enactment engine for composed serverless functions in Fission FaaS framework
Dominik Kuen Sashko Ristov, Thanh-Phuong Pham details
Advisor for renting virtual machines from various public cloud service providers Thomas Wurzer Sashko Ristov, Thanh-Phuong Pham details
Visual management of client resources in cloud Hüseyin Gündogan Sashko Ristov, Thanh-Phuong Pham details
Monitoring system for virtualized resources in a cloud data center David Bucher, Peter Scheier Sashko Ristov, Thanh-Phuong Pham details
IoT Data analytics using Serverless Computing Markus Reiter, Michael Kaltschmid Sashko Ristov, Thanh-Phuong Pham 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 Middleware services to support workflow execution in a Multi-FaaS environment
Student Jakob Wallnöfer
Language English
Supervisors Sashko Ristov
Description Running a workflow across multiple FaaS provider in the edge-cloud continuum can overcome individual limits and constraints of individual FaaS providers. However, it requires an efficient data transfers across the underlying infrastructure. This project provides middleware services that can be dynamically integrated in the workflow description and invoked during workflow execution to minimize data transfer and the overall makespan.
Tasks
  • Update CFCL to describe the concrete data-flow implementation between functions in a workflow
  • Implement middleware services for efficient data transfer among functions of a workflow.
  • Adapt the CFCL description of a workflow for efficient data transfer during runtime.
  • Evaluate the benefit (cost/performance/possibilities) of the developed system comparing to the appropriate workflow languages of used public FaaS providers.
Theoretical skills Distributed Systems, Cloud Computing, Serverless
Practical skills Java, JavaScript, 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 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 Fault-tolerant execution of serverless functions across multiple FaaS systems
Student Matteo Bernard Battaglin
Language English
Supervisors Sashko Ristov
Description The existing AFCL (Abstract Function Choreography Language) language developed by the DPS group provides the developer to define a function choreography (workflow of serverless functions) at high level of abstraction by focusing on parallelisation and data-flow between serverless functions. The goal of this bachelor thesis is to introduce fault-tolerance in the concept of serverless (and stateless) computing by developing fault-tolerant patterns, describe them with the AFCL language (using YAML) and extend the developed API by DPS to create the function choreography. Students will explore to run functions on multiple serverless FaaS providers (e.g. Amazon, IBM, Google, or Microsoft) to increase the level of fault-tolerance.
Tasks
  • Extend AFCL with fault-tolerance (e.g. try-catch, retry n times a  function, periodical or event-based invocation, task duplication,  checkpoint policy ) and constraints per a function and full function choreography
  • Service for fault tolerant execution of a function choreography across multiple FaaS providers based on AFCL
  • Monitor, measure and profile the execution for specified function or function choreography
  • Evaluate the benefit of the generated system
  • Evaluate the level of fault tolerance of the developed system with the appropriate workflow languages of public providers (find their weaknesses and missing constructs)
Theoretical skills Distributed Systems, Cloud Computing, Serverless
Practical skills Java, SDK / API of public FaaS systems.
Additional information  Both the AFCL language schema and the API to compose the function choreography are developed by the DPS group and will be provided to students.

Title High-level Modeling and Low-level Adaptation of Serverless Function Choreographies
Students Benjamin Walch
Language English
Supervisors Sashko Ristov
Description The goal of this thesis is to build a GUI to model and compose a choreography of serverless function at a high-level of abstraction. Based on the available resources and function deployments in various FaaS providers, the user interface will adapt the description of the function choreography from the abstract function choreography language (AFCL) into concrete (CFCL) language by optimizing the description.
Tasks
  • Develop a GUI based on the AFCL API to compose a serverless function choreography at high-level of abstraction
  • Develop a back-end service that will convert the AFCL description of the function choreography into CFCL language
  • Develop a back-end service that will optimize the CFCL description of the function choreography based on the available functions and FaaS systems.
Theoretical skills APIs, workflow applications modeling, programming graphical interfaces
Practical skills UML, YAML, JAVA
Additional information

Title Fault-tolerant enactment engine for workflow applications on Amazon EC2 Spot Instances
Students David Milic, Fabio Schett
Language English
Supervisors Sashko Ristov
Description The goal of this bachelor thesis is to implement a fault-tolerant enactment engine that can run scientific workflow applications on unreliable EC2 Spot Instances. The enactment engine will use fault-tolerant techniques (e.g. checkpoint-restore, task retry or task duplication) to minimise the affect of interruptions. Students can experiment the trade-off between various fault-tolerant techniques to minimise the cost and makespan of the real scientific workflows on real cloud.
Tasks
  • Define control and data dependencies of a scientific workflow
  • Compose a real scientific workflow application
  • Build an enactment engine to run the composed workflow application on EC2 Spot Instances
  • Simulate interruptions of Spot Instances
  • Analyse appropriate scheduling and fault-tolerant algorithms to optimise the execution of a specified workflow
Theoretical skills Scheduling and fault tolerant algorithms, EC2 Spot Instance behavior.
Practical skills Java, EC2 Java SDK.
Additional information

Title Multi-layer enactment engine for workflow applications
Student Florian Maier
Language English
Supervisors Sashko Ristov
Description The goal of this bachelor thesis is to build an enactment engine that can run a given workflow on multi-layer cloud resources (e.g. Amazon EC2 On-Demand instances and containers) in order to improve one objective (makespan or economic costs). The student can experiment the trade-off between the lower cost of On-Demand instances and the low boot time of containers for the real scientific workflows on real cloud.
Tasks
  • Define control and data dependencies of a scientific workflow
  • Compose a real scientific workflow application
  • Build an enactment engine to run the composed workflow application on multi-layer cloud resources
  • Analyse appropriate scheduling algorithms to optimise the execution of a specified workflow
Theoretical skills Scheduling algorithms
Practical skills Java, containers, EC2 Java SDK.
Additional information

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 Enactment engine for composed serverless functions in Fission FaaS framework
Number of student Dominik Kuen
Language English
Supervisor Sashko Ristov, Thanh-Phuong Pham
Description Develop a system that allows to compose a complex serverless application using nested workflow control patterns and execute it on the Fission FaaS framework.
Tasks
  • Analyze how to describe patterns, nested patterns and bundle them into a complex application
  • Analyze the most appropriate language to model the complex serverless applications
  • Develop API for nested control patterns
  • Develop an execution engine on top of Fission / Kubernetes / Docker
Theoretical Skills Distributed Systems, Cloud Computing, Algorithms
Practical Skills Docker, Kubernetes, Fission , Java or Python
Additonal Information

Title Advisor for renting virtual machines from various public cloud service providers
Student Thomas Wurzer
Language English
Supervisor Sashko Ristov,Thanh-Phuong Pham
Description The goal of this thesis is to develop an advisor that will collect the data about virtual machine instances and their prices from several public cloud providers and to propose the most optimal resources according to the user requirements.
Tasks
  • Develop a crawler that will collect the data from cloud service providers
  • Develop an application that will visualize the gathered data
  • Develop an algorithm that will propose the optimal resources from all offers
Theoretical Skills Some optimization techniques
Practical Skills Web development
Additonal Information

Title Visual management of client resources in cloud
Student Hüseyin Gündogan
Language English
Supervisor Sashko Ristov, Thanh-Phuong Pham
Description The goal of this thesis is to develop a drag-and-drop based GUI that can allow the user to graphically design the required resources and then submit a single request to the cloud to provide those resources organized as defined by the user. For example, a user can specify the number and type of virtual machines, their interconnections and security rules.
Tasks
  • Develop a GUI to design a network of virtual machines and access lists
  • Develop interfaces for cloud APIs (Amazon EC2 or OpenStack)
  • Management of user resources in Cloud
Theoretical Skills Familiar with APIs, programming graphical interface
Practical Skills Java, Web development
Additonal Information

Title Monitoring system for virtualized resources in a cloud data center
Student David Bucher, Peter Scheier
Language English
Supervisor Sashko Ristov, Thanh-Phuong Pham
Description The goal of this thesis is to develop a monitoring system that will collect the data about resource utilization of all virtual machines of each server in a cluster and visualize to the system administrator. The main focus is to collect and process data using Apache Kafka and Spark.
Tasks
  • Develop a daemon for each VM / server
  • Develop a centralized collector
  • Develop an application that will visualize the gathered data
Theoretical Skills Memory management, Operating system Linux
Practical Skills Java
Additonal Information

Title IoT Data analytics using Serverless Computing
Students Markus Reiter, Michael Kaltschmid
Language English
Supervisor Sashko Ristov, Thanh-Phuong Pham
Description The goal of this thesis is to develop a platform that will gather large-scale data as streams from IoT devices using Apache Kafka and process it with Function-as-a-service (FaaS) framework (e.g. OpenWhisk or Fission over Kubernetes). Gathered data will be visualized also using FaaS.
Tasks
  • Develop the serverless platform
  • Develop a composition of functions to store and process gathered data.
  • Develop an application that will visualize the gathered data.
Theoretical Skills
Practical Skills
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