Hardware Reference
In-Depth Information
Some authors [RJMO98] tend to distinguish between hard and soft reservations. Ac-
cording to such a taxonomy, a hard reservation allows the reserved task to execute at
most for Q i units of time every P i , whereas a soft reservation guarantees that the task
executes at least for Q i
time units every P i , allowing it to execute more if there is
some idle time available.
A resource reservation technique for fixed priority scheduling was first presented by
Mercer, Savage, and Tokuda [MST94a]. According to this method, a task τ i is first
assigned a pair ( Q i ,P i ) (denoted as a CPU capacity reserve ) and then it is enabled
to execute as a real-time task for Q i units of time every P i . When the task consumes
its reserved quantum Q i , it is blocked until the next period, if the reservation is hard,
or it is scheduled in background as a non-real-time task, if the reservation is soft. If
the task is not finished, it is assigned another time quantum Q i at the beginning of the
next period and it is scheduled as a real-time task until the budget expires, and so on.
In this way, a task is reshaped so that it behaves like a periodic real-time task with
known parameters ( Q i ,P i ) and can be properly scheduled by a classical real-time
scheduler.
Although such a method is essential for achieving predictability in the presence of
tasks with variable execution times, the overall system's performance becomes quite
dependent from a correct resource allocation. For example, if the CPU bandwidth
allocated to a task is much less than its average requested value, the task may slow
down too much, degrading the system's performance. On the other hand, if the allo-
cated bandwidth is much greater than the actual needs, the system will run with low
efficiency, wasting the available resources.
A simple kernel mechanism to enforce temporal protection under EDF scheduling is
the Constant Bandwidth Server (CBS) [AB98, AB04], described in Chapter 6. To
properly implement temporal protection, however, each task τ i with variable com-
putation time should be handled by a dedicated CBS with bandwidth U s i , so that it
cannot interfere with the rest of the tasks for more than U s i . Figure 9.16 illustrates
an example in which two tasks ( τ 1 and τ 2 ) are served by two dedicated CBSs with
bandwidth U s 1 =0 . 15 and U s 2 =0 . 1, a group of two tasks ( τ 3 , τ 4 ) is handled by a
single CBS with bandwidth U s 3 =0 . 25, and three hard periodic tasks ( τ 5 , τ 6 , τ 7 ) are
directly scheduled by EDF, without server intercession, since their execution times are
not subject to large variations. In this example the total processor bandwidth is shared
among the tasks as shown in Figure 9.17.
Search WWH ::




Custom Search