This Article 
 Bibliographic References 
 Add to: 
Dynamic Scheduling of Hard Real-Time Tasks and Real-Time Threads
August 1992 (vol. 18 no. 8)
pp. 736-748

The authors investigate the dynamic scheduling of tasks with well-defined timing constraints. They present a dynamic uniprocessor scheduling algorithm with an O(n log n) worst-case complexity. The preemptive scheduling performed by the algorithm is shown to be of higher efficiency than that of other known algorithms. Furthermore, tasks may be related by precedence constraints, and they may have arbitrary deadlines and start times (which need not equal their arrival times). An experimental evaluation of the algorithm compares its average case behavior to the worst case. An analytic model used for explanation of the experimental results is validated with actual system measurements. The dynamic scheduling algorithm is the basis of a real-time multiprocessor operating system kernel developed in conjunction with this research. Specifically, this algorithm is used at the lowest, threads-based layer of the kernel whenever threads are created.

[1] T. Bihari, D. Pugh, T. Walliser, and E. Ribble, "Timing analysis of a robot motion-planning algorithm," inProc. Seventh IEEE Workshop on Real-Time Operating Systems and Software, pp. 104-107, May 1990.
[2] T. Bihari and K. Schwan, "Dynamic adaptation of real-time software,"ACM Trans. Computer Systems, vol. 9, pp. 143-174, May 1991.
[3] S. R. Biyabani, J.A. Stankovic, and K. Ramamritham, "The integration of deadline and criticalness in hard real-time scheduling," inProc. Real-Time Systems Symposium, pp. 152-160, 1988.
[4] B. A. Blake and K. Schwan, "Experimental evaluation of a real-time scheduler for a multiprocessor system,"lEEE Trans. Soft Eng., vol. 17, Jan. 1991.
[5] J. Blazewicz, "Scheduling dependent tasks with different arrival times to meet deadlines," inModeling and Performance Evaluation of Computer Systems. Amsterdam: North-Holland, 1976.
[6] G. D. Carlow, "Architecture of the space shuttle primary avionics software system,"Commun. ACM, vol. 27, no. 9, pp. 926-936, Sept. 1984.
[7] S. Cheng, J.A. Stankovic, and K. Ramamritham, "Dynamic scheduling of groups of tasks with precedence constraints in distributed hard real-time systems," inProc. Real-Time Systems Symp., pp. 166-174, Dec. 1986.
[8] S. C. Cheng, J. A. Stankovic, and K. Ramamritham, "Scheduling algorithms for hard real-timd systems-A brief survey," inHard Real-Time Systems Tutorial, J. A. Stankovic, Ed. New York: IEEE Computer Society Press, 1988, pp. 150-173.
[9] H. Chetto and M. Chetto, "Some results of the earliest deadline scheduling algorithm,"IEEE Trans. Software Eng., vol. 15 pp. 1261-1269, Oct. 1989.
[10] M. L. Dertouzos, "Control robotics: The procedural control of physical processes," inProc. IFIP Congress, 1974.
[11] A. Gheith and K. Schwan, "Chaos-arc--Kernel support for multiweight objects, invocations, and atomicity in real-time applications,"Tech. Rep. GIT-ICS-90/06, College of Computing, Georgia Institute of Technology, Jan. 1990. To appear inACM Trans. Computer Systems.
[12] K.S. Hong and J.Y.-T. Leung, "On-line scheduling of real-time tasks," inProc. Real-Time Systems Symposium, pp. 244-250, 1988.
[13] W. A. Horn, "Some simple scheduling algorithms,"Naval Res. Logist. Quart., vol. 21, pp. 177-185, 1974.
[14] A. K. Jones, R. J. Chansler, I. Durham, J. Mohan, K. Schwan, and S. Vegdahl, "Staros, a multiprocessor operating system," inProc. 7th ACM Symp. Operating System Principles, Asilomar, CA, Dec. 10-12, 1979, pp. 117-127.
[15] L. Kleinrock,Queueing Systems. New York: Wiley, Mar. 1974.
[16] B. Knighten, "Posix standard for threads, multiprocessor study group," Personal communications with ongoing study group, 1990.
[17] Koreinet al., "A configurable system for automation programming and control," inProc. IEEE Int. Conf. Robotics and Automation, pp. 1871-1877, Apr. 1986.
[18] J. Kramer and J. MaGee, "Dynamic configuration for distributed systems,"IEEE Trans. Software Eng., vol. SE-11, pp. 424-436, Apr. 1985.
[19] J. P. Lehoczky, L. Sha, and J. K. Strosnider, "Enhanced aperiodic responsiveness in hard real-time environments," inProc. Real-Time Systems Symp., pp. 261-270, 1987.
[20] 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.
[21] R. B. McGhee,Vehicular Legged Locomotion, pp. 259-284, 1985.
[22] A. K. Mok and M. L. Dertouzos, "Multiprocessor scheduling in a hard real-time environment," inProc. Seventh Texas Conf. Computing Systems, Nov. 1978.
[23] P. Puschner and C. Koza, "Calculating the Maximum Execution Time of Real-Time Programs,"J. Real-Time Systems, Vol. 1, No. 2, Sept. 1989, pp. 159-176.
[24] L. S. R. Rajkumar and J. P. Lehoczky, "On countering the effects of cycle stealing in a hard real-time environment," inProc. Real-Time Systems Symp., pp. 2-11, 1987.
[25] Y. Samiotakis and K. Schwan, "A thread library for the bbn butterfly multiprocessor,"Tech. Rep. OSU-CISRC-6/88-TR19, Department of Computer and Information Science, Ohio State Univ., June 1988.
[26] K. Schwan, T. Bihari, B. W. Weide, and G. Taulbee, "High-performance operating system primitives for robotics and real-time control systems,"ACM Trans. Comput. Syst., vol. 5, no. 3, pp. 189-231, Aug. 1987.
[27] K. Schwan, P. Gopinath, and W. Bo, "Chaos-kernel support for objects in the real-time domain,"IEEE Trans. Comput., vol. C-36, no. 8, 904-916, July 1987.
[28] K. Schwan and R. Ramnath, "Adaptable operating software for manufacturing systems and robots: A computer science research agenda," inProc. 5th Real-Time Systems Symp., pp. 255-262, Dec. 1984.
[29] K. Schwan, H. Zhou, and A. Gheith, "Multiprocessor real-time threads,"ACM Operating Systems Review, vol. 25, Oct. 1991.
[30] D. Siewiorek and R. S. Swarz,The Theory and Practice of Reliable System Design. Digital Press, 1982.
[31] J. Xu and D. L. Parnas, "Scheduling processes with release times, deadlines, precedence, and exclusion relations,"IEEE Trans. Software Eng., vol. 16, Mar. 1990.
[32] W. Zhao, K. Ramamritham, and J. A. Stankovic, "Preemptive scheduling under time and resource constraints,"IEEE Trans. Comput., Aug. 1987.
[33] H. Zhou, K. Schwan, and I. Akyildiz, "Performance effects of information sharing in a distributed multi processor real-time scheduler,"Tech. Rep. GIT-CC-91/40, College of Computing, Georgia Institute of Technology, Sept. 1991.

Index Terms:
hard real-time tasks; real-time threads; dynamic scheduling; timing constraints; worst-case complexity; preemptive scheduling; precedence constraints; real-time multiprocessor operating system kernel; computational complexity; network operating systems; real-time systems; scheduling
K. Schwan, H. Zhou, "Dynamic Scheduling of Hard Real-Time Tasks and Real-Time Threads," IEEE Transactions on Software Engineering, vol. 18, no. 8, pp. 736-748, Aug. 1992, doi:10.1109/32.153383
Usage of this product signifies your acceptance of the Terms of Use.