Title | Student(s) | Supervisor | Description |
Tooling for Novel Cloud-Edge-IoT Programming Model | 1 | Marlon Etheredge | details |
Distributed Event Queue | 1 | Marlon Etheredge | details |
Generation of Realistic Use Cases, Including Evaluation and Testing | 1 | Marlon Etheredge | details |
Novel Programming Model and Runtime System for Edge/Cloud Infrastructures | 1 | Thomas Fahringer | details |
Distributing High-Impact Scientific Workflows with Apollo | 1 | Juan Aznar | details |
Event-based Invocation of Workflow Applications on the Edge | 1 | Juan Aznar | details |
Detecting critical events on smart buildings using edge-cloud resources | 1 | Juan Aznar | details |
Python Frontend for Serverless Workflows | 1 | Juan Aznar | details |
Apollo-System Erweiterung und Automation | 1 | Thomas Fahringer | details |
Exploring the impact of External Thread Pinning on Commercial Game Performance | 1 | Peter Thoman | details |
Title | Tooling for Novel Cloud-Edge-IoT Programming Model |
Number of students | 1 |
Language | English |
Supervisors | Marlon Etheredge |
Description | We research and develop a novel Cloud-Edge-IoT programming model for high-performance, fault-tolerant, and dynamic cloud applications. As an extension to the system, we are currently interested in accepting a bachelor student working on a project to extend the project with tooling that simplifies the development of cloud applications using our programming model. For this project, it is required to implement the tooling and show the correct functioning of the developed tooling. |
Tasks |
|
Theoretical skills |
|
Practical skills |
Possible required technologies to work with are Visual Studio Code (specifically extensions and language support), Python (PyVis could be a framework of interest), and OpenTelemetry. |
Additional information | As the tooling will be part of a system intended to offer developers the ability to work with our programming model, software and code quality are essential aspects of this work. For this reason, we are looking for students with excellent programming abilities. |
Title | Distributed Event Queue |
Number of students | 1 |
Language | English |
Supervisors | Marlon Etheredge |
Description | Event queues are standard central components of any distributed system and are commonly implemented by one main or multiple brokers. Instead of this typical design, we want to explore the possibility of fully distributing event queues. For this project, it is required to implement a distributed event queue, show the correct functioning of the implementation, and evaluate the implementation. |
Tasks |
|
Theoretical skills |
Familiarity with computer science topics such as consensus algorithms and network protocols will become important throughout this project. |
Practical skills |
|
Additional information | As such an event queue could be implemented in the system that supports our programming model, software and code quality are essential aspects of this work. For this reason, we are looking for students with excellent programming abilities. |
Title | Generation of Realistic Use Cases, Including Evaluation and Testing |
Number of students | 1 |
Language | English |
Supervisors | Marlon Etheredge |
Description | We research and develop a novel Cloud-Edge-IoT programming model for high-performance, fault-tolerant, and dynamic cloud applications. As an extension to the system, we are currently interested in accepting a bachelor student working on a project to extend the project with tooling that simplifies the development of cloud applications. An essential aspect of our programming model is the study of realistic (real-world) use cases. Such use cases may include applications such as smart cities, smart buildings, surveillance, and AI analysis. The generation of realistic use cases will entail the following:
The product of this project is required to be the development of several realistic use cases. |
Tasks |
|
Theoretical skills |
Familiarity with computer science topics such as the following will become important throughout this project: modeling and AI analysis (for instance, image analysis). |
Practical skills |
|
Additional information | As our system is intended to solve real-world problems, any applications developed must be of high quality. For this reason, we are looking for students with excellent programming abilities. |
Title | Novel Programming Model and Runtime System for Edge/Cloud Infrastructures |
Number of students | 1 |
Language | English |
Supervisors | Thomas Fahringer |
Description | Develop a novel programming model (language) which is based on a set of state machines and transitions among these state machines based on events. Develop a highly distributed and scaling runtime system that executes programs with this novel programming model. Test it with 2 – 3 applications that should be developed as part of this thesis. Testing will be done on a local edge laboratory with a public cloud. |
Tasks |
|
Theoretical skills | Cloud computing, Serverless, Machine/Federated Learning |
Practical skills | Java (expert programmer), git and GitHub, JSON or YAML, serverless computing, Container and Virtual Machine technologies |
Additional information | You should have passed the lecture and PS on Verteilte Systeme in the computer science bachelor program or otherwise demonstrate that are familiar with the practical skills mentioned above. You should be an expert programmer in Java.The student will have the opportunity to work with a state-of-the-art Apollo Edge-Cloud infrastructure. The developed environments will be reused for international projects and published as open-source. Collaborative work in an international project is possible if the student is interested. In the best case this work can also be published and student can travel to conference and present his/her work. |
Title | Distributing High-Impact Scientific Workflows with Apollo |
Number of students | 1 |
Language | English |
Supervisors | Juan Aznar |
Description | In this thesis, you should execute two to three real scientific workflows (WF) using the FaaS paradigm through the Apollo runtime system [1] and do research with real biological and experimental input datasets. For instance, the 1000genome [2] WF enables identifying genome mutations according to numerous population features for the later study of associated diseases. Another example is Cycles (CW) [3], which is one of the most environmental-friendly workflows. Basically, CW simulates agricultural experiments that enable scientists to evaluate the behavior of crops under different environmental conditions, protecting nature from unnecessary and damaging tests and promoting sustainable agriculture while saving vast amounts of time and resources.
[1] https://apollowf.github.io/learn.html |
Tasks |
|
Theoretical skills | Cloud computing, FaaS, Serverless |
Practical skills | Java, Python (Biopython, Pandas, Numpy), git, GitHub |
Additional information |
Title | Event-based Invocation of Workflow Applications on the Edge |
Number of students | 1 |
Language | English |
Supervisors | Juan Aznar |
Description | In this thesis you will execute realistic complex tasks and data processing as workflow applications [1] on an edge-cloud infrastructure. To this end, you should trigger the execution of workflows in Apollo [2] using event data in common format [3] (i.e., name, source, type, kind, correlation, dataOnly, and metadata fields), thus providing interoperability across services, platforms and systems. There is numerous event frameworks. In this thesis, you should systematically compare and then select based on the following requirements: (i) runs on IoT, edge and cloud, (ii) can be configured for arbitrary events, (iii) scales for large events, (iv) builds on cloud events standard [3], and (v) is open-source.[1] https://github.com/serverlessworkflow/ [2] https://apollowf.github.io/learn.html [3] https://github.com/cloudevents/spec |
Tasks |
|
Theoretical skills | Cloud computing, Serverless, Docker |
Practical skills | Java, Python, git, GitHub, Raspberry Pi, Arduino, or any other IoT/Edge hardware |
Additional information |
Title | Detecting critical events on smart buildings using edge-cloud resources |
Number of students | 1 |
Language | English |
Supervisors | Juan Aznar |
Description | The goal of this bachelor thesis is to develop fully operational edge devices used to recognize critical events on smart buildings (SB), such as fire, smoke, water leakages, inadequate social distance, unmasked people, among others. Edge devices should be implemented by using commercial and low cost devices (e.g., Raspberry Pi [1]), (thermal) cameras, and Open-Source Machine Learning (ML) libraries [2]. The smart building should react immediately and act in consequence when undesired events occur. To this end, edge devices will be orchestrated by the Apollo system [3] to exploit parallelism, scalability, and load balancing.
[1] https://www.raspberrypi.com/ |
Tasks |
|
Theoretical skills | Cloud computing, Serverless, Machine Learning, Electronics |
Practical skills | Python, git, GitHub |
Additional information |
Title | Python Frontend for Serverless Workflows |
Number of students | 1 |
Language | English |
Supervisors | Juan Aznar |
Description | Apollo (https://apollowf.github.io/) is the DPS research orchestration and runtime system for Edge-Cloud infrastructures. We are using AFCL (https://apollowf.github.io/learn.html) to describe serverless workflows for distributed applications. As part of this thesis, you will have to create a Python version for AFCL thus application developers can create Python programs to build workflows instead of using AFCL directly. Furthermore, you have to create a transformation system that automatically converts the Python programs into AFCL which is input to APOLLO. |
Tasks |
|
Theoretical skills | |
Practical skills | Advanced Python programmer, git and GitHub, JSON or YAML |
Additional information | It is not mandatory but of great help if you passed the lecture and PS on Verteilte Systeme in the computer science bachelor program.
This Bachelor Thesis will be supervised by Juan Aznar (IFI/DPS). The student will have the opportunity to work with a state-of-the-art Apollo Edge-Cloud infrastructure. The developed Python frontend will be reused for international projects and published as open-source. Collaborative work in an international project is possible if the student is interested. In the best case this work can also be published and student can travel to conference and present his/her work. |
Title | Apollo-System Erweiterung und Automation |
Number of students | 1 |
Language | Deutsch oder Englisch |
Supervisors | Thomas Fahringer |
Description | Das Apollo-System[1] wurde von der DPS Gruppe zur Ausführung von serverless Workflows entwickelt. Workflows werden dabei im AFCL Format dargestellt und portable gemacht. Das Ziel dieser Arbeit ist es den AFCLEditor[2] (ein Tool zum Erstellen von AFCL Workflows) zu erweitern und für alle AFCL Konstrukte zu validieren. Eine Grafische Visualisierung durch den Editor soll das Erstellen der Workflows vereinfachen. Zudem sollen im Workflow definierte Funktionen automatisch auf verschiedenen Cloud Providern deployed werden (eine semi-automatische starting-base wird hierbei zur Verfügung gestellt, siehe [3]). Das Apollo-System überwacht die Ausführungen der Funktionen und des kompletten Workflows. Diese Monitoring Daten sollen visualisiert werden.
[1] https://github.com/Apollo-Core |
Tasks |
|
Theoretical skills | Cloud Computing, Serverless, AWS, IBM, Google, Azure, Alibaba |
Practical skills | Java, JetBrains MPS, Terraform, Docker |
Additional information |
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 |
|
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. |