Scheduling Algorithms For Fault-Tolerant Real-Time Systems
Licentiate thesis, 2010
This thesis deals with the problem of designing efficient fault-tolerant real-time scheduling algorithms for independent periodic tasks on uni- and multiprocessor platforms. The well-known Rate-Monotonic (RM) scheduling algorithm is assumed as it is widely used in many commercial systems due to its simplicity and ease of implementation. First, a uniprocessor RM scheduling algorithm is analyzed to derive an efficient and exact feasibility condition considering fault-tolerance. Second, a multiprocessor scheduling algorithm is designed to achieve efficient utilization of the processors while
meeting the task deadlines. The goal of the former algorithm is to achieve reliability while the goal of the latter algorithm is to achieve a high performance. In this thesis, it is also discussed how to blend these two metrics into the same scheduling framework.
The uniprocessor RM scheduling algorithm is analyzed using a novel composability technique considering occurrences of multiple faults. Based on this analysis, the exact feasibility of the fault-tolerant schedule of a task set can be determined efficiently in terms of time complexity.
This algorithm exploits time redundancy as a cost-efficient means to tolerate faults.
The fault model considered is very general in the sense that faults can occur in any task and at any time (even during recovery), and
covers a variety of hardware and software faults.
The multiprocessor RM scheduling algorithm is designed to achieve a high average utilization of the processors while meeting all task deadlines. The algorithm uses a task-splitting technique, in which a bounded number of tasks are allowed to migrate their execution from one processor to another. It is proved that, using the algorithm, all tasks can meet their deadlines if at most 55.2% of the
processor capacity is requested. The load on the processors are regulated to enable the design of an efficient admission controller for online scheduling that scales very well with an increasing number of processors.
Online Scheduling
Partitioned Scheduling
Rate-Monotonic Scheduling
Multiprocessors
Uniprocessor
Task-Splitting Algorithms
Periodic Task Scheduling
Real-Time Systems
Fault-Tolerant Scheduling