CPU reservations and time constraints
- 1 October 1997
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 31 (5) , 198-211
- https://doi.org/10.1145/268998.266689
Abstract
Workstations and personal computers are increasingly being used for applications with real-time characteristics such as speech understanding and synthesis, media computations and I/O. and animation, often concurrently executed with traditional nonreal-time workloads. This paper presents a system that can schedule multiple independent activities so that: activities can obta& minimum guaranteed execution rates with application-specified reservation granularities via CPU Reservations, CPU Reservations, which are of the form “reserve X units of time out of every Y units”, provide not just an average case execution rate of X/Y over long periods of time, but the stronger guarantee that from any instant of time, by Y time units later, the activity will have executedfor at least X time units, applications can use Time Constraints to schedule tasks by deadlines, with on-time completion guaranteed for tasks with accepted constraints, and both CPU Reservations and Time Constraints are implemented very efficiently. In particular, CPU scheduling overhead is bounded by a constant and is not a function of the number of schedulable tasks. Other key scheduler properties are: activities cannot violate other activities’ guarantees, time constraints and CPU reservations may be used together, separately, or not at all (which gives a round-robin schedule), with well-defined interactions between all combinations, and spare CPU time is fairly shared among all activities. The Rialto operating system, developed at Microsoft Research, achieves these goals by using a precomputed schedule, which is the fundamental basis of this work.Keywords
This publication has 13 references indexed in Scilit:
- Support for continuous media in the DASH systemPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Distributed schedule management in the Tiger video fileserverPublished by Association for Computing Machinery (ACM) ,1997
- The design, implementation and evaluation of SMARTPublished by Association for Computing Machinery (ACM) ,1997
- A hierarchial CPU scheduler for multimedia operating systemsPublished by Association for Computing Machinery (ACM) ,1996
- An overview of the Rialto real-time architecturePublished by Association for Computing Machinery (ACM) ,1996
- Operating system support for multimedia applicationsPublished by Association for Computing Machinery (ACM) ,1994
- Dynamic scheduling of hard real-time tasks and real-time threadsIEEE Transactions on Software Engineering, 1992
- The Spring kernel: a new paradigm for real-time systemsIEEE Software, 1991
- Priority inheritance protocols: an approach to real-time synchronizationIEEE Transactions on Computers, 1990
- Scheduling Algorithms for Multiprogramming in a Hard-Real-Time EnvironmentJournal of the ACM, 1973