A Fault-Tolerant Scheduling Algorithm of Hybrid Real-Time Tasks Based on Multiprocessors

This paper proposes a fault-tolerant algorithm for scheduling periodic and aperiodic tasks based on multiple processors. Periodic tasks are assigned to the first-fit processor and scheduled statically following the Rate-Monotonic algorithm. Owing to the unpredictable arrival times and frequencies of aperiodic tasks, they are assigned to the first-fit processor and scheduled dynamically by the combined reservation-based strategy and earlier-deadline-first algorithm once they arrive in the system. A primary/backup approach is used to schedule copies of a task on different processors to tolerate faults. Due to the deterministic knowledge of periodic tasks, the assignment of periodic tasks to processors and the deriving of the least upper bound of reserved processor time are completed off-line, which greatly simplifies the algorithm's on-line implementation and reduces system overhead. This algorithm significantly decreases the number of required processors by integrating passive and active duplication and improves the processor utilization by exploiting the maximum available processing time for scheduling aperiodic tasks, which is left unused by periodic tasks. That is also demonstrated by the simulation results.