Dynamic Scheduling for Real-Time Systems: Toward Real-Time Threads

Abstract This research addresses the timeliness of task execution in real-time systems. Specifically, we investigate the dynamic scheduling of tasks with well-defined timing constraints. We present a dynamic optimal uniprocessor scheduling algorithm with an O ( n log n ) worst case complexity. The preemptive scheduling performed by our algorithm is shown to be of higher efficiency than that of other algorithms presented in the literature. Furthermore, tasks may be related by precedence constraints, and they may have arbitrary deadlines and start times (which need not equal to their arrival times). To permit the algorithm’s experimental evaluation, we have embedded the algorithm in a real-time threads package developed for a shared memory multiprocessor. It has shown that the average case performance of the algorithm is much better than that of the worst case. It has also shown that dynamic task scheduling is possible for a large number of tasks with acceptable overhead. Current research concerns the dynamic algorithm’s extension to perform real-time scheduling on multiple processors as well as to schedule tasks with both timing constraints and different levels of criticalness.

[1]  Karsten Schwan,et al.  A comparison of four adaptation algorithms for increasing the reliability of real-time software , 1988, Proceedings. Real-Time Systems Symposium.

[2]  Krithi Ramamritham,et al.  Preemptive Scheduling Under Time and Resource Constraints , 1987, IEEE Transactions on Computers.

[3]  Gene D. Carlow Architecture of the space shuttle primary avionics software system , 1984, CACM.

[4]  Karsten Schwan,et al.  CHAOS-Kernel Support for Objects in the Real-Time Domain , 1987, IEEE Transactions on Computers.

[5]  Jacek Blazewicz,et al.  Scheduling Dependent Tasks with Different Arrival Times to Meet Deadlines , 1976, Performance.

[6]  W. A. Horn Some simple scheduling algorithms , 1974 .

[7]  Jay K. Strosnider,et al.  ENHANCED APERIODIC RESPONSIVENESS IN HARD REAL-TIME ENVIRONMENTS. , 1987, RTSS 1987.

[8]  Karsten Schwan,et al.  Adaptive, Reliable Software for Distributed and Parallel Real-Time Systems , 1987, SRDS.

[9]  Karsten Schwan,et al.  High-performance operating system primitives for robotics and real-time control systems , 1987, TOCS.

[10]  Michael L. Dertouzos,et al.  Control Robotics: The Procedural Control of Physical Processes , 1974, IFIP Congress.

[11]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[12]  Lui Sha,et al.  On Countering the Effects of Cycle-Stealing in a Hard Real-Time Environment , 1987, RTSS.

[13]  Karsten Schwan,et al.  Experimental Evaluation of a Real-Time Scheduler for a Multiprocessor System , 1991, IEEE Trans. Software Eng..