Dynamic Scheduling of Hard Real-Time Tasks and Real-Time Threads

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]  David Lorge Parnas,et al.  Scheduling Processes with Release Times, Deadlines, Precedence, and Exclusion Relations , 1990, IEEE Trans. Software Eng..

[2]  Sheng Cheng,et al.  Scheduling algorithms for hard real-time systems: a brief survey , 1989 .

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

[4]  Karsten Schwan,et al.  Dynamic adaptation of real-time software , 1991, TOCS.

[5]  Robert S. Swarz,et al.  The theory and practice of reliable system design , 1982 .

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

[7]  Krithi Ramamritham,et al.  Dynamic Scheduling of Groups of Tasks with Precedence Constraints in Distributed Hard Real-Time Systems , 1986, IEEE Real-Time Systems Symposium.

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

[9]  Karsten Schwan,et al.  Multiprocessor real-time threads , 1992, OPSR.

[10]  Maryline Chetto,et al.  Some Results of the Earliest Deadline Scheduling Algorithm , 1989, IEEE Transactions on Software Engineering.

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

[12]  Karsten Schwan,et al.  Real-time threads , 1991, OPSR.

[13]  Joseph Y.-T. Leung,et al.  On-line scheduling of real-time tasks , 1988, Proceedings. Real-Time Systems Symposium.

[14]  Krithi Ramamritham,et al.  The integration of deadline and criticalness in hard real-time scheduling , 1988, Proceedings. Real-Time Systems Symposium.

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

[16]  Karsten Schwan,et al.  StarOS, a multiprocessor operating system for the support of task forces , 1979, SOSP '79.

[17]  Karsten Schwan,et al.  CHAOSarc: kernel support for multiweight objects, invocations, and atomicity in real-time multiprocessor applications , 1993, TOCS.

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

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

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

[21]  Jeff Magee,et al.  Dynamic Configuration for Distributed Systems , 1985, IEEE Transactions on Software Engineering.

[22]  Russell H. Taylor,et al.  A configurable system for automation programming and control , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[23]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

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

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

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