Utility Accrual Scheduling under Arbitrary Time/Utility Functions and Multi-unit Resource Constraints

We present a uni-processor real-time scheduling algorithm called Resource-contrainted Utility Accrual algorithm (or RUA). RUA considers an application model, where activities can be subject to arbitrarily-shaped time/utility function (TUF) time constraints and resource constraints including mutual exclusion under a multi-unit resource request model. For such a model, we consider the scheduling objective of maximizing the total utility accrued by all activities. This problem was previously open. Since the problem is NP-hard, RUA heuristically computes schedules with a polynomial-time cost. We analytically establish several timeliness and non-timeliness properties of the algorithm, including upper bound on blocking time (under multi-unit request model) and deadlock-freedom. We also implement RUA on a POSIX RTOS and conduct experimental comparisons with other TUF scheduling algorithms that address a subset of RUA’s model. Our implementation measurements show that RUA performs generally better than, or as good as, other TUF algorithms for the applicable cases.

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

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

[3]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[4]  Hideyuki Tokuda,et al.  A Time-Driven Scheduling Model for Real-Time Operating Systems , 1985, RTSS.

[5]  E. Douglas Jensen Asynchronous Decentralized Real-Time Computer Systems , 2000 .

[6]  Ken Chen,et al.  A scheduling algorithm for tasks described by Time Value Function , 1996, Real-Time Systems.

[7]  Dennis Shasha,et al.  D^over: An Optimal On-Line Scheduling Algorithm for Overloaded Uniprocessor Real-Time Systems , 1995, SIAM J. Comput..

[8]  Binoy Ravindran,et al.  Choir: a real-time middleware architecture supporting benefit-based proactive resource allocation , 2003, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003..

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

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

[11]  D. H. Mellor,et al.  Real time , 1981 .

[12]  Mukesh Singhal,et al.  Advanced Concepts In Operating Systems , 1994 .

[13]  Raymond Keith Clark,et al.  Scheduling dependent real-time activities , 1990 .

[14]  Arkady Kanevsky,et al.  An Adaptive, Distributed Airborne Tracking System ("process the Right Tracks at the Right Time") , 1999, IPPS/SPDP Workshops.

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

[16]  Binoy Ravindran,et al.  Time-utility function-driven switched Ethernet: packet scheduling algorithm, implementation, and feasibility analysis , 2004, IEEE Transactions on Parallel and Distributed Systems.

[17]  Arkady Kanevsky,et al.  An adaptive, distributed airborne tracking sysem , 1999 .

[18]  David P. Maynard,et al.  An Example Real-Time Command, Control, and Battle Management Application for Alpha , 1988 .

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