• No results found

Upper Bound

In document 5305.pdf (Page 82-86)

3.2 First SRT Schedulability Test

3.2.1 Upper Bound

In this section, we determine an upper bound onZ.

Definition 3.5. Lettnbe the end of the latest non-busy non-displacing interval fordbeforetd, if

The following two lemmas have been proved previously for both GEDF [41] and GFIFO [78] for ordinary sporadic task systems without self-suspensions. Note that the value ofLAG(d, td, S) + B(D, td, S)depends only on allocations in the PS scheduleP S and allocations to jobs ind∪D

in the actual scheduleS by timetd. The PS schedule is not impacted by self-suspensions. Also,

Property (P) alone is sufficient for determining how much work any job ind∪Dother thanτl,j

completes beforetd. For these reasons, Lemmas 3.1 and 3.2 continue to hold for task systems with

self-suspensions.

Lemma 3.1. LAG(d, td, S)≤LAG(d, tn, S) +Pτk∈DHδk(1−uk), wheret∈[0, td].

Proof. By (2.5), we have

LAG(d, td, S) ≤ LAG(d, tn, S) +A(d, tn, td, P S)

−A(d, tn, td, S). (3.2)

We split[tn, td)intoznon-overlapping intervals[tpi, tqi),1≤i≤z, such thattn=tp1, tqi−1 =tpi,

andtqz =td. Each interval[tpi, tqi)is either busy or non-busy displacing ford, by the selection of tn. We assume that the intervals are defined so that for each non-busy displacing interval[tpi, tqi), if

a task inDHexecutes in[tpi, tqi)then it executes continuously throughout[tpi, tqi); we letαidenote

the set of such tasks.

We now bound the difference between the work performed in the PS schedule and the GSA scheduleSacross each of these intervals[tpi, tqi). The sum of these bounds will give us a bound on

the total allocation difference throughout[tn, td). Depending on the nature of the interval[tpi, tqi),

two cases are possible.

Case 1. [tpi, tqi) is busy. Since in S all processors are occupied by jobs in d, we have A(d, tpi, tqi, P S)−A(d, tpi, tqi, S)≤Usum(tqi, tpi)−m(tqi−tpi)≤0.

Case 2. [tpi, tqi) is non-busy displacing. The cumulative utilization of all tasksτk ∈ αi is

P

τk∈αiuk. The carry-in jobs of these tasks do not belong tod, by the definition ofd. Therefore, the

All processors are occupied at every time instant in the interval[tpi, tqi), because it is displacing.

Thus,A(d, tpi, tqi, S) = (tqi −tpi)(m− |αi|). Therefore, the allocation difference for jobs ind

throughout the interval is

A(d, tpi, tqi, P S)−A(d, tpi, tqi, S) ≤ (tqi −tpi) ((m− X τk∈αi uk)−(m− |αi|)) = (tqi −tpi) X τk∈αi (1−uk). (3.3)

For each taskτkinDH, the sum of the lengths of the intervals[tpi, tqi)in which the carry-in

job ofτkexecutes continuously is at mostδk. Thus, summing the allocation differences for all the

intervals[tpi, tqi)given by (3.3), we have

A(d, tn, td, P S)−A(d, tn, td, S) ≤ z X i=1 X τk∈DH (tqi−tpi)(1−uk) ≤ X τk∈DH δk(1−uk). (3.4)

Setting this value into (3.2), we get LAG(d, td, S) ≤ LAG(d, tn, S) +A(d, tn, td, P S)− A(d, tn, td, S)≤LAG(d, tn, S) +Pτk∈DHδk(1−uk).

Lemma 3.2. lag(τi, t, S)≤ui·x+ei+ui·sifor any taskτiandt∈[0, td].

Proof. Letdi,k be the deadline of the earliest pending job ofτi,τi,k, in the scheduleSat timet. If

such a job does not exist, thenlag(τi, t, S) = 0, and the lemma holds trivially. Letγibe the amount

of workτi,k performs beforet.

By the selection ofτi,k, we have

lag(τi, t, S) = X h≥k

lag(τi,h, t, S)

= X

h≥k

Given that no job executes before its release time,A(τi,h,0, t, S) =A(τi,h, ri,h, t, S). Thus,

lag(τi, t, S) = A(τi,k, ri,h, t, P S)−A(τi,k, ri,k, t, S)

+X

h>i

(A(τi,h, ri,h, t, P S)

−A(τi,h, ri,h, t, S)). (3.5)

By the definition of P S, A(τi,k, ri,h, t, P S) ≤ ei, and Ph>kA(τi,h, ri,h, t, P S) ≤ ui · max(0, tdi,k). By the selection ofτi,k,A(τi,k, ri,k, t, S) =γi, andPh>kA(τi,h, ri,h, t, S) = 0.

By setting these values into (3.5), we have

lag(τi, t, S)≤ei−γi+ui·max(0, t−di,k). (3.6)

There are two cases to consider.

Case 1.di,k ≥t. In this case, (3.6) implieslag(τi, t, S)≤ei−γi, which implieslag(τi, t, S)≤ ui·x+ei+ui·si.

Case 2. di,k < t. In this case, becauset≤tdanddl,j =td,τi,k is not the jobτl,j. Thus, by

Property (P),τi,k has tardiness at mostx+ei+si, so t+ei −γi ≤ di,k +x+ei +si. Thus, tdi,k ≤x+γi+si. Setting this value into (7.4), we havelag(τi, t, S)≤ui·x+ei+ui·si.

Lemma 3.3 below upper boundsLAG(d, tn, S).

Definition 3.6. LetEsums be the total execution cost of all self-suspending tasks inτ. LetEsum be

the total execution cost of all tasks inτ. LetSsums be the total suspension length of all tasks inτ. Let usmaxbe the maximum utilization of any self-suspending task inτ.

Definition 3.7. Let ULc be the sum of themin(m1, c)largest computational task utilizations,

wherec is the number of computational tasks. LetELc be the sum of themin(m−1, c) largest

computational task execution costs.

Proof. By summing individual task lags attn, we can bound LAG(d, tn, S). If tn = 0, then LAG(d, tn, S) = 0, so assumetn>0. Consider the set of tasksβ={τi :∃τi,vindsuch thatτi,v

is enabled att−n}. Given that the instantt−n is non-busy non-displacing, at mostm1computational

tasks in β have jobs executing at t−n. Due to suspensions, however, β may contain more than m−1tasks. In the worst case, all suspending tasks inτ have a suspended enabled job att−n and min(m−1, c)computational tasks have an enabled job executing att−n. If taskτidoes not have an

enabled job att−

n, thenlag(τi, tn, S)≤0. Therefore, by (2.5), we have LAG(d, tn, S) = X τi:τw i,v∈d lag(τi, tn, S) ≤ X τi∈β lag(τi, tn, S) {by Lemma 3.2} ≤ X τi∈β (ui·x+ei+ui·si) ≤(Usums +ULc)·x+Esums +EcL +usmax·Ssums .

The demand placed by jobs inDaftertdisB(D, td, S) = Pτk∈DH(ek−δk). Thus, by (3.1)

and Lemmas 3.1 and 3.3, we have the following upper bound:

Z ≤ (Usums +ULc)·x+Esums +ELc +usmax·Ssums

+ X

τk∈DH

(δi(1−uk) + (ek−δk))

≤ (Usums +ULc)·x+Esums +ELc +usmax·Ssums

+Esum. (3.7)

In document 5305.pdf (Page 82-86)