## Adaptive Real-Time Scheduling and Resource Management on Multicore Architectures

• Real-time systems are systems that have to react correctly to stimuli from the environment within given timing constraints. Today, real-time systems are employed everywhere in industry, not only in safety-critical systems but also in, e.g., communication, entertainment, and multimedia systems. With the advent of multicore platforms, new challenges on the efficient exploitation of real-time systems have arisen: First, there is the need for effective scheduling algorithms that feature low overheads to improve the use of the computational resources of real-time systems. The goal of these algorithms is to ensure timely execution of tasks, i.e., to provide runtime guarantees. Additionally, many systems require their scheduling algorithm to flexibly react to unforeseen events. Second, the inherent parallelism of multicore systems leads to contention for shared hardware resources and complicates system analysis. At any time, multiple applications run with varying resource requirements and compete for the scarce resources of the system. As a result, there is a need for an adaptive resource management. Achieving and implementing an effective and efficient resource management is a challenging task. The main goal of resource management is to guarantee a minimum resource availability to real-time applications. A further goal is to fulfill global optimization objectives, e.g., maximization of the global system performance, or the user perceived quality of service. In this thesis, we derive methods based on the slot shifting algorithm. Slot shifting provides flexible scheduling of time-constrained applications and can react to unforeseen events in time-triggered systems. For this reason, we aim at designing slot shifting based algorithms targeted for multicore systems to tackle the aforementioned challenges. The main contribution of this thesis is to present two global slot shifting algorithms targeted for multicore systems. Additionally, we extend slot shifting algorithms to improve their runtime behavior, or to handle non-preemptive firm aperiodic tasks. In a variety of experiments, the effectiveness and efficiency of the algorithms are evaluated and confirmed. Finally, the thesis presents an implementation of a slot-shifting-based logic into a resource management framework for multicore systems. Thus, the thesis closes the circle and successfully bridges the gap between real-time scheduling theory and real-world implementations. We prove applicability of the slot shifting algorithm to effectively and efficiently perform adaptive resource management on multicore systems.

$Rev: 13581$