Current Theses

Title

Student

Supervisor(s)

Description

Cronos 2.0: Distributed Memory AMR Parallelization with MPI Samuel Plangger Philipp Gschwandtner details
Using a Raspberry Pi as an Edge device Lukas Dötlinger Fedor Smirnov details

Title Cronos 2.0: Distributed Memory AMR Parallelization with MPI
Number of students 1
Language English
Supervisor Philipp Gschwandtner
Description Parallel applications in scientific computing often grow over multiple years, sometimes decades. This frequently results in highly tuned codes in terms of performance and scalability but simultaneously prohibitively convoluted code bases that hinder maintainability and sustainability. Redesign and reimplementation from scratch are often required in order to keep up with
changing personnel and evolving technologies. Cronos, a structured grid application from the field of astrophysics, is currently undergoing such a redesign phase, with a sequential implementation at a reduced feature set available in modern C++. However, this implementation lacks any distributed memory parallelization, which is required for any serious domain science research. Contrary to proxy apps or toy examples, such parallelization must meet highest standards in terms of performance and efficiency in order to match the original implementation and become a viable replacement. In addition to these requirements, the reimplementation of Cronos features adaptive mesh refinement (AMR) which increases the level of difficulty for adopting efficient parallelization strategies considerably. The goal of this master thesis is to extend Cronos with an MPI-based parallelization for distributed memory and explore various techniques for load balancing and performance optimization that are suitable for running on at least several thousand cores.
Tasks
  • Code analysis of Cronos reimplementation and original implementation
  • Study of parallelization techniques for AMR methods
  • Conceptualization and implementation of a highly-scalable MPI version
  • Performance evaluation on supercomputers
Theoretical Skills distributed memory programming, high performance computing, scientific computing
Practical Skills C++, MPI, scientific computing, performance debugging
Additional Information

Title Using a Raspberry Pi as an Edge device
Number of students 1
Language German or English
Supervisor Fedor Smirnov
Description The goal of this thesis in the the design, the implementation, and the evaluation of the infrastructure required to use a Raspberry Pi (https://www.raspberrypi.org/) as an edge device for the execution of (serverless) functions. In addition to the implementation of this basic functionality, the created software is to be integrated into the Apollo platform (https://github.com/Apollo-Core) developed by the DPS group.
Tasks
  • Researching the available frameworks for the implementation of edge functionality on the Raspberry (i.e., Kybernetes, OpenWhisk, or EdgeX)
  • Familiarization with the Apollo Framework
  • Implementing the edge functionality with (at least) one of the frameworks
  • Experimental evaluation (comparison of different frameworks/comparison of the performance of the edge device and cloud resources)
Theoretical Skills Distributed Systems, Cloud Computing
Practical Skills Java
Additional Information One (or multiple, if necessary) Raspberry Pi (and potentially other edge devices) will be provided for the work on this topic.
Depending on the main focus of interest, this topic can be laid out into various directions: From an extensive research and comparison of different Edge Frameworks (focus on technology review), over the implementation of an automatic detection of edge devices with a subsequent deployment and invocation of functions on them (focus on software development) to the implementation of an experimental network of fog/edge devices (focus on working with edge hardware).