This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Utility Accrual Scheduling Algorithm for Real-Time Activities with Mutual Exclusion Resource Constraints
April 2006 (vol. 55 no. 4)
pp. 454-469
This paper presents a uni-processor real-time scheduling algorithm called the Generic Utility Scheduling algorithm (which we will refer to simply as GUS). GUS solves a previously open real-time scheduling problem—scheduling application activities that have time constraints specified using arbitrarily shaped time/utility functions and have mutual exclusion resource constraints. A time/utility function is a time constraint specification that describes an activity's utility to the system as a function of that activity's completion time. Given such time and resource constraints, we consider the scheduling objective of maximizing the total utility that is accrued by the completion of all activities. Since this problem is {\cal N}{\cal P}{\hbox{-}}{\rm hard}, GUS heuristically computes schedules with a polynomial-time cost of O(n^3) at each scheduling event, where n is the number of activities in the ready queue. We evaluate the performance of GUS through simulation and by an actual implementation on a real-time POSIX operating system. Our simulation studies and implementation measurements reveal that GUS performs close to, if not better than, the existing algorithms for the cases that they apply. Furthermore, we analytically establish several properties of GUS.

[1] C.L. Liu and J.W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” J. ACM, vol. 20, no. 1, pp. 46-61, 1973.
[2] “Multi-Platform Radar Technology Insertion Program,” http://www.globalsecurity.org/intell/systems mp-rtip.htm/, 2006.
[3] “Bmc3i Battle Management, Command, Control, Communications and Intelligence,” http://www.globalsecurity.org/space/systems bmc3i.htm/, 2006.
[4] E.D. Jensen, C.D. Locke, and H. Tokuda, “A Time-Driven Scheduling Model for Real-Time Systems,” Proc. IEEE Real-Time Systems Symp., pp. 112-122, Dec. 1985.
[5] R.K. Clark, “Scheduling Dependent Real-Time Activities,” PhD dissertation, CMU-CS-90-155, Carnegie Mellon Univ., 1990.
[6] C.D. Locke, “Best-Effort Decision Making for Real-Time Scheduling,” PhD dissertation, CMU-CS-86-134, Carnegie Mellon Univ., 1986.
[7] K. Chen and P. Muhlethaler, “A Scheduling Algorithm for Tasks Described by Time Value Function,” J. Real-Time Systems, vol. 10, no. 3, pp. 293-312, 1996.
[8] L. Sha, R. Rajkumar, and J.P. Lehoczky, “Priority Inheritance Protocols: An Approach to Real-Time Synchronization,” IEEE Trans. Computers, vol. 39, no. 9, pp. 1175-1185, 1990.
[9] T.P. Baker, “Stack-Based Scheduling of Real-Time Processes,” J. Real-Time Systems, vol. 3, no. 1, pp. 67-99, Mar. 1991.
[10] 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.
[11] D. Mosse, M.E. Pollack, and Y. Ronen, “Value-Density Algorithm to Handle Transient Overloads in Scheduling,” Proc. Euromicro Conf. Real-Time Systems, pp. 278-286, June 1999.
[12] W.T. Strayer, “Function-Driven Scheduling: A General Framework for Expressing and Analysis of Scheduling,” PhD dissertation, Dept. of Computer Science, Univ. of Virginia, May 1992.
[13] D.P. Maynard, S.E. Shipman, R.K. Clark, J.D. Northcutt, R.B. Kegley, B.A. Zimmerman, and P.J. Keleher, “An Example Real-Time Command, Control, and Battle Management Application for Alpha,” archons project Technical Report 88121, Computer Science Dept., Carnegie Mellon Univ., Dec. 1988.
[14] R. Clark, E.D. Jensen, A. Kanevsky, J. Maurer, P. Wallace, T. Wheeler, Y. Zhang, D. Wells, T. Lawrence, and P. Hurley, “An Adaptive, Distributed Airborne Tracking System,” Proc. IEEE Int'l Workshop Parallel and Distributed Real-Time Systems, pp. 353-362, Apr. 1999.
[15] E.D. Jensen, “Asynchronous Decentralized Real-Time Computer Systems,” Real-Time Computing, W.A. Halang and A.D. Stoyenko, eds., Springer Verlag, Oct. 1992.
[16] IEEE and Open Group, “The Open Group Base Specifications Issue 6 (IEEE Std. 1003.1),” http://www.opengroup.org/online pubs/007904975 nframe.html, 2003.
[17] G.C. Buttazzo, Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Boston: Kluwer Academic, 1997.
[18] P. Li, B. Ravindran, J. Wang, and G. Konowicz, “Choir: A Real-Time Middleware Architecture Supporting Benefit-Based Proactive Resource Allocation,” Proc. IEEE Int'l Symp. Object-Oriented Real-Time Distributed Computing, pp. 292-299, May 2003.
[19] W. Horn, “Some Simple Scheduling Algorithms,” Naval Research Logistics Quarterly, vol. 21, pp. 177-185, 1974.
[20] P. Ramanathan, “Overload Management in Real-Time Control Applications Using the (m, k) Firm Guarantee,” IEEE Trans. Parallel and Distributed Systems, vol. 10, no. 6, pp. 549-559, June 1999.
[21] S. Baruah, G. Koren, B. Mishra, A. Raghunathan, L. Rosier, and D. Shasha, “On-Line Scheduling in the Presence of Overload,” Proc. IEEE Ann. Symp. Foundations of Computer Science, pp. 101-110, Oct. 1991.
[22] S.A. Aldarmi and A. Burns, “Dynamic Value-Density for Scheduling Real-Time Systems,” Proc. Euromicro Conf. Real-Time Systems, pp. 270-277, June 1999.
[23] J.W.S. Liu, W.-K. Shih, K.-J. Lin, R. Bettati, and J.-Y. Chung, “Imprecise Computations,” Proc. IEEE, vol. 82, no. 1, pp. 83-94, Jan. 1994.
[24] D.M.P. Mejia-Alvarez and R. Melhem, “An Incremental Approach to Scheduling during Overloads in Real-Time Systems,” Proc. IEEE Real-Time Systems Symp., pp. 283-293, Dec. 2000.
[25] C. Lu, J. Stakovic, G. Tao, and S. Son, “Feedback Control Real-Time Scheduling: Framework, Modeling and Algorithms,” J. Real-Time Systems, vol. 23, nos. 1/2, pp. 85-126, July 2002.
[26] S.A. Aldarmi and A. Burns, “Time-Cognizant Value Functions for Dynamic Real-Time Scheduling,” Technical Report YCS-306, Dept. of Computer Science, Univ. of York, U.K., 1998.
[27] R. Rajkumar, C. Lee, J. Lehoczky, and D. Siewiorek, “A Resource Allocation Model for QoS Management,” Proc. IEEE Real-Time Systems Symp., pp. 298-307, 1997.

Index Terms:
Real-time scheduling, time/utility functions, utility accrual scheduling, resource dependency, mutual exclusion, overload management, resource management.
Citation:
Peng Li, Haisang Wu, Binoy Ravindran, E. Douglas Jensen, "A Utility Accrual Scheduling Algorithm for Real-Time Activities with Mutual Exclusion Resource Constraints," IEEE Transactions on Computers, vol. 55, no. 4, pp. 454-469, April 2006, doi:10.1109/TC.2006.47
Usage of this product signifies your acceptance of the Terms of Use.