Abstract
In prior work on soft real-time (SRT) multiprocessor scheduling, tardiness bounds have been derived for a variety of scheduling algorithms, most notably, the global earliest-deadline-first (G-EDF) algorithm. In this paper, we devise G-EDF-like (GEL) schedulers, which have identical implementations to G-EDF and therefore the same overheads, but that provide better tardiness bounds. We discuss how to analyze these schedulers and propose methods to determine scheduler parameters to meet several different tardiness bound criteria. We employ linear programs to adjust such parameters to optimize arbitrary tardiness criteria, and to analyze lateness bounds (lateness is related to tardiness). We also propose a particular scheduling algorithm, namely the global fair lateness (G-FL) algorithm, to minimize maximum absolute lateness bounds. Unlike the other schedulers described in this paper, G-FL only requires linear programming for analysis. We argue that our proposed schedulers, such as G-FL, should replace G-EDF for SRT applications.
Similar content being viewed by others
Notes
Application-specific per-task lateness tolerances could be used instead of L max.
As before, application-specific per-task proportional lateness tolerances could be used instead of I max.
When Y i =T i for all i, S i (Y i )=0, and rather than defining G(x,Y) as the largest sum of U +−1 values of x i U i +C i , we can instead define G(x,Y) as the largest sum of only U +−2 values of x i U i +C i plus an additional C i .
With uniform heavy utilizations and uniform long periods, EDF-CVA2 provided a very slightly smaller average proportional lateness bound when the system utilization was 8. Recall that the technique used by EDF-CVA2 only applies when proportional PPs equal minimum separation times.
Abbreviations
- b :
-
LP auxiliary variable used while computing G(x,Y)
- C i :
-
Worst-case execution time for τ i
- C max :
-
Maximum C i for τ
- D i :
-
Deadline for τ i
- \(\operatorname{DBF}(\tau_{i}, Y_{i}, l)\) :
-
Maximum demand by jobs of τ i with both release and PP in an arbitrary interval of length l
- G :
-
LP variable corresponding to G(x,Y)
- G(x,Y):
-
Extra demand from certain analyzed tasks (see (13))
- H :
-
Set of jobs with priority at least that of J i
- I i :
-
Proportional lateness bound for τ i
- I max :
-
Maximum proportional lateness bound for τ
- J i :
-
Arbitrary job under analysis
- L i :
-
Lateness bound for τ i
- L max :
-
Maximum lateness bound of G-FL for τ
- m :
-
Processor count
- R i :
-
Response time bound for τ i
- s :
-
LP variable corresponding to G(x,Y)+S(Y)
- S i (Y i ):
-
Extra demand term for τ i due to D i <T i (see (9))
- S sum :
-
LP variable corresponding to S(Y)
- S(Y):
-
Sum of S i (Y i ) terms over task system (see (10))
- t b :
-
End of last idle interval before y i
- t d :
-
Beginning of last idle interval before y i
- T i :
-
Minimum separation time for τ i
- Y i :
-
Relative PP for τ i
- U i :
-
Utilization for τ i
- U + :
-
Ceiling of utilization sum for τ
- W j (t):
-
Total remaining work at time t for jobs of τ j in H
- W(t):
-
Total remaining work at time t for jobs in H
- x i :
-
Component of response time bound Y i +x i +C i for τ i (see (27))
- y i :
-
PP of J i
- z i :
-
LP auxiliary variable used while computing G(x,Y)
- δ :
-
Constant used to describe already completed work or early completion
- τ :
-
Task system
- τ i :
-
Task i
References
Anderson JH, Srinivasan A (2004) Mixed pfair/erfair scheduling of asynchronous periodic tasks. J Comput Syst Sci 68(1):157–204
Back H, Chwa HS, Shin I (2012) Schedulability analysis and priority assignment for global job-level fixed-priority multiprocessor scheduling. In: IEEE real-time and embedded technology and applications symposium, pp 297–306
Baker T, Cirinei M, Bertogna M (2008) EDZL scheduling analysis. Real-Time Syst 40:264–289
Baruah SK, Cohen NK, Plaxton CG, Varvel DA (1996) Proportionate progress: a notion of fairness in resource allocation. Algorithmica 15:600–625
Baruah SK, Mok AK, Rosier LE (1990) Preemptively scheduling hard-real-time sporadic tasks on one processor. In: RTSS, pp 182–190
Bastoni A, Brandenburg BB, Anderson JH (2010) An empirical comparison of global, partitioned, and clustered multiprocessor EDF schedulers. In: RTSS, pp 14–24
Brandenburg BB (2011) Scheduling and Locking in Multiprocessor Real-Time Operating Systems. PhD thesis, The University of North Carolina at Chapel Hill
Chwa HS, Back H, Chen S, Lee J, Easwaran A, Shin I, Lee I (2012) Extending task-level to job-level fixed priority assignment and schedulability analysis using pseudo-deadlines. In: RTSS, pp 51–62
Devi UC, Anderson JH (2008) Tardiness bounds under global EDF scheduling on a multiprocessor. Real-Time Syst 38(2):133–189
Erickson JP, Anderson JH (2012) Fair lateness scheduling: reducing maximum lateness in g-edf-like scheduling. In: ECRTS, pp 3–12
Erickson JP, Devi U, Baruah SK (2010a) Improved tardiness bounds for global EDF. In: ECRTS, pp 14–23
Erickson JP, Guan N, Baruah SK (2010b) Tardiness bounds for global EDF with deadlines different from periods. In: OPODIS, pp 286–301. Revised version at http://cs.unc.edu/~jerickso/opodis2010-tardiness.pdf
Kenna C, Herman J, Brandenburg BB, Mills AF, Anderson JH (2011) Soft real-time on multiprocessors: are analysis-based schedulers really worth it? In: RTSS, pp 99–103
Lee J, Easwaran A, Shin I (2011) Maximizing contention-free executions in multiprocessor scheduling. In: RTAS, pp 235–244
Lee SK (1994) On-line multiprocessor scheduling algorithms for real-time tasks. In: IEEE region 10 annual international conference, pp 607–611
Leontyev H, Anderson JH (2010) Generalized tardiness bounds for global multiprocessor scheduling. Real-Time Syst 44(1):26–71
Leontyev H, Chakraborty S, Anderson JH (2009) Multiprocessor extensions to real-time calculus. In: RTSS, pp 410–421
Megel T, Sirdey R, David V (2010) Minimizing task preemptions and migrations in multiprocessor optimal real-time schedules. In: RTSS, pp 37–46
Ogryczak W, Tamir A (2003) Minimizing the sum of the k largest functions in linear time. Inf Process Lett 85(3):117–122
Regnier P, Lima G, Massa E, Levin G, Brandt SRU (2011) Optimal multiprocessor real-time scheduling via reduction to uniprocessor. In: RTSS, pp 104–115
Srinivasan A, Baruah SK (2002) Deadline-based scheduling of periodic task systems on multiprocessors. Inf Process Lett 84(2):93–98
Ward BC, Erickson JP, Anderson JH (2013) A linear model for setting priority points in soft real-time systems. In: Alanfest, pp 192–205
Author information
Authors and Affiliations
Corresponding author
Additional information
Work supported by NSF grants CNS 1016954, CNS 1115284, and CNS 1239135; ARO grant W911NF-09-1-0535; and AFRL grant FA8750-11-1-0033. The third author was supported by an NSF Graduate Research Fellowship.
Appendix: Additional proofs
Appendix: Additional proofs
Lemma 1
If ℓ≥Y i , then
Proof
As first demonstrated in Baruah et al. (1990), for arbitrary-deadline G-EDF,
Therefore, for arbitrary GEL schedulers, we instead define
If ℓ≥Y i , then
□
Lemma 2
\(\operatorname{DBF}(\tau_{i}, Y_{i}, \ell) \le U_{i} \ell+ S_{i}(Y_{i})\).
Proof
We consider two cases.
We first consider ℓ∈[0,Y i ). In that case, ℓ−Y i <0, and \(\lfloor\frac{\ell- Y_{i}}{T_{i}} \rfloor+ 1 \le0\). Therefore, by the definition of S i (Y i ) in (9), and (57), \(\operatorname{DBF}(\tau_{i}, Y_{i}, \ell) = 0 \le U_{i} \ell+ S_{i}(Y_{i})\).
We then consider ℓ≥Y i . By the definition of S i (Y i ) in (9),
Therefore, by Lemma 1,
□
Lemma 5
If x is compliant and each job of τ j with higher priority than J i finishes with response time no greater than Y j +x j +C j , then J i finishes with response time no greater than Y i +x i +C i .
Proof
Let δ denote the sum of the amount of execution of J i before y i and the amount of time by which it finishes early, so that C i −δ units remain at time y i . By Lemma 4, the remaining work at time y i for all jobs in H (including J i itself) is at most G(x,Y)+S(Y). Therefore, there can be at most G(x,Y)+S(Y)−(C i −δ) units of competing work from other tasks. (This expression actually bounds all competing work, but is sufficient as an upper bound for work from other tasks.) Because each Y i ≥0, no job releases after y i affect the scheduling of J i . As depicted in Fig. 10, a CPU becomes available for τ i at the earliest time that any CPU completes its competing work. Therefore, in the worst case, all CPUs execute competing work with maximum parallelism, and a CPU becomes available for τ i at time
We consider two cases, depicted in Fig. 11:
Case 1 (Fig. 11 (a)) If some predecessor of J i is running at time t c , we denote the immediate predecessor of J i as \(J_{i}'\). Because all competing work from other tasks has completed, J i can begin execution immediately upon completion of \(J_{i}'\). Therefore, because \(J_{i}'\) has a response time no greater than the assumed response bound (11), and J i must have been released at least T i units after \(J_{i}'\), \(J_{i}'\) must complete no later than Y i +x i +C i −T i units after the release of J i . Because we assumed C i ≤T i , J i must complete within Y i +x i +C i −T i +C i ≤Y i +x i +C i units of its release, and the lemma is proven.
Case 2 (Fig. 11 (b)) If no predecessor of J i is running at time t c , J i is eligible for execution at time t c unless it has already completed. At most C i −δ units of execution remain, so it completes by time
and the lemma is proven. □
Lemma 6
x is a minimum near-compliant vector iff
Proof
We consider two cases, depending on whether (27) holds.
( 27 ) Holds If (27) holds, then by Definition 1, x is near-compliant. Let δ>0 and x′ be such that, for some j,
and for i≠j, \(x'_{i} = x_{i}\). Then, by the definition of G(x,Y) in (13),
Therefore,
Therefore, by Definition 1, x′ is not near-compliant. Since j and δ were arbitrary, x is a minimum near-compliant vector.
( 27 ) Does Not Hold Suppose (27) does not hold. If, for some j, \(x_{j} < \frac{G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) - C_{j}}{m}\), then by Definition 1, x is not near-compliant. Thus, if x is near-compliant, then for some j,
If there is more than one such j, we choose one arbitrarily. We define x′ such that
and for i≠j,
By the definition of G(x,Y) in (13) and (61)–(62),
Therefore,
and, for i≠j,
Thus, x′ is near-compliant, so x is not a minimum near-compliant vector. □
Lemma 7
If the minimum near-compliant vector for the task system exists, it is unique.
Proof
We use proof by contradiction. Assume that two distinct minimum near-compliant vectors exist for the task system, x with
and x′ with
Without loss of generality, assume s′<s.
We show
(67) is a contradiction, so the lemma is proven. □
Lemma 9
For any assignment of variables satisfying Constraint Sets 1–4,
Proof
□
Lemma 10
For any assignment of variables satisfying Constraint Sets 1–5, x is a near-compliant vector.
Proof
Consider an arbitrary assignment of variables satisfying Constraint Sets 1–5. For arbitrary i,
By (69) and Definition 1, x is a near-compliant vector. □
Lemma 11
If s<0, then Constraint Sets 1–5 are infeasible.
Proof
We use proof by contradiction. Assume Constraint Sets 1–5 are satisfied by some assignment of variables with
(70) contradicts (71), so the lemma is proven. □
Lemma 12
Constraint Sets 1–5 are feasible.
Proof
We present an assignment of variables that satisfies Constraint Sets 1–5. Let C max denote the largest value of C i in the system. Let
Constraint Set 1 holds by (73).
Constraint Set 2 holds by (74).
Constraint Set 3 holds by (75)–(77).
Constraint Set 4 holds by (74) and (78).
To see that Constraint Set 5 holds, note that
□
Lemma 13
Let C max denote the largest value of C i in the system. If U +>1 and s<C max, then Constraint Sets 1–5 are infeasible.
Proof
We use proof by contradiction. Assume U +>1 and Constraint Sets 1–5 are satisfied by some assignment of variables with
Rights and permissions
About this article
Cite this article
Erickson, J.P., Anderson, J.H. & Ward, B.C. Fair lateness scheduling: reducing maximum lateness in G-EDF-like scheduling. Real-Time Syst 50, 5–47 (2014). https://doi.org/10.1007/s11241-013-9190-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-013-9190-4