SYSNAP-PMaP-M: Processor Microarchitecture and Performance (SS24)
- Moderator/in: Werner Haas
- Moderator/in: Cornelia Schecher
Semester: 2024 Sommersemester
SYSNAP-OSE-M: Operating Systems Engineering
- Moderator/in: Michael Engel
- Moderator/in: Florian Schmaus
Semester: 2024 Sommersemester
SYSNAP-Project-M Projekt Systemnahe Programmierung
In the SYSNAP master project we will deal with system-oriented programming of concurrency platforms.
A concurrency platform is a combination of a parallel programming language and an associated runtime system. Since parallel programming is a necessary prerequisite to efficiently run current and especially future many-core systems (cf. "Free Lunch is Over", Dennard Scaling), concurrency platforms are essential. Prominent examples of concurrency platforms include Google's Go programming language (and its associated runtime system). In research, OpenCilk (MIT) or X10 (IBM) are to be mentioned here, for example. But also established languages with good support for parallel programming are undergoing a transformation to be modernize towards becoming a concurrency platform, e.g., Java's Project Loom.
In this project, we will first look at the basic building blocks of concurrency. Then we will learn about the typical programming interfaces of concurrency platforms, such as fork/join parallelism, and use them practically. In the next step, we will dive one level deeper into the runtime system and will deal in particular with scheduling, that is the core of the runtime system and is largely responsible for its efficiency. Thereby, we will look at "work-stealing scheduling", the predominant scheduling approach of concurrency platforms.
In the last third of the project, we will dive down another level and look at the interaction between the runtime system and the operating system. Although modern concurrency platforms can run without problems under current operating systems, we will see that these parallel runtime systems can only be operated optimally to a limited extent. This is partly due to the traditional synchronous operating system interface, but also due to a lack of functionality in the operating system. As part of the project, we are considering alternative approaches to improve the interaction between runtime system and operating system.
The master project is supervised by Florian Schmaus.
In the SYSNAP master project we will deal with system-oriented programming of concurrency platforms.
A concurrency platform is a combination of a parallel programming language and an associated runtime system. Since parallel programming is a necessary prerequisite to efficiently run current and especially future many-core systems (cf. "Free Lunch is Over", Dennard Scaling), concurrency platforms are essential. Prominent examples of concurrency platforms include Google's Go programming language (and its associated runtime system). In research, OpenCilk (MIT) or X10 (IBM) are to be mentioned here, for example. But also established languages with good support for parallel programming are undergoing a transformation to be modernize towards becoming a concurrency platform, e.g., Java's Project Loom.
In this project, we will first look at the basic building blocks of concurrency. Then we will learn about the typical programming interfaces of concurrency platforms, such as fork/join parallelism, and use them practically. In the next step, we will dive one level deeper into the runtime system and will deal in particular with scheduling, that is the core of the runtime system and is largely responsible for its efficiency. Thereby, we will look at "work-stealing scheduling", the predominant scheduling approach of concurrency platforms.
In the last third of the project, we will dive down another level and look at the interaction between the runtime system and the operating system. Although modern concurrency platforms can run without problems under current operating systems, we will see that these parallel runtime systems can only be operated optimally to a limited extent. This is partly due to the traditional synchronous operating system interface, but also due to a lack of functionality in the operating system. As part of the project, we are considering alternative approaches to improve the interaction between runtime system and operating system.
The master project is supervised by Florian Schmaus.
- Moderator/in: Michael Engel
- Moderator/in: Florian Schmaus
Semester: 2024 Sommersemester
SYSNAP-Project-B Projekt Systemnahe Programmierung
- Moderator/in: Michael Engel
- Moderator/in: Caroline Susanne Hedwig Faul
- Moderator/in: Florian Schmaus
Semester: 2024 Sommersemester
PSI-EiRBS-B Einführung in Rechner- und Betriebssysteme
- Moderator/in: Michael Engel
- Moderator/in: Caroline Susanne Hedwig Faul
- Moderator/in: Florian Knoch
- Moderator/in: Leonhard Kohn
- Moderator/in: Fabian Lamprecht
- Moderator/in: Max Meidinger
- Moderator/in: Florian Schmaus
- Moderator/in: Tobias Niklas Treuheit
Semester: 2024 Sommersemester