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 realtime tasks to meet their deadlines in the presence of processor failures. We ®rst 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.
| Original language | English |
|---|---|
| Pages (from-to) | 629-639 |
| Number of pages | 11 |
| Journal | Journal of the Operational Research Society |
| Volume | 48 |
| Issue number | 6 |
| DOIs | |
| State | Published - Jun 1997 |
Bibliographical note
Funding Information:Acknowledgement—We would like to thank the referees for their encouragement and constructive criticism. Their comments serve to improve the presentation of this paper. This work was supported in part by ONR and by NSA.
Keywords
- Combinatorial analysis
- Dependability
- Heuristics
- Scheduling