We now try to derive an upper bound on the load of a window
leading up to a missed deadline.
If we can find such an upper bound
it will follow from Lemma 3 that
the condition
is
sufficient to guarantee schedulability.
The upper bound on is the sum of individual
upper bounds on the load
due to each individual task
in the window. It then
follows that
While our first interest is in a problem window, it turns out that one can obtain a tighter schedulability condition by considering a well chosen downward extension of a problem window, which we call a window of interest.
For any task that can execute in a window of interest, we divide the window into three parts, which we call the head, the body, and the tail of the window with respect to , as shown in Figure 2. The contribution of to the demand in the window of interest is the sum of the contributions of the head, the body, and the tail. To obtain an upper bound on we look at each of these contributions, starting with the head.
The head is the initial segment of the window up to the earliest possible release time (if any) of within or beyond the beginning of the window. More precisely, the head of the window is the interval , such that there is a job of task that is released at time , , . We call such a job, if one exists, the carried-in job of the window with respect to . The rest of the window is the body and tail, which are formally defined closer to where they are used, in Section 5.
Figure 2 shows a window with a carried-in job. The release time of the carried-in job is , where is the offset of the release time from the beginning of the window. If the minimum interrelease time constraint prevents any releases of within the window, the head comprises the entire window. Otherwise, the head is an initial segment of the window. If there is no carried-in job, the head is said to be null.
The carried-in job has two impacts on the demand in the window:
If there is a carried-in job, the contribution of the head to is the residual compute time of the carried-in job at the beginning of the window, which we call the carry-in. If there is no carried-in job, the head makes no contribution to .
The carry-in of a job depends on the competing demand. The larger the value of the longer is the time available to complete the carried-in job before the beginning of the window, and the smaller should be the value of . We make this reasoning more precise in Lemmas 5 and 9.
Proof: Suppose has nonzero carry-in. Let be the amount of time that executes in the interval . For example, see Figure 3. By definition, . Since the job of does not complete in the interval, whenever is not executing during the interval all processors must be executing other jobs that can preempt that job of . This has two consequences:
From the first observation above, we have . Putting these two facts together gives
Since the size of the carry-in, , of a given task depends on the specific window and on the schedule leading up to the beginning of the window, it seems that bounding closely depends on being able to restrict the window of interest. Previous analysis of single-processor schedulability (e.g., [13,3,10,11]) bounded carry-in to zero by considering the busy interval leading up to a missed deadline, i.e., the interval between the first time at which a task misses a deadline and the last time before at which there are no pending jobs that can preempt . By definition, no demand that can compete with is carried into the busy interval. By modifying the definition of busy interval slightly, we can also apply it here.
Proof: Let be any problem window for . By Lemma 3 the problem window is -busy, so the set of -busy downward extensions of the problem window is non-empty. The system has some start time, before which no task is released, so the set of all -busy downward extensions of the problem window is finite. The set is totally ordered by length. Therefore, it has a unique maximal element.
Observe that a busy window for contains a problem window for , and so .
Proof: The proof follows from Lemma 5 and the definition of -busy.