Dynamic Priority Servers
Last updated
Last updated
The Total Bandwidth Server is a dynamic priority server which has the objective of executing the aperiodic requests as soon as possible while preserving the bandwidth assigned to it, to not disturb the periodic tasks. It was developed for EDF systems.
When an aperiodic request arrives (rk ), it receives a deadline dk.
TBS is simple to implement and has low overhead, since it only requires a simple computation (deadline for each arrival). Then the aperiodic request is inserted in the ready queue and handled as any other task.
The average response time to aperiodic requests is smaller than the one obtained with dynamic- priority versions of fixed-priority servers.
The impact on the schedulability of the periodic task set is equal to the one of a periodic task with utilization equal to the one granted to the server. Using EDF+TBS:
Simple test: UP + US ≤ 1
Requires a priori knowledge of Ck and is vulnerable to overruns.
After starting executing, a task may execute more time than the one declared.
The Constant Bandwidth Server (CBS) is a dynamic priority server that was created to solve the robustness problem of TBS , enforcing bandwidth isolation.
This goal is achieved by managing the execution time based on a budget/capacity (QS ,TS) scheme.
When an aperiodic request rk arrives, it is computed a server deadline ds , as follows:
When the instantaneous capacity (cs ) gets exhausted, the capacity is replenished and the deadline postponed:
The CBS assigns deadlines in such a way that prevents the bandwidth given to the server from being higher than the one assigned to it.
If a task executes for longer than expected, its deadline is automatically postponed, lowering the priority of the task. This can also be seen as if the task period was artificially increased, in such a way the the utilization is maintained.
The implementation complexity of CBS is somehow higher than the one of TBS, due to the need to dynamically manage the capacity. Other than that, aperiodic tasks are put in the ready queue and handled as any regular periodic task.
The average response time to aperiodic requests is similar to TBS.
The impact on the schedulability of the periodic task set is equal to the one of a periodic task with an utilization equal to the one given to the server. Using EDF+CBS:
UP + US ≤ 1
The big advantage of CBS is that it provides bandwidth isolation.
If a task is served by a CBS with bandwidth Us , in any time interval ∆t that task will never require more than ∆t · Us CPU time.
Any task τi (Ci , Ti ) schedulable with EDF is also schedulable by a CBS server with Qs = Ci and Ts = Ti.
A CBS may be used to:
Protect the system from possible overruns in any task.
Guarantee a minimum service to soft real-time tasks.
Reserve bandwidth to any activity.