This Article 
 Bibliographic References 
 Add to: 
An Incremental Server for Scheduling Overloaded Real-Time Systems
October 2003 (vol. 52 no. 10)
pp. 1347-1361
Pedro Mej?a-Alvarez, IEEE Computer Society
Daniel Moss?, IEEE Computer Society

Abstract—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] L. Abeni and G. Buttazzo, “Integrating Multimedia Applications in Hard Real-Time Systems,” Proc. IEEE Real-Time Systems Symp., Dec. 1998.
[2] H. Aydin, R. Melhem, D. Mossé, and P.M. Alvarez, Optimal Reward-Based Scheduling for Periodic Real-Time Tasks IEEE Trans. Computers, vol. 50, no. 2, pp. 111-130, Feb. 2001.
[3] T. Baker, Stack Based Scheduling of Real-Time Processes J. Real-Time Systems, vol. 3, no. 1, pp. 284-292, 1993.
[4] P. Binns, Incremental Rate Monotonic Scheduling for Incremental Control System Performance Proc. IEEE Real Time Technology and Applications Symp., June 1997.
[5] A. Burns, D. Prasad, A. Bondavalli, F. Di Giandomenico, K. Ramamritham, J. Stankovic, and L. Strigini, The Meaning and Role of Value in Scheduling Flexible Real-Time Systems J. Systems Architecture, Jan. 2000.
[6] A. Burns and D. Prasad, Value-Based Scheduling of Flexible Real-Time Systems for Intelligent Autonomous Vehicle Control Proc. Third IFAC Symp. Intelligent Autonomous Vehicles, Mar. 1998.
[7] G.C. Buttazzo, Red: A Robust Earliest Deadline Scheduling Algorithm Proc. Third Int'l Workshop Responsive Computing Systems, Dec. 1998.
[8] G. Buttazzo, G. Lipari, and L. Abeni, “Elastic Task Model for Adaptive Rate Control,” Proc. 19th IEEE Real-Time Systems Symp., Dec. 1998.
[9] G.C. Buttazzo, Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Kluwer Academic, 1997.
[10] H. Chetto and M. Chetto, “Some Results of the Earliest Deadline Scheduling Algorithm,” IEEE Trans. Software Eng., vol. 15, no. 10, pp. 1,261-1,269, Oct. 1989.
[11] M. Hamdaoui and P. Ramanathan, "A Dynamic Priority Assignment Technique for Streams with (m, k)-Firm Deadlines," IEEE Trans. Computers, vol. 44, no. 12, pp. 1,443-1,451, Dec. 1995.
[12] S.-I. Hwung, C.-M. Chen, and A.K. Agrawala, Scheduling an Overloaded Real-Time System Proc. IEEE Int'l Phoenix Conf. Computers and Comm., pp. 22-28, June 1996.
[13] R.K. Clark, E.D. Jensen, and F.D. Reynolds, An Architectural Overview of the Alpha Real-Time Distributed Kernel Proc. USENIX Workshop Microkernels and Other Kernel Architectures, pp. 200-208, 1993.
[14] M. Joseph and P. Pandya, Finding Response Times in a Real-Time System Computer J., pp. 390-395, Oct. 1986.
[15] G. Koren and D. Shasha, “D-Over: An Optimal On-Line Scheduling Algorithm for Overloaded Real-Time Systems,” Proc. IEEE Real-Time Systems Symp., pp. 290-299, Dec. 1992.
[16] G. Koren and D. Shasha, “D-Over: An Optimal On-Line Scheduling Algorithm for Overloaded Real-Time Systems,” Proc. IEEE Real-Time Systems Symp., pp. 290-299, Dec. 1992.
[17] G. Lipari and G. Buttazzo, Schedulability Analysis of Periodic and Aperiodic Tasks with Resource Constraints J. Systems Architecture, vol. 46, pp. 327-338, Jan. 2000.
[18] C.L. Liu and J. Layland, Scheduling Algorithms for Multiprogramming in Hard Real-Time Environments J. ACM, vol. 20, no. 1, pp. 46-61, Jan. 1973.
[19] J.W.S. Liu, W. Shih, K.J. Lin, R. Bettati, and J. Chung, “Imprecise Computations,” IEEE Proc., Jan. 1994.
[20] C.D. Locke, Best-Effort Decision Making for Real-Time Scheduling PhD thesis, Computer Science Dept., Carnegie Mellon Univ., 1986.
[21] S. Martello and P. Toth, Knapsack Problems. Wiley, 1990.
[22] S. Sahni, Approximate Algorithms for the 0/1 Knapsack Problem J. ACM, Jan. 1975.
[23] M. Spuri and G. Buttazzo, Scheduling Aperiodic Tasks in Dynamic Priority Systems Proc. IEEE Real Time Systems Symp., Dec. 1996.
[24] S. Zilberstein and A. Mouaddib, Optimal Scheduling of Progressive Processing Tasks Int'l J. Approximate Processing, vol. 25, pp. 169-186, 2000.
[25] B. Sprunt, L. Sha, and J. Lehoczky, Aperiodic Task Scheduling for Hard Real-Time Systems J. Real-Time Systems, vol. 1, pp. 27-60, 1989.

Index Terms:
Real-time systems scheduling, incremental processing, approximate algorithms.
Pedro Mej?a-Alvarez, Rami Melhem, Daniel Moss?, Hakan Aydin, "An Incremental Server for Scheduling Overloaded Real-Time Systems," IEEE Transactions on Computers, vol. 52, no. 10, pp. 1347-1361, Oct. 2003, doi:10.1109/TC.2003.1234531
Usage of this product signifies your acceptance of the Terms of Use.