Hardware Reference
In-Depth Information
τ
1
τ
2
0
2
4
6
8
10
12
14
16
18
20
earliest
slack
A(0, t)
7
+2
5
3
1
+2
+2
0
2
4
6
8
10
12
14
16
18
20
Figure 5.21
Slack function at time
s
=0
for the periodic task set considered in the
previous example.
This means that, even with
C
s
=1, the shortest server period that can be set with
this utilization factor is
T
s
=
=7, which is greater than both task periods.
Thus, the execution of the server would be equivalent to a background service, and the
aperiodic request would be completed at time 15.
C
s
/U
s
5.7.1
SCHEDULABILITY ANALYSIS
In order to schedule an aperiodic request
J
a
(
r
a
,C
a
) according to the Slack Stealing
algorithm, we need to determine the earliest time
t
such that at least
C
a
units of slack
are available in [
r
a
,t
]. The computation of the slack is carried out through the use of
a
slack function
A
(
s, t
), which returns the maximum amount of computation time that
can be assigned to aperiodic requests in the interval [
s, t
] without compromising the
schedulability of periodic tasks.
Figure 5.21 shows the slack function at time
s
=0for the periodic task set considered
in the previous example. For a given
s
,
A
(
s, t
) is a non-decreasing step function
defined over the hyperperiod, with jump points corresponding to the beginning of the
intervals where the slack is available. As
s
varies, the slack function needs to be
recomputed, and this requires a relatively large amount of calculation, especially for
long hyperperiods. Figure 5.22 shows how the slack function
A
(
s, t
) changes at time
s
=6for the same periodic task set.
Search WWH ::
Custom Search