Hardware Reference
In-Depth Information
resources from a blocked higher priority process. IRIS [MLBC04] enhances CBS
with fairer slack reclaiming, so slack is not reclaimed until all current jobs have been
serviced and the processor is idle. BACKSLASH [LB05] is another algorithm that
enhances the efficiency of the reclaiming mechanism under EDF.
Wrong reservations can also be handled through feedback scheduling. If the operating
system is able to monitor the actual execution time e i,k of each task instance, the actual
maximum computation time of a task τ i can be estimated (in a moving window) as
C i =ma k {
e i,k }
and the actual requested bandwidth as U i = C i /T i . Hence, U i can be used as a refer-
ence value in a feedback loop to adapt the reservation bandwidth allocated to the task
according to the actual needs. If more reservations are adapted online, we must ensure
that the overall allocated bandwidth does not exceed the processor utilization; hence,
a form of global feedback adaptation is required to prevent an overload condition.
Similar approaches to achieve adaptive reservations have been proposed by Abeni and
Buttazzo [AB01] and by Palopoli et al. [PALW02].
9.3.4
RESOURCE SHARING
When critical sections are used by tasks handled within a reservation server, an ad-
ditional problem occurs when the server budget is exhausted inside a region. In this
case, the served task cannot continue the execution to prevent other tasks from miss-
ing their deadlines; thus an extra delay is added to the blocked tasks to wait until the
next budget replenishment. Figure 9.21 illustrates a situation in which a high priority
task τ 1 shares a resource with another task τ 2 handled by a reservation server (e.g., a
Sporadic Server) with budget Q k =4and period T k =10. At time t =3, τ 1 pre-
empts τ 2 within its critical section, and at time t =4it blocks on the locked resource.
When τ 2 resumes, however, the residual budget is not sufficient to finish the critical
section, and τ 2 must be suspended until the budget will be replenished at time t =10,
so introducing an extra delay [5,10] in the execution of τ 1 . Two solutions have been
proposed in the literature to prevent such an extra delay.
SOLUTION 1: BUDGET CHECK
When a task wants to enter a critical section, the current server budget is checked
before granting the access to the resource; if the budget is sufficient, the task enters
the critical section, otherwise the access to the resource is postponed until the next
budget replenishment.
Search WWH ::




Custom Search