Handling Aperiodic Tasks and Overload in Distributed Off-line Scheduled Real-Time Systems
Tomas Lennvall · 2003
System designers face many choices when designing a real-time system. They have to decide how to deal with the original requirements imposed on the system, which operating system (OS), OS functionality, and scheduling algorithm. Ideally designers have a lot of freedom when choosing the most suitable configuration for the system. Unfortunately this is not the case in most present day situations. Real-time applications impose complex constraints, such as precedence, endto-end deadlines, jitter, and distribution, in addition to non-complex constraints, such as periods and deadlines. There might also be a need to handle on-line activities, such as aperiodic or sporadic tasks, or even to anticipate overload during run-time. On-line scheduling provide flexibility and supports overload handling, but handling complex constraints can be costly or even intractable. On the other hand, off-line scheduling resolves complex constraints and provides determinism at the cost of flexibility. This disparity between scheduling paradigms forces designers to choose either flexibility or determinism. OS kernels are usually monolithic, meaning that kernel functionality, dispatcher, and scheduling algorithms are usually intertwined to achieve higher performance, at the cost of limiting the designers choice. In this thesis we provide designers with some methods to alleviate these problems. We increase the flexibility in off-line scheduled systems by using the total bandwidth server (TBS) for aperiodic task handling. Furthermore we provide overload handling in off-line scheduled systems, which is handled in such a way that the original constraints are still met. Tasks can also be migrated from overloaded nodes to provide load balancing. We also propose a plug-in scheduling architecture where we disentangle the scheduling algorithm from the kernel routines providing for easy replacement of algorithm, as opposed to the monolithic kernels. This gives designers more flexibility in choosing the appropriate scheduling algorithm independently from the OS.