This Article 
 Bibliographic References 
 Add to: 
An Optimal Fixed-Priority Assignment Algorithm for Supporting Fault-Tolerant Hard Real-Time Systems
October 2003 (vol. 52 no. 10)
pp. 1332-1346

Abstract—The main contribution of this paper is twofold. First, we present an appropriate schedulability analysis, based on response time analysis, for supporting fault-tolerant hard real-time systems. We consider systems that make use of error-recovery techniques to carry out fault tolerance. Second, we propose a new priority assignment algorithm which can be used, together with the schedulability analysis, to improve system fault resilience. These achievements come from the observation that traditional priority assignment policies may no longer be appropriate when faults are being considered. The proposed schedulability analysis takes into account the fact that the recoveries of tasks may be executed at higher priority levels. This characteristic is very important since, after an error, a task certainly has a shorter period of time to meet its deadline. The proposed priority assignment algorithm, which uses some properties of the analysis, is very efficient. We show that the method used to find out an appropriate priority assignment reduces the search space from O(n!) to O(n^2), where n is the number of task recovery procedures. Also, we show that the priority assignment algorithm is optimal in the sense that the fault resilience of task sets is maximized as for the proposed analysis. The effectiveness of the proposed approach is evaluated by simulation.

[1] N.C. Audsley, A. Burns, M. Richardson, K. Tindell, and A. Wellings, "Applying New Scheduling Theory to Static Priority Preemptive Scheduling," Software Eng. J. vol. 8, no. 5, pp. 284-292, Sept. 1993.
[2] A.A. Bertossi and L.V. Mancini, Scheduling Algorithms for Fault-Tolerance in Hard-Real-Time Systems Real-Time Systems, vol. 7, no. 3, pp. 229-245, 1994.
[3] A. Burns, R. Davis, and S. Punnekkat, “Feasibility Analysis of Fault-Tolerant Real-Time Task Sets,” Proc. Euromicro Workshop Real-Time Systems, pp. 29-33, 1996.
[4] A. Burns, M. Nicholson, K. Tindell, and N. Zhang, Allocating and Scheduling Hard Real-Time Tasks on a Point-to-Point Distributed System Proc. Workshop Parallel and Distributed Real-Time Systems, pp. 11-20, 1993.
[5] A. Burns, S. Punnekkat, L. Stringini, and D. Wright, Probabilistic Scheduling Guarantees for Fault-Tolerant Real-Time Systems Proc. Seventh Int'l Working Conf. Dependable Computing for Critical Application, pp. 339-356, 1999.
[6] M. Caccamo and G. Buttazzo, Optimal Scheduling for Fault-Tolerant and Firm Real-Time Systems Proc. Fifth Conf. Real-Time Computing and Applications (RTCSA), pp. 223-231, 1998.
[7] 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.
[8] S. Ghosh, R. Melhem, and D. Mossé, Fault-Tolerant Rate-Monotonic Scheduling Proc. IFIP Int'l Conf. Dependable Computing for Critical Applications, 1997.
[9] M. Joseph and P. Pandya, Finding Response Times in a Real-Time System The Computer J. (British Computer Soc.), vol. 29, no. 5, pp. 390-395, 1996.
[10] N. Kandasamy, J.P. Hayes, and B.T. Murray, Tolerating Transient Faults in Statically Scheduled Safety-Critical Embedded Systems Proc. 18th IEEE Symp. Reliable Distributed Systems (SRDS), pp. 212-221, 1999.
[11] J.C. Laprie, Dependability: Basic Concepts and Terminology, vol. 5, Dependable Computing and Fault-Tolerant Systems. Springer-Verlag, 1992.
[12] F. Liberato, R. Melhem, and D. Mossé, Tolerance to Mutiple Transient Faults for Aperiodic Tasks in Hard Real-Time Systems IEEE Trans. Computers, vol. 49, no. 9, pp. 906-914, Sept. 2000.
[13] L. Liestman and R.H. Campbell, A Fault-Tolerant Scheduling Problem IEEE Trans. Software Eng., vol. 12, no. 11, pp. 1089-1095, 1986.
[14] G.M.A. Lima and A. Burns, An Effective Schedulability Analysis for Fault-Tolerant Hard Real-Time Systems Proc. 13th Euromicro Conf. Real-Time Systems, pp. 209-216, 2001.
[15] C.L. Liu and J.W. Layland, Scheduling Algorithms for Multiprogram in a Hard Real-Time Environment J. ACM, vol. 20, no. 1, pp. 40-61, 1973.
[16] J.C. Palencia and M.G. Harbour, Schedulability Analysis for Tasks with Static and Dynamic Offsets Proc. 19th Real-Time Systems Symp. (RTSS), pp. 26-37, 1998.
[17] J.C. Palencia and M.G. Harbour, Exploiting Precedence Relations in the Schedulability Analysis of Distributed Real-Time Systems Proc. 20th Real-Time Systems Symp. (RTSS), pp. 328-339, 1999.
[18] S. Punnekkat, Schedulability Analysis for Fault Tolerant Real-Time Systems PhD thesis, Dept. of Computer Science, Univ. of York, 1997.
[19] S. Ramos-Thuel and J.K. Strosnider, The Transient Server Approach to Scheduling Time-Critical Recovery Operations Proc. 12th Real-Time Systems Symp. (RTSS), pp. 286-295, 1991.
[20] K. Tindell, A. Burns, and A. Wellings, Analysis of Hard Real-Time Communications Real-Time Systems, vol. 9, no. 2, pp. 147-171, 1995.
[21] K. Tindell and J. Clark, Holistic Schedulability Analysis for Distributed Hard Real-Time Systems Microprocessing and Microprogramming, Euromicro J., vol. 40, pp. 117-134, 1994.

Index Terms:
Hard real-time systems, fault tolerance, schedulability analysis, priority assignment algorithm.
George M. de A. Lima, Alan Burns, "An Optimal Fixed-Priority Assignment Algorithm for Supporting Fault-Tolerant Hard Real-Time Systems," IEEE Transactions on Computers, vol. 52, no. 10, pp. 1332-1346, Oct. 2003, doi:10.1109/TC.2003.1234530
Usage of this product signifies your acceptance of the Terms of Use.