This Article 
 Bibliographic References 
 Add to: 
Engineering and Analysis of Fixed Priority Schedulers
September 1993 (vol. 19 no. 9)
pp. 920-934

Scheduling theory holds great promise as a means to a priori validate timing correctness of real-time applications. However, there currently exists a wide gap between scheduling theory and its implementation in operating system kernels running on specific hardware platforms. The implementation of any particular scheduling algorithm introduces overhead and blocking components which must be accounted for in the timing correctness validation process. This paper presents a methodology for incorporating the costs of scheduler implementation within the context of fixed priority scheduling algorithms. Both event-driven and timer-driven scheduling implementations are analyzed. We show that for the timer-driven scheduling implementations the selection of the timer interrupt rate can dramatically affect the schedulability of a task set, and we present a method for determining the optimal timer rate. We analyzed both randomly generated and two well-defined task sets and found that their schedulability can be significantly degraded by the implementation costs. Task sets that have ideal breakdown utilization over 90% may not even be schedulable when the implementation costs are considered. This work provides a first step toward bridging the gap between real-time scheduling theory and implementation realities. This gap must be bridged for any meaningful validation of timing correctness properties of real-time applications.

[1] C. L. Liu and J. W. Layland, "Scheduling algorithms for multiprogramming in a hard real-time environment,"J. ACM, vol. 20, no. 1, pp. 46-61, Jan. 1973.
[2] J. P. Lehoczky, L. Sha, and Y. Ding, "The rate monotonic scheduling algorithm--Exact characterization and average case behavior," inProc. IEEE Real-Time Syst. Symp., 1989.
[3] L. Sha, R. Rajkumar, and J. P. Lehoczky, "Priority inheritance protocols: An approach to real-time synchronization,"IEEE Trans. Comput., vol. 39, pp. 1175-1185, Sept. 1990.
[4] J. W. Liu, K. Lin, and S. Natarajan, "Scheduling real-time, periodic jobs using imprecise results," inProc. 8th IEEE Real-Time Systems Symp., Dec. 1987, pp. 252-260.
[5] A. K. Mok, "Fundamental design problems of distributed systems for the hard real time environment," Ph.D. dissertation, Mass. Inst. Technol., Cambridge, 1983.
[6] J.A. Stankovic, "Real-Time Computing Systems: The Next Generation," inHard Real-Time Systems, J.A. Stankovic and K. Ramamritham, eds., IEEE Computer Society Press, Los Alamitos, Calif., 1988, pp. 14-37.
[7] K. Ramamritham, J. Stankovic, and P. Shiah, "Efficient scheduling algorithms for real-time multiprocessor systems,"IEEE Trans. Parallel Distributed Syst., vol. 1, pp. 184-194, 1990.
[8] R. Rajkumar, "Task synchronization in real-time systems," Ph.D. dissertation, Carnegie Mellon Univ., Pittsburgh, PA, 1989.
[9] B. Sprunt, "A periodic task scheduling for real-time systems," Ph.D. dissertation, Carnegie Mellon Univ., Pittsburgh, PA, 1990.
[10] J. Strosnider, "Highly responsive real-time token rings," Ph.D. dissertation, Carnegie Mellon Univ., Pittsburgh, PA, 1988.
[11] D. Katcher, H. Arakawa, and J. Strosnider, "Bridging the gap between scheduling theory and reality," inProc. 1991 Workshop Architectural Aspects of Real-Time Systems.
[12] D. Katcher, H. Arakawa, and J. Strosnider, "Engineering and analysis of real-time microkernels," inProc. 9th IEEE Workshop Real-Time Operating Systems and Software, May 1992, pp. 15-19.
[13] J. Strosnider, J. Lehoczky, and L. Sha, "The deferrable server algorithm,"IEEE Trans. Comput., 1993, to be published.
[14] L. Sha and S. Sathaye, "Distributed real-time system design using generalized rate monotonic theory," presented at the 2nd Int. Conf. Automation, Robotics and Computer Vision, 1992.
[15] R. Mraz, "The analysis and design of a RISC based architecture for real-time computation," Ph.D. dissertation, Dept. Elec. Comput. Eng., Carnegie Mellon Univ., Pittsburgh, PA, 1992.
[16] T.E. Anderson et al., "The Interaction of Architecture and Operating System Design,"Proc. Architectural Support for Programming Languages and Operating Systems (ASPLOS-IV), Assoc. for Computing Machinery, New York, Apr. 1991, pp. 108-120.
[17] H. Tokuda, T. Nakajima, and P. Rao, "Real-time Mach: Toward a predictable real-time system," inProc. USENIX Mach Workshop, 1990.
[18] D. Stewart, D. Schmitz, and P. Khosla, "Implementing real-time robotic systems using CHIMERA II," inProc. 1990 IEEE Int. Conf. Robotics and Automation, 1990.
[19] D. Katcher, H. Arakawa, and J. Strosnider, "Engineering and analysis of fixed priority schedulers," Carnegie Mellon Univ., Pittsburgh, PA, CMU/ECE Tech. Rep. CMUCAD-91-10, pp. 1-39, Dec. 1991.
[20] G. Kane and J. Heinrich,MIPS RISC Architecture, Prentice Hall, Englewood Cliffs, N.J., 1992.
[21] "SPARC RISC User's Guide," Cypress Semiconductor, San Jose, CA, 1990.
[22] C. D. Locke, D. R. Vogel, and T. J. Mesler, "Building a predictable avionics platform in Ada: A case study," inProc. Real-Time Systems Symp., Los Alamitos, CA, Dec. 1991, pp. 181-189.
[23] C. D. Locke, D. R. Vogel, L. Lucas, and J. B. Goodenough, "Generic avionics software specification," Carnegie Mellon Univ., Pittsburgh, PA, Tech. Rep. CMU/SEI-90-TR-8, 1990.
[24] M. W. Borger, "VAXELN experimentation: Programming a real-time periodic task dispatcher using VAXELN Ada 1.1.," Software Engineering Inst., Carnegie Mellon Univ., Tech. Rep., 1987.

Index Terms:
fixed priority schedulers; timing correctness; real-time applications; scheduling theory; operating system kernels; hardware platforms; validation process; blocking components; fixed priority scheduling algorithms; timer-driven scheduling; event-driven scheduling;schedulability; optimal timer rate; operating systems (computers); real-time systems; scheduling
D.I. Katcher, H. Arakawa, J.K. Strosnider, "Engineering and Analysis of Fixed Priority Schedulers," IEEE Transactions on Software Engineering, vol. 19, no. 9, pp. 920-934, Sept. 1993, doi:10.1109/32.241774
Usage of this product signifies your acceptance of the Terms of Use.