Title | Student(s) | Supervisor | Description |
MPS-based AFCL Editor | 1 | Fedor Smirnov | details |
Entwicklung von Serverless Workflow Anwendungen für Clouds | 1 | Thomas Fahringer | details |
Automatische Konvertierung von Workflows zwischen verschiedenen Workflow Management Systemen | 1 | Thomas Fahringer | 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 |
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 |
Title | MPS-based AFCL Editor |
Number of students | 1 |
Language | German or English |
Supervisors | Fedor Smirnov |
Description | The goal of this thesis is an implementation of the AFCL language (http://dps.uibk.ac.at/projects/afcl/subpages/user-documentation/index.html) for the description of function choreographies (FCs) within the MPS tool (https://www.jetbrains.com/mps/) provided by JetBrains. MPS is a tool specifically developed for the design of domain-specific languages (DSLs). Among other features, it offers the possibility to (a) define multiple views of the specified program (e.g., the view of the source file and a graphical representations which can be modified simultaneously) and (b) automatically generate source code based on the program written in the DSL. The tool developed within this thesis shall enable the user to (a) create correct AFCL files in a mixture of file editing and interaction with a graphical interface, and (b) automatically derive the enactment model used by the Apollo-Core enactment engine (https://github.com/Apollo-Core/EE-Model) from this file. |
Tasks |
|
Theoretical skills | No hard requirements Interest in Language Design and Domain-Specific Languages |
Practical skills | Java |
Additional information |
Title | Entwicklung von Serverless Workflow Anwendungen für Clouds |
Number of students | 1 |
Language | German or English |
Supervisors | Thomas Fahringer |
Description | Das Ziel dieser Bachelorarbeit ist die Entwicklung von Serverless Workflow Anwendungen mit der am DPS entwickelten AFCL Sprache (https://www.sciencedirect.com/science/article/pii/S0167739X20302648). Die Workflow Anwendungen sollen realistisch sein, aus den Bereichen Wissenschaft, Business und Industrie kommen, und können frei gewählt werden. Es können auch existierende Workflows nach AFCL konvertiert werden. Die Workflows sollen in Bezug auf Performance und Kosten optimiert werden. |
Tasks |
|
Theoretical skills | Distributed Systems, Cloud Computing, Serverless |
Practical skills |
|
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. Monitoring und Messungen von Performance und Kosten soll auf Basis von existierenden Tools durchgeführt werden. |
Title | Automatische Konvertierung von Workflows zwischen verschiedenen Workflow Management Systemen |
Number of students | 1 |
Language | German or English |
Supervisors | Thomas Fahringer |
Description | Das Ziel dieser Bachelorarbeit ist die Entwicklung eines Konvertierers von Workflow Anwendungen in der Sprache DAX (Pegasus workflow System https://pegasus.isi.edu) nach AFCL (Workflow Sprache der DPS Gruppe). Dazu soll ein XML Parser für die Konvertierung von DAX nach AFCL (in YAML) entwickelt werden. |
Tasks |
|
Theoretical skills | Distributed Systems, Cloud Computing, Serverless |
Practical skills |
|
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. |
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 |
|
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 |
|
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:
|
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 |
|
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:
|
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 |
|
Theoretical skills | Distributed Systems, Cloud Computing, Serverless |
Practical skills |
|
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 |
|
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 |
|
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 |