Scheduling hard real-time tasks with tolerance of multiple processor failures

Yingfeng Oh, Sang H. Son

Research output: Contribution to journalArticlepeer-review

9 Scopus citations

Abstract

Real-time systems are used extensively 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, the problem of scheduling a set of 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 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 algorithm can tolerate, in the worst case, one arbitrary processor failure, but in the best case [m/2] processor failures, where m is the number of processors. Experimental data and analysis show that the performance of the algorithm is near-optimal.

Original languageEnglish
Pages (from-to)193-206
Number of pages14
JournalMicroprocessing and Microprogramming
Volume40
Issue number2-3
DOIs
StatePublished - Apr 1994

Bibliographical note

Funding Information:
We would like to thank the refereesfo r their manys uggestionws,h ichi mprovet hepresentation of this paper.T his work was supportedin part by ONR, by DOE, and by IBM.

Keywords

  • Fault-tolerance
  • Parallel processing
  • Real-time scheduling

Fingerprint

Dive into the research topics of 'Scheduling hard real-time tasks with tolerance of multiple processor failures'. Together they form a unique fingerprint.

Cite this