Hardware Reference
In-Depth Information
8.5.2
LONGEST NON-PREEMPTIVE INTERVAL
As done in Section 8.4.2 under deferred preemptions, it is interesting to compute,
also under task splitting, the longest non-preemptive interval Q i for each task τ i that
can still preserve the schedulability. It is worth observing that splitting tasks into
subjobs allows achieving a larger Q i , because a task τ i
cannot be preempted during
the execution of the last q last
i
units of time.
If tasks are assumed to be preemptively feasible, for Theorem 8.1 the analysis can be
limited to the first job of each task. In this case, a bound on the blocking tolerance β i
can be achieved using the following schedulability condition [YBB10a]:
∈TS i
W i ( t )
t
: B i ≤{
t
}
,
(8.34)
where W i ( t ) and the testing set
TS i
are defined as
t
T h
+1 C h ,
+
h : P h >P i
W i ( t )= C i
q last
i
(8.35)
de =
TS i
q last
i
P i− 1 ( D i
)
(8.36)
where
P i ( t ) is given by Equation (4.22).
Rephrasing Equation (8.34), we obtain
W i ( t )
B i
t∈T S ( τ i ) {
max
t
}
.
W i ( t )
β i =m x
t∈T S ( τ i ) {
t
}
.
(8.37)
The longest non-preemptive interval Q i that preserves feasibility for each task τ i can
then be computed by Theorem 8.2, using the blocking tolerances given by Equa-
tion (8.37). Applying the same substitutions, the algorithm in Figure 8.12 can also
be used under task splitting.
As previously mentioned, the maximum length of the non-preemptive chunk under
task splitting is larger than in the case of deferred preemptions. It is worth pointing
out that the value of Q i for task τ i only depends on the β k of the higher priority tasks,
as expressed in Equation (8.22), and the blocking tolerance β i
is a function of q last
i
,
as clear form equations (8.35) and (8.37).
Search WWH ::




Custom Search