Inherently stable real-time priority list dispatchers

This paper concerns the problem of scheduling instability, where reducing the duration of one or more tasks delays the starting time of another task. This can make it difficult or impossible to guarantee real-time deadlines. Unfortunately, simulating schedules with all possible variations in the durations of all tasks is in most cases an intractable problem. Therefore, task dispatching must be provably stable for all permissible variations in durations. To alleviate scheduling instability, we have developed a new class of provably stable runtime dispatchers that are less restrictive than known stabilization algorithms. Extensive simulations show that even the simple, low-overhead dispatchers perform remarkably well. These results suggest that "simple is better". Developers of hard real-time systems can implement fast, simple low-overhead runtime task dispatchers that guarantee stability but still deliver near-optimal performance.<<ETX>>