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 |
|
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 |
|
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). |