Utility Accrual Real-Time Scheduling: Models and Algorithms

This dissertation first presents an uniprocessor real-time scheduling algorithm called the Gbeneric Bbenefit Sbcheduling algorithm (or GBS). GBS solves a previously open real-time scheduling problem: scheduling activities subject to arbitrarily shaped, time/utility function (TUF) time constraints and mutual exclusion resource constraints. A TUF specifies the utility of completing an application activity as an application- or situation-specific function of when that activity completes. GBS considers the scheduling objective of maximizing system-wide, total accrued utility, while respecting mutual exclusion constraints. Since this problem is NP -hard, GBS heuristically computes schedules in polynomial-time. The performance of the GBS algorithm is evaluated through simulation and through an implementation on a Portable Operating System Interface (POSIX)-compliant real-time operating system. The simulation studies and implementation measurements reveal that GBS performs close to, if not better than existing algorithms for the cases that they apply. Further, the results verify the effectiveness of GBS for its unique model. We also analytically establish timeliness and non-timeliness properties of GBS including bounds on activity utilities and mutual exclusion. GBS targets real-time systems that are subject to significant non-determinism inherent in their operating environments e.g., completely unknown activity arrivals. When system uncertainties can be stochastically characterized (e.g., stochastic activity arrivals and execution times), it is possible to provide stochastic assurances on timeliness behavior. The dissertation also presents algorithmic solutions to fundamental assurance problems in TUF-driven real-time systems, including stochastically satisfying individual, activity utility lower bounds and system-wide, total utility lower bounds. The algorithmic solutions include algorithms for processor bandwidth allocation and TUF scheduling. While bandwidth allocation algorithms allocate processor bandwidth share to activities to satisfy utility lower bounds, TUF scheduling algorithms schedule activities to maximize accrued utility. The algorithmic solutions and analysis are extended with a class of lock-free and lock-based resource access protocols to satisfy mutual exclusion constraints. We show that satisfying utility lower bounds with lock-based resource access protocols does not imply doing so with the lock-free scheme, and vice versa. Finally, the dissertation presents a rule-based framework for trading off assurance requirements on utility lower bound satisfaction.* *This work is partially supported by the U.S. Office of Naval Research (ONR) under Grant N00014-99-1-0158 and N00014-00-1-0549, the MITRE Corporation under Grant 52917, and the QNX Software Systems Ltd. (SSL) through a software grant. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of ONR, MITRE, or QNX SSL.

[1]  Sanjoy K. Baruah,et al.  On-line scheduling in the presence of overload , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[2]  Gérard Le Lann,et al.  A protocol and correctness proofs for real-time high-performance broadcast networks , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[3]  Gérard Le Lann Proof-Based System Engineering and Embedded Systems , 1996, European Educational Forum: School on Embedded Systems.

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

[5]  Binoy Ravindran,et al.  A formally verified application-level framework for real-time scheduling on POSIX real-time operating systems , 2004, IEEE Transactions on Software Engineering.

[6]  Lothar Thiele,et al.  Real-time calculus for scheduling hard real-time systems , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

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

[8]  William E. Weihl,et al.  Lottery scheduling: flexible proportional-share resource management , 1994, OSDI '94.

[9]  Kevin Jeffay,et al.  Scheduling sporadic tasks with shared resources in hard-real-time systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[10]  Sanjoy K. Baruah,et al.  Dynamic- and Static-priority Scheduling of Recurring Real-time Tasks , 2004, Real-Time Systems.

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

[12]  Ari P. J. Vepsalainen Priority rules for job shops with weighted tardiness costs , 1987 .

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

[14]  Parameswaran Ramanathan,et al.  Overload Management in Real-Time Control Applications Using (m, k)-Firm Guarantee , 1999, IEEE Trans. Parallel Distributed Syst..

[15]  Michael Pinedo,et al.  Scheduling: Theory, Algorithms, and Systems , 1994 .

[16]  Frank Mueller,et al.  A Library Implementation of POSIX Threads under UNIX , 1993, USENIX Winter.

[17]  David S Alberts,et al.  Network Centric Warfare , 2000 .

[18]  Gérard Le Lann Predictability in Critical Systems , 1998, FTRTFT.

[19]  John Regehr,et al.  HLS: a framework for composing soft real-time schedulers , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[20]  Daniel P. Siewiorek,et al.  A resource allocation model for QoS management , 1997, Proceedings Real-Time Systems Symposium.

