TUD Logo

TUD Home » ... » Teaching » Topics for theses » Current projects

Operating Systems

Current student projects

This page reflects our current student activities. For further details, please, contact the supervisors or students.

Performance Advantage of an Optimal I/O-Scheduler

I/O schedulers for block devices are re-ordering I/O requests to improve latency, fairness, utilisation or a combination thereof. The I/O scheduler played a crucial role for rotating hard disks to achieve good performance. The goal of this thesis is to find out how much performance improvement I/O-schedulers are able to achieve on contemporary SATA and NVMe SSDs, if any. For a selection of disks and I/O workloads (read, write, and read/write) metrics such as latency and bandwidth of the standard I/O schedulers in Linux (cfq, deadline, noop), as well as a theoretical optimal scheduler should be compared. Proper selection of synthetical and real-world benchmarks and the criteria to compare I/O schedulers are part of this thesis.

Supervisor: Hannes Weisbach, Michael Roitzsch
Großer Beleg

MPI Application Trace Tool

The goal of this assignment is to record parameters and timing of calls to MPI functions. This trace should be used to replay the execution of an application without running the actual code. The tool should be usable for debugging and performance analysis. A follow-up task would be to find a way to minimize the trace to build a minimal working example.

Supervisor: Maksym Planeta, Jan Bierbaum
Master thesis

HPC Applications on Apache Mesos

Mesos is a cloud management system for clusters of machines and it provides support for running MPI applications. The goal of this project is to setup a local Mesos cluster on machines of the OS chair and run MPI benchmark applications on it in order to compare the performance characteristics with native MPI runs.

As an extension, an analysis should be conducted of the benefits and disadvantages of a using a cloud cluster manager instead of a traditional HPC infrastructure.

Supervisor: Michael Roitzsch
Bachelor thesis

WWAD: What Would ATLAS Do?

ATLAS [1] is a real-time scheduler for Linux that is developed at the Operating Systems chair. ATLAS simplifies real-time programming by relieving the developer from the need to specify periods, priorities or execution times.

However, debugging extensions to the ATLAS scheduler within the Linux kernel is difficult. The goal of this assignment is to implement a simulator for the ATLAS kernel scheduler that processes job descriptions and generates the resulting idealized ATLAS schedule. The job descriptions should be manually constructed or automatically generated from application runs.

As a possible extension, a fuzzy comparison of the the simulated schedule to the schedule enacted by the Linux kernel would be helpful for regression testing.

[1] Michael Roitzsch, Stefan Wächtler, Hermann Härtig: ATLAS – Look-Ahead Scheduling Using Workload Metrics. RTAS 2013, https://os.inf.tu-dresden.de/papers_ps/rtas2013-mroi-atlas.pdf

Supervisor: Michael Roitzsch, Hannes Weisbach
Student assistent

Enhancement of the Programming Environment on M3

M3 [1] is a new hardware/operating system co-design that targets very heterogeneous platforms, containing mixed ISAs and accelerators. Currently, M3 applications are written in C++ with a limited number of abstractions provided by M3's library due to the lack of a complete libc and libstdc++.

This thesis should enhance the programming environment on M3 by, e.g., porting an existing C/C++ library to M3, or adding support for other programming languages such as Rust.

[1] Nils Asmussen, Marcus Völp, Benedikt Nöthen, Hermann Härtig, Gerhard Fettweis: M3 – A Hardware/Operating-System Co-Design to Tame Heterogeneous Manycores. ASPLOS 2016, http://os.inf.tu-dresden.de/papers_ps/asmussen-m3-asplos16.pdf

Supervisor: Nils Asmussen, Matthias Hille
Student project

Design and Implementation of a Disk Filesystem on M3

M3 [1] is a new hardware/operating system co-design that targets very heterogeneous platforms, containing mixed ISAs and accelerators. The main evaluation platform of M3 is gem5 [2], which offers an IDE controller and disk model. However, M3 does currently only provide an in-memory filesystem, called m3fs.

The goal of this thesis is to port or develop a device driver for IDE disks and modify m3fs to use a storage backend and a buffer cache. In particular, the filesystem should work efficiently with accelerators, just like m3fs.

[1] Nils Asmussen, Marcus Völp, Benedikt Nöthen, Hermann Härtig, Gerhard Fettweis: M3 – A Hardware/Operating-System Co-Design to Tame Heterogeneous Manycores. ASPLOS 2016, http://os.inf.tu-dresden.de/papers_ps/asmussen-m3-asplos16.pdf

