Scheduling Hard Real-Time Tasks with Tolerance of multiple processor failuresReport
Real-time systems are being extensively used in applications that are mission-critical and life-critical, such as space exploration, aircraft avionics, and robotics. Since these systems are usually operating in environments that are non-deterministic, and even hazardous, it is extremely important that hard deadlines of tasks be met even in the presence of certain failures. To tolerate processor failures in a real-time multiprocessor system, the problem of scheduling a set of hard real-time tasks with duplication is studied. We first prove that the problem of scheduling a set of non-preemptive tasks on m ≥ 3 processors to tolerate one arbitrary processor failure is NP-complete even when the tasks share a common deadline. A heuristic algorithm is then proposed to solve the problem. The schedule generated by the scheduling algorithm can tolerate, in the worst case, one arbitrary processor failure, but in the best case processor failures, where m is the number of processors in the system. Experimental data and analysis show that the performance of the algorithm is nearoptimal. The research described in this paper is a part of our on-going research effort to address the problem of supporting timeliness and dependability simultaneously in a system. m ⁄ 2
Note: Abstract extracted from PDF text
All rights reserved (no additional license for public reuse)
Oh, Yingfeng, and Sang Son. "Scheduling Hard Real-Time Tasks with Tolerance of multiple processor failures." University of Virginia Dept. of Computer Science Tech Report (1993).
University of Virginia, Department of Computer Science