[21]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[22]  Kevin Jeffay,et al.  Accounting for interrupt handling costs in dynamic priority task systems , 1993, 1993 Proceedings Real-Time Systems Symposium.

[23]  Sartaj Sahni,et al.  Algorithms for Scheduling Independent Tasks , 1976, J. ACM.

[24]  Binoy Ravindran,et al.  Specification and modeling of dynamic, distributed real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[25]  Thomas E. Morton,et al.  Heuristic scheduling systems : with applications to production systems and project management , 1993 .

[26]  Shuichi Oikawa,et al.  Resource kernels: a resource-centric approach to real-time and multimedia systems , 2001, Electronic Imaging.

[27]  J. M. Moore,et al.  A Functional Equation and its Application to Resource Allocation and Sequencing Problems , 1969 .

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

[29]  Ion Stoica,et al.  Duality between resource reservation and proportional share resource allocation , 1996, Electronic Imaging.

[30]  Carl A. Waldspurger,et al.  Stride Scheduling: Deterministic Proportional- Share Resource Management , 1995 .

[31]  Eugene Levner,et al.  Fast approximation algorithm for job sequencing with deadlines , 1981, Discret. Appl. Math..

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

[33]  Hussein M. Abdel-Wahab,et al.  A proportional share resource allocation algorithm for real-time, time-shared systems , 1996, 17th IEEE Real-Time Systems Symposium.

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

[35]  William Timothy Strayer Function-driven scheduling: a general framework for expression and analysis of scheduling , 1992 .

[36]  Alan Burns,et al.  Dynamic value-density for scheduling real-time systems , 1999, Proceedings of 11th Euromicro Conference on Real-Time Systems. Euromicro RTS'99.

[37]  Binoy Ravindran,et al.  Utility Accrual Scheduling under Arbitrary Time/Utility Functions and Multi-unit Resource Constraints , 2004 .

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

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

[40]  Daniel Mossé,et al.  Value-density algorithms to handle transient overloads in scheduling , 1999, Proceedings of 11th Euromicro Conference on Real-Time Systems. Euromicro RTS'99.

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

[42]  G. C. Buttazzo,et al.  RE: Robust Earliest Deadline Scheduling , 1993 .

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

[44]  John A. Stankovic,et al.  Adding Robustness in Dynamic Preemptive Scheduling , 1995, Responsive Computer Systems.

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

[46]  Michael B. Jones,et al.  CPU reservations and time constraints: efficient, predictable scheduling of independent activities , 1997, SOSP.

[47]  Wayne E. Smith Various optimizers for single‐stage production , 1956 .

[48]  Steve Goddard,et al.  A theory of rate-based execution , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[49]  B. Srinivasan,et al.  A firm real-time system implementation using commercial off-the-shelf hardware and free software , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

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

[51]  Sanjoy K. Baruah,et al.  Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor , 1990, Real-Time Systems.

[52]  Alan Burns,et al.  Time-Cognizant Value Functions for Scheduling Real-Time Systems , 1998 .

[53]  Henry Stark,et al.  Probability, Random Processes, and Estimation Theory for Engineers , 1995 .

[54]  Harrick M. Vin,et al.  Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks , 1996, SIGCOMM 1996.

[55]  Carl A. Waldspurger,et al.  Lottery and stride scheduling: flexible proportional-share resource management , 1995 .

[56]  Mark G. Cianciolo Network Centric Warfare: A Bridge Too Far? , 2003 .

[57]  Binoy Ravindran,et al.  Energy-efficient, utility accrual scheduling under resource constraints for mobile embedded systems , 2004, EMSOFT '04.

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

[59]  Marco Spuri,et al.  Value vs. deadline scheduling in overload conditions , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

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

[61]  Sang Hyuk Son,et al.  Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms* , 2001, Real-Time Systems.

[62]  Giuseppe Lipari,et al.  Constant bandwidth vs. proportional share resource allocation , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[63]  James H. Anderson,et al.  Efficient object sharing in quantum-based real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[64]  James H. Anderson,et al.  Real-time computing with lock-free shared objects , 1997, TOCS.

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

[66]  A. Varga,et al.  THE OMNET++ DISCRETE EVENT SIMULATION SYSTEM , 2003 .

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

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