[2] Nathan Binkert, Bradford Beckmann, Gabriel Black, Steven K. Reinhardt, Ali Saidi, Arkaprava Basu, Joel Hestness, Derek R. Hower, Tushar Krishna, Somayeh Sardashti, Rathijit Sen, Korey Sewell, Muhammad Shoaib, Nilay Vaish, Mark D. Hill, David A. Wood: The gem5 Simulator. ACM SIGARCH Computer Architecture News, May 2011

Supervisor: Nils Asmussen, Matthias Hille
Student assistent

Network Support on M3

M3 [1] is a new hardware/operating system co-design that targets very heterogeneous platforms, containing mixed ISAs and accelerators. The main evaluation platform of M3 is gem5 [2], which offers network device models such as the Intel's 8254x line. However, M3 lacks a network device driver and TCP/IP stack to make use of it.

The goal of this thesis is to port or develop a network device driver and design the basics of a TCP/IP stack for M3 that takes advantage of M3's unique properties.

[1] Nils Asmussen, Marcus Völp, Benedikt Nöthen, Hermann Härtig, Gerhard Fettweis: M3 – A Hardware/Operating-System Co-Design to Tame Heterogeneous Manycores. ASPLOS 2016, http://os.inf.tu-dresden.de/papers_ps/asmussen-m3-asplos16.pdf

[2] Nathan Binkert, Bradford Beckmann, Gabriel Black, Steven K. Reinhardt, Ali Saidi, Arkaprava Basu, Joel Hestness, Derek R. Hower, Tushar Krishna, Somayeh Sardashti, Rathijit Sen, Korey Sewell, Muhammad Shoaib, Nilay Vaish, Mark D. Hill, David A. Wood: The gem5 Simulator. ACM SIGARCH Computer Architecture News, May 2011

Supervisor: Nils Asmussen, Matthias Hille
Großer Beleg

Thermal and Energy Scheduling with the ATLAS Scheduler

ATLAS [1] is a real-time scheduler for Linux that is developed at the Operating Systems chair. ATLAS simplifies real-time programming by relieving the developer from the need to specify periods, priorities or execution times.

The ATLAS scheduler has rich knowledge about the application's timing needs. It could use this knowledge for advanced thermal scheduling such as delaying unneeded work to enable Intel Turbo Boost acceleration for more urgent jobs. Also, the ATLAS scheduler allows implementing a variety of scheduling policies, such as race-to-idle or consolidate-to-idle, which have varing energy characteristics.

This thesis should implement and evaluate selected scheduling policies and evaluate their energy and performance impact.

[1] Michael Roitzsch, Stefan Wächtler, Hermann Härtig: ATLAS – Look-Ahead Scheduling Using Workload Metrics. RTAS 2013, https://os.inf.tu-dresden.de/papers_ps/rtas2013-mroi-atlas.pdf

Supervisor: Michael Roitzsch
Großer Beleg

Implementing SGX in Software

Intel offers a hardware solution to encapsulate applications from the OS. The goal of this Beleg/Diploma thesis is to investigate which parts can be implemented as a software only solution inside or on top of a hypervisor. Individual aspects such as the memory protection system of enclaves should be implemented prototypically assuming the availability of scratch pad memory.

Supervisor: Adam Lackorzynski
Master thesis

Distributed Checkpointing

Clusters have grown to a dimension in which distributed compute jobs need to cope with hardware failures to finish correctly. Checkpoint/Restart is one method to cope with such errors, yet recent research suggests that current bandwidth to persistent storage is insufficient to create checkpoints at a useful frequency.

The goal of this thesis is to build a prototype of a checkpointing system for distributed applications on Linux that keeps checkpoint data in RAM and uses erasure codes to reconstruct missing checkpoint data. The checkpoint data itself is to be distributed in the cluster.

Supervisor: Julian Stecklina
Großer Beleg

Kernel Control flow integrity checking using basic block signatures

Control flow integrity (CFI) checking allows to detect invalid control flow (such as incorrect branches) within a program. One way to implement CFI is to assign signatures to basic blocks at compile time and add code to the binary that checks such signatures at runtime [1].

In this task you shall investigate ways to perform CFI for the Fiasco.OC microkernel and investigate means to improve error detection latencies, fault coverage, and performance overhead.

[1] Control Flow Checking Algorithm using Soft-basedIntra-/Inter-block Assigned-Signature

Supervisor: Björn Döbel, Benjamin Engel
Großer Beleg

Last modified: 19th Apr 2018, 3.33 PM
Author: Webmaster