An incremental approach to scheduling during overloads in real-time systems

Proposes a novel scheduling framework for a real-time environment that experiences dynamic changes. This framework is capable of adjusting the system workload in incremental steps under overloaded conditions such that the most critical tasks in the system are always scheduled and the total value of the system is maximized. Each task has an assigned criticality value and consists of two parts: a mandatory part and an optional part. A timely answer is available after the mandatory part completes execution and its value may be improved by executing the entire optional part. Optional parts can be discarded in overloaded conditions. The process of selecting optional parts to discard while maximizing the value of the system requires the exploration of a potentially large number of combinations. Since this process is too time-consuming to be computed online, an approximate algorithm is executed incrementally whenever the processor would otherwise be idle, progressively refining the quality of the solution. This criterion allows the scheduler to handle overloads with low cost while maximizing the use of the available resources and without jeopardizing the temporal constraints of the most critical tasks in the system. Simulation results show that few stages of the algorithm need to be executed to achieve a performance with near-optimal results.

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

[2]  Parameswaran Ramanathan,et al.  A Dynamic Priority Assignement Technique for Streams with (m, k)-Firm Deadlines , 1995, IEEE Trans. Computers.

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

[4]  C. D. Locke,et al.  Best-effort decision-making for real-time scheduling , 1986 .

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

[6]  Riccardo Bettati,et al.  Imprecise computations , 1994, Proc. IEEE.

[7]  Dennis Shasha,et al.  Skip-Over: algorithms and complexity for overloaded systems that allow skips , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[8]  Sartaj Sahni,et al.  Approximate Algorithms for the 0/1 Knapsack Problem , 1975, JACM.

[9]  Shyh-In Hwang,et al.  Scheduling an overloaded real-time system , 1996, Conference Proceedings of the 1996 IEEE Fifteenth Annual International Phoenix Conference on Computers and Communications.

[10]  Alan Burns,et al.  Value-Based Scheduling of Flexible Real-Time Systems for Intelligent Autonomous Vehicle Control , 1998 .

[11]  Alan Burns,et al.  The meaning and role of value in scheduling flexible real-time systems , 2000, J. Syst. Archit..

[12]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .

[13]  Dennis Shasha,et al.  D/sup over/; an optimal on-line scheduling algorithm for overloaded real-time systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[14]  Rami G. Melhem,et al.  Optimal reward-based scheduling of periodic real-time tasks , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).