- The constant utilization server is based on the size of the server.
- It reserves a known fraction (ũs) of the processor time for execution of the server.
- When the budget is non-zero then the server is scheduled with other tasks on an EDF basis.
- The budget and deadline of the server are chosen such that the utilization of the server is constant when it executes, and that it is always given enough budget to complete the job at the head of its queue each time its budget is replenished.
- The server never has any budget if it has no work to do.
ũs = size of server
es = budget of server d = deadlines
t = current time
e= execution time of job at the head of aperiodic job que
Then the consumption and replenishment rule of constant utilization server is: Consumption Rule:
- A constant utilization server only consumes budget when it executes.
- Initially, set budget e s = 0 and deadline d = 0
- When an aperiodic job with execution time e arrives at time t to an empty aperiodic job queue then
- If t < d, do nothing (⇒ server is busy; wait for it to become idle)
- If t ≥ d then set d = t + e/ũ s and e s = e
-At the deadline d of the server
- If the server is backlogged, set d = d + e/ũ s and e s = e ⇒ was busy when job arrived
- If the server is idle, do nothing
I.e. the server is always given enough budget to complete the job at the head of its queue, with known utilization, when the budget is replenished.
For example: ũ s = 0.25 T1 = (3, 0.5), T2 = (4, 1), T3 = (19, 4.5)