This Article 
 Bibliographic References 
 Add to: 
A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults
March 2003 (vol. 52 no. 3)
pp. 362-372
Jian Wu, IEEE

Abstract—A hard real-time system is usually subject to stringent reliability and timing constraints since failure to produce correct results in a timely manner may lead to a disaster. One way to avoid missing deadlines is to trade the quality of computation results for timeliness and software fault tolerance is often achieved with the use of redundant programs. A deadline mechanism which combines these two methods is proposed to provide software fault tolerance in hard real-time periodic task systems. Specifically, we consider the problem of scheduling a set of real-time periodic tasks each of which has two versions: primary and alternate. The primary version contains more functions (thus more complex) and produces good quality results, but its correctness is more difficult to verify because of its high level of complexity and resource usage. By contrast, the alternate version contains only the minimum required functions (thus simpler) and produces less precise, but acceptable results and its correctness is easy to verify. We propose a scheduling algorithm which 1) guarantees either the primary or alternate version of each critical task to be completed in time and 2) attempts to complete as many primaries as possible. Our basic algorithm uses a fixed priority-driven preemptive scheduling scheme to preallocate time intervals to the alternates and, at runtime, attempts to execute primaries first. An alternate will be executed only 1) if its primary fails due to lack of time or manifestation of bugs or 2) when the latest time to start execution of the alternate without missing the corresponding task deadline is reached. This algorithm is shown to be effective and easy to implement. This algorithm is enhanced further to prevent early failures in executing primaries from triggering failures in the subsequent job executions, thus improving efficiency of processor usage.

[1] K.-J. Lin, S. Natarajan, and J.W.-S. Liu, “Imprecise Results: Utilizing Partial Computations in Real-Time Systems,” Proc. Real-Time Systems Symp., pp. 210-217, Dec. 1987.
[2] K.B. Kenny, “Structuring Real-Time Systems Using Performance Polymorphism,” PhD thesis, Univ. of Illinois at Urbana-Champaign, Nov. 1990.
[3] J.A. Stankovic, “Misconceptions About Real Time Computing,” IEEE Computer, vol. 21, no. 10, Oct. 1988.
[4] J. Goldberg et al., “Development and Analysis of SIFT,” NASA contractor report 17146, NASA Langley Research Center, Feb. 1984.
[5] R.H. Campbell, K.H. Horton, and G.G. Belford, “Simulations of a Fault-Tolerant Deadline Mechanism,” Proc. Ninth Fault-Tolerant Computing Symp. (FTCS-9), pp. 95-101, June 1979.
[6] A. L. Liestman and R. H. Campbell,“A fault tolerant scheduling problem,”IEEE Trans. Software Eng., vol. SE-12, no. 11, pp. 1089–1095, Nov. 1986.
[7] M.G. Harbour, M.H. Klein, and J.P. Lehoczky, “Timing Analysis for Fixed Priority Scheduling of Hard Real Time Systems,” IEEE Trans. Software Eng., vol. 20, no. 1, pp. 13-28, Jan. 1994.
[8] J. Lehoczky, L. Sha, and Y. Ding, The Rate Monotonic Scheduling Algorithm: Exact Characterization and Average Case Behavior Proc. IEEE Real-Time Systems Symp., pp. 166-171, 1989.
[9] J.Y.-T. Leung and M.L. Merrill, “A Note on Preemptive Scheduling of Periodic, Rreal-Time Tasks,” Information Processing Letters, vol. 11, no. 3, pp. 115-118, Nov. 1980.
[10] J.Y.-T. Leung and J. Whitehead, “On the Complexity of Fixed-Priority Scheduling of Periodic, Real-Time Tasks,” Performance Evaluation, vol. 2, pp. 237-250, 1982.
[11] C.L. Liu and J.W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” J. ACM, vol. 20, no. 1, pp. 40-61, 1973.
[12] L. Sha, R. Rajkuma, and J.P. Lehoczky, "Priority Inheritance Protocols: An Approach to Real-Time Synchronization," IEEE Trans. Computers, vol. 39, no. 9, pp. 1,175-1,185, Sept. 1990.
[13] C.-C. Han and K.G. Shin, “A Globally Optimal Algorithm for Scheduling Both Hard Periodic and Soft Aperiodic Tasks,” IEEE Trans. Computers, submitted.
[14] N. Homayoun and P. Ramanathan, “Dynamic Priority Scheduling of Periodic and Aperiodic Tasks in Hard Real-Time Systems,” Real-Time Systems J., vol. 6, pp. 207-232, 1994.
[15] J.P. Lehoczky, L. Sha, and J.K. Strosnider, “Enhanced Aperiodic Responsiveness in Hard Real-Time Environments,” Proc. Real-Time Systems Symp., pp. 261-270, Dec. 1987.
[16] J.P. Lehoczky and S. Ramos-Thuel, “An Optimal Algorithm for Scheduling Soft-Aperiodic Tasks in Fixed-Priority Preemptive Systems,” Proc. Real-Time Systems Symp., pp. 110-123, 1992.
[17] L. Tein-Hsiang and W. Tarng,“Scheduling periodic and aperiodic tasks in hard real-time computing systems,”Perform. Eval. Rev., vol. 19, no. 1, pp. 31–38, May 1991.
[18] B. Sprunt,J. Lehoczky,, and L. Sha,“Exploiting unused periodic time for aperiodic service using the extened priority exchange algorithm,” Proc. Ninth Real-Time System Symp., pp. 251-258, 1988.
[19] L. Sha, "Dependable System Upgrade," Proc. IEEE Real-Time Systems Symp.(RTSS 98), IEEE CS Press, Los Alamitos, Calif., 1998, pp. 440-449.
[20] S. Ghosh, R. Melhem, and D. Mossé, Enhancing Real-Time Schedules to Tolerate Transient Faults Proc. 16th Real-Time Systems Symp. (RTSS), pp. 120-129, 1995.
[21] H. Chetto and M. Chetto, “Some Results of the Earliest Deadline Scheduling Algorithm,” IEEE Trans. Software Eng., vol. 15, no. 10, pp. 1,261-1,269, Oct. 1989.

Index Terms:
Real-time systems, deadline mechanisms, notification time, primary, alternate, backwards-RM algorithm, CAT algorithm, EIT algorithm.
Ching-Chih Han, Kang G. Shin, Jian Wu, "A Fault-Tolerant Scheduling Algorithm for Real-Time Periodic Tasks with Possible Software Faults," IEEE Transactions on Computers, vol. 52, no. 3, pp. 362-372, March 2003, doi:10.1109/TC.2003.1183950
Usage of this product signifies your acceptance of the Terms of Use.