Abstract
Real-time systems are increasingly used in applications whose failure may result in large economic and human costs. Since many such systems operate in environments that are non-deterministic, and possibly hazardous, it is extremely important that the systems be dependable, namely the deadlines of tasks must be met even in the presence of particular failures. In order to enhance the dependability of a real-time system, we study the problem of scheduling a set of real-time tasks to meet their deadlines in the presence of processor failures. We first prove that the problem of scheduling a set of non-preemptive tasks on more than two processors to tolerate one arbitrary processor failure is NP-complete even when the tasks share a common deadline. Heuristic algorithms are then proposed to solve this problem. The schedules generated by the heuristic algorithms can tolerate one arbitrary processor failure in the worst case. The analysis and experimental data show that the performance of the algorithms is near-optimal.
Similar content being viewed by others
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Oh, Y., Son, S. Scheduling real-time tasks for dependability. J Oper Res Soc 48, 629–639 (1997). https://doi.org/10.1057/palgrave.jors.2600413
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1057/palgrave.jors.2600413