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.

Memory Characteristics of HPC Applications

Scalability of applications is a major concern today — even more so in the field of High Performance Computing (HPC) where single applications easily span hundreds or thousands of CPUs. The question how to support such scaling by adapting applications, and possibly algorithms, is an active field of research. However, scaling across multiple machines also has significant influence on the memory consumption of the applications, e.g. due to additional communications buffers or data being held redundantly to avoid costly data transfers.

In this thesis, the memory footprints of HPC applications are to be analysed. The student will need to devise an appropriate monitoring infrastructure to capture the dynamic memory usage of processes. These measurements should have low overhead and still track the memory allocations and deallocations of various parts of the process, e.g. different libraries. Existing solutions like ScoreP [1] may provide a decent starting point. With the measurement setup in place, the memory implications of scaling HPC applications should be analysed.

[1] http://www.vi-hps.org/projects/score-p/

Supervisor: Jan Bierbaum
Student assistent

Analysis of the Linux Energy-Aware Scheduler

The Energy-Aware Scheduler considers energy as another scheduling objective next to utilization, fairness, and migration cost.

This thesis should compare the scheduler’s energy behavior with that of CFS and also compare against theoretical best-case approaches.

Supervisor: Till Smejkal, Michael Roitzsch
Bachelor thesis

Implementing Earliest Eligible Virtual Deadline First (EEVDF) on the L4Re microkernel

Commodity operating systems schedulers rarely feature real-time support, but instead focus on throughput for servers, and fairness and responsiveness on end-user devices. Stoica et al. proposed EEVDF [1], an algorithm that allows scheduling of a real-time task set on a fair-weighted queuing scheduler.

In this thesis, an EEVDF scheduler and a suitable API should be designed and implementated either in user- or kernel space on the L4Re/Fiasco microkernel. Further, the thesis should evaluate the systems efficiency and the algorithms efficacy.

[1] Ion Stoica et al.: A Proportional Share Resource Allocation Algorithm for Real-Time, Time-Shared Systems. RTSS 1996, https://pdfs.semanticscholar.org/5b1d/784aae0d5a8c791c09a3274afc25ae9f2700.pdf

Supervisor: Michael Roitzsch, Hannes Weisbach
Großer Beleg

Execution Time Prediction for HEVC

The ATLAS [1] system was developed at the TU Dresden Operating Systems Group to explore an interface, where applications explicitly submit individual real-time jobs, without specifying execution time. Instead, execution time is predicted from application-level hints describing the computational complexity of a job. These hints are called metrics. This construction allows soft-realtime applications to adopt and learn their execution times on a wide array of hardware platforms, with varying performance characteristics.

This thesis should analyse the decoder implementation of HEVC included in FFmpeg to predict the decoding time of each video frame. The thesis should discuss how well the proposed metrics or combination of metrics correlate with frame decoding time and compare against the existing H.264 metrics with respect to prediction accuracy. In the course of this thesis FFmpeg’s HEVC implementation should be augmented to extract the proposed metrics.

[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
Bachelor thesis

I/O Scheduling for Modern Storage Technologies

In the past I/O scheduling regulated access to slow I/O devices. However, modern I/O devices offer unparalleled speed, for example SSDs are able to handle thousands to hundreds of thousands of I/O operations per second. Interactive and real-time systems based on older, slow hardware had to depend on real-time capable I/O schedulers. This poses the question whether or not contemporary hardware is „fast enough“ to be used in interactive and real-time systems without specialised I/O scheduler or any I/O scheduler at all.

This thesis should answer the question of how much potential exists for an I/O scheduler to re-oder requests for a net improvement over drive-internal re-ordering. The analysis should contain different background workloads and workload mixes and cover different scheduling policies, including a theoretical, clairvoyant scheduler and the No-Op scheduler. Experiments should include SSDs but can be extended to other storage technologies such as HDDs.

Supervisor: Hannes Weisbach, Michael Roitzsch
Großer Beleg

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: 2nd Jul 2019, 5.56 PM
Author: Webmaster