An Incremental Server for Scheduling Overloaded Real-Time Systems

The need for supporting dynamic real-time environments where changes in workloads occur frequently requires a scheduling framework that: (1) explicitly addresses overload conditions, (2) allows the system to achieve graceful degradation while guaranteeing the deadlines of the most critical tasks in the system, and (3) supports an efficient runtime selection mechanism capable of determining the load to be shed from the system to handle the overload. In this paper, we propose a novel scheduling framework for a real-time environment that experiences dynamic workload 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. The process of selecting tasks (mandatory or optional parts) to discard while maximizing the value of the system requires the exploration of a potentially large number of combinations. Since an optimal solution 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 scheme 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 for achieving a performance with near-optimal results.

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

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

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

[4]  Mathai Joseph,et al.  Finding Response Times in a Real-Time System , 1986, Comput. J..

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

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

[7]  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.

[8]  Franklin Reynolds,et al.  An Architectural Overview of Alpha: A Real-Time, Distributed Kernel , 1992, USENIX Workshop on Microkernels and Other Kernel Architectures.

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

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

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

[12]  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.

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

[14]  Pam Binns Incremental rate monotonic scheduling for improved control system performance , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[15]  Giuseppe Lipari,et al.  Elastic task model for adaptive rate control , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[16]  Giorgio C. Buttazzo,et al.  Integrating multimedia applications in hard real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

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

[18]  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).

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

[20]  Giuseppe Lipari,et al.  Schedulability analysis of periodic and aperiodic tasks with resource constraints , 2000, J. Syst. Archit..

[21]  Shlomo Zilberstein,et al.  Optimal scheduling of progressive processing tasks , 2000, Int. J. Approx. Reason..

[22]  Marco Spuri,et al.  Scheduling aperiodic tasks in dynamic priority systems , 1996, Real-Time Systems.

[23]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.