We consider the problem of scheduling a setτ ={τ1, ..., τn}ofnSRT (defined in Section 1.2.2) spo-
radic self-suspending tasks (defined in Section 2.1.4) onm≥1identical processorsM1, M2, ..., Mm.
A common case for real-time workloads is that both self-suspending tasks and computational tasks (which do not suspend) co-exist. To reflect this, we letUsums denote the total utilization of all
self-suspending tasks, andUc
sumdenote the total utilization of all computational tasks.
So that our analysis can be more accurately applied in settings where a task’s total suspension time varies from job to job, we assume that a fixed parameterH(H≥1) is specified and thatSH i
denotes the maximum total self-suspension length for anyH(H ≥1) consecutive jobs of taskτi.
Note that ifH= 1, then a maximum per-job total suspension length is being assumed. 1Contents of this chapter previously appeared in preliminary form in the following papers:
Cong Liu and James Anderson. AnO(m)Analysis Technique for Supporting Real-Time Self-Suspending Task Systems,
Proceedings of the 33th IEEE Real-Time Systems Symposium, pages 373-382, 2012.
Cong Liu and James Anderson. A New Technique for Analyzing Soft Real-Time Self-Suspending Task Systems, pages 29-32, ACM SIGBED Review, 2012.
Cong Liu and James Anderson. Improving the Schedulability of Sporadic Self-Suspending Soft Real-Time Multiprocessor Task Systems, Proceedings of the 16th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, pages 13-22, 2010.
Cong Liu and James Anderson. Task Scheduling with Self-Suspensions in Soft Real-Time Multiprocessor Systems, Proceedings of the 30th IEEE Real-Time Systems Symposium, pages 425-436, 2009.
As discussed in Chapter 2, under GEDF (GFIFO), released jobs are prioritized by their deadlines (release times). So that our results can be applied to both algorithms, we consider a generic scheduling algorithm (GSA) where each job is prioritized by some time point between its release time and deadline. Specifically, for any jobτi,j, we define a priority value with lower values denoting higher
priority:ρi,j =ri,j+κ·pi, where0≤κ≤1. We assume that ties are broken by task ID. Note that
GEDF and GFIFO are special cases of GSA whereκis set to 1 and 0, respectively.
For simplicity, we henceforth assume that each job of any taskτlexecutes forexactlyeltime
units. By Claim 1 provided below, any tardiness bound derived for such systems applies to other systems as well. (Claim 1 also considers GTFP scheduling because GTFP scheduling is considered in Chapter 4 for HRT sporadic self-suspending task systems.)
We say that a sporadic task systemτ isconcreteif the release time (and hence deadline) and
actual execution cost and suspension time of every job of each task is fixed. Two concrete task systems arecompatibleif they have the same jobs with the same release times (they can have different actual execution and suspension times). A concrete task systemτ ismaximalif the actual execution
time of any job equals the corresponding task’s WCET.
Claim 1. For any concrete task systemτ, there exists a compatible maximal concrete task system τ0such that, for any jobτi,k, its response time in the GSA (or GTFP) schedule forτ0is at least its
response time in the GSA (or GTFP) schedule forτ.
Proof. The existence of the desired maximal concrete system is demonstrated via a construction method in which computation phases are ranked as follows: (i)ifτi,k ≺τx,y(i.e.,τi,k has higher
priority thanτx,y, as defined in Chapter 2), then all computation phases ofτi,kare ranked before all
computation phases ofτx,y;(ii)earlier computation phases ofτi,kare ranked before later computation
phases ofτi,k.
Consider a computation phaseCof a jobτi,kthat is not maximal. We show that the length of Ccan be increased by one time unit by adding to the end ofCa piece of computationρof length
one time unit (recall from Chapter 2 that we assume that time is integral). In doing so, it may be necessary to reduce the length of a lower-ranked computation phase by one time unit and to reduce the length of a subsequent suspension phase (if any) ofτi,k. By inducting over all computation phases
obtain a compatible concrete task system that is maximal. The construction method will ensure that no job’s response time is reduced.
Let[t, t+ 1)denote the time interval whereρshould be added to the schedule (according to
GSA or GTFP). If, before addingρ, taskτiis scheduled within[t, t+ 1), then the computation phase
ofτiexecuting at that time, call itC0, is ranked lower thanC. In this case, we can accommodateρ
by reducingC0in length by one time unit.2 IfCandC0 are separated by a suspension phase, then
the length of that suspension phase must be defined to be zero.
In the rest of the proof, we consider the other possibility: before addingρ,τi isnotscheduled
within[t, t+ 1)(and hence, it is not scheduled in[t0, t+ 1), wheret0is the completion time ofC). In
this case, if there is an idle processor in[t, t+ 1), thenρcan be scheduled there without modifying
the length of any lower-ranked computation phase. On the other hand, if there is no idle processor, then, asρshould be scheduled in[t, t+ 1), there must be a computation phase ranked lower thanC
scheduled then. We can accommodateρand allow it to be scheduled in[t, t+ 1)by reducing the
length of that lower-ranked computation phase by one time unit. IfCis followed by a suspension
phase, then, onceρhas been added to the schedule, it may be necessary to reduce the length of that
suspension phase. In particular, if, before addingρ,τi,k was suspended in[t, t+ 1), then the length
of that suspension phase must be reduced so that it starts ast+ 1.
Note that the construction method used in this proof strongly exploits the fact that, in our task model, suspension phases are upper-bounded, and hence, can be reduced.