Skip to main content
Log in

Fair lateness scheduling: reducing maximum lateness in G-EDF-like scheduling

  • Published:
Real-Time Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Notes

  1. Application-specific per-task lateness tolerances could be used instead of L max.

  2. As before, application-specific per-task proportional lateness tolerances could be used instead of I max.

  3. 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 .

  4. 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Google Scholar 

  • Baker T, Cirinei M, Bertogna M (2008) EDZL scheduling analysis. Real-Time Syst 40:264–289

    Article  MATH  Google Scholar 

  • Baruah SK, Cohen NK, Plaxton CG, Varvel DA (1996) Proportionate progress: a notion of fairness in resource allocation. Algorithmica 15:600–625

    Article  MathSciNet  MATH  Google Scholar 

  • Baruah SK, Mok AK, Rosier LE (1990) Preemptively scheduling hard-real-time sporadic tasks on one processor. In: RTSS, pp 182–190

    Google Scholar 

  • Bastoni A, Brandenburg BB, Anderson JH (2010) An empirical comparison of global, partitioned, and clustered multiprocessor EDF schedulers. In: RTSS, pp 14–24

    Google Scholar 

  • 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

    Google Scholar 

  • Devi UC, Anderson JH (2008) Tardiness bounds under global EDF scheduling on a multiprocessor. Real-Time Syst 38(2):133–189

    Article  MATH  Google Scholar 

  • Erickson JP, Anderson JH (2012) Fair lateness scheduling: reducing maximum lateness in g-edf-like scheduling. In: ECRTS, pp 3–12

    Google Scholar 

  • Erickson JP, Devi U, Baruah SK (2010a) Improved tardiness bounds for global EDF. In: ECRTS, pp 14–23

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • Lee J, Easwaran A, Shin I (2011) Maximizing contention-free executions in multiprocessor scheduling. In: RTAS, pp 235–244

    Google Scholar 

  • Lee SK (1994) On-line multiprocessor scheduling algorithms for real-time tasks. In: IEEE region 10 annual international conference, pp 607–611

    Google Scholar 

  • Leontyev H, Anderson JH (2010) Generalized tardiness bounds for global multiprocessor scheduling. Real-Time Syst 44(1):26–71

    Article  MATH  Google Scholar 

  • Leontyev H, Chakraborty S, Anderson JH (2009) Multiprocessor extensions to real-time calculus. In: RTSS, pp 410–421

    Google Scholar 

  • Megel T, Sirdey R, David V (2010) Minimizing task preemptions and migrations in multiprocessor optimal real-time schedules. In: RTSS, pp 37–46

    Google Scholar 

  • Ogryczak W, Tamir A (2003) Minimizing the sum of the k largest functions in linear time. Inf Process Lett 85(3):117–122

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Google Scholar 

  • Srinivasan A, Baruah SK (2002) Deadline-based scheduling of periodic task systems on multiprocessors. Inf Process Lett 84(2):93–98

    Article  MathSciNet  MATH  Google Scholar 

  • Ward BC, Erickson JP, Anderson JH (2013) A linear model for setting priority points in soft real-time systems. In: Alanfest, pp 192–205

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jeremy P. Erickson.

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

$$ \operatorname{DBF}(\tau_i, Y_i, \ell) \le U_i \ell+ C_i \biggl( 1 - \frac {Y_i}{T_i} \biggr). $$

Proof

As first demonstrated in Baruah et al. (1990), for arbitrary-deadline G-EDF,

$$ \operatorname{DBF}(\tau_i, \ell) = C_i \times\max \biggl \{ 0, \biggl\lfloor \frac{\ell- D_i}{T_i} \biggr\rfloor+ 1 \biggr\}. $$

Therefore, for arbitrary GEL schedulers, we instead define

$$ \operatorname{DBF}(\tau_i, Y_i, \ell) = C_i \times\max \biggl\{ 0, \biggl\lfloor \frac{\ell- Y_i}{T_i} \biggr\rfloor+ 1 \biggr\}. $$
(57)

If Y i , then

$$\begin{aligned} U_i \ell+ C_i \biggl( 1 - \frac{Y_i}{T_i} \biggr) \ge{} & \mbox{\{By definition of the floor function\}} \\ {} & U_i \biggl( T_i \biggl\lfloor\frac{\ell- Y_i}{T_i} \biggr\rfloor+ Y_i \biggr) + C_i \biggl(1 - \frac{Y_i}{T_i} \biggr) \\ = {} & \mbox{\{Rearranging\}} \\ {} & C_i \biggl\lfloor\frac{\ell- Y_i}{T_i} \biggr\rfloor+ \frac{C_i Y_i}{T_i} + C_i - \frac{C_i Y_i}{T_i} \\ = {} & \mbox{\{Cancelling and rearranging\}} \\ {} & C_i \biggl( \biggl\lfloor\frac{\ell-Y_i}{T_i} \biggr\rfloor+ 1 \biggr) \\ = {} & \mbox{\{By (57)\}} \\ {} & \operatorname{DBF}(\tau_i, Y_i, \ell) \end{aligned}$$

 □

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),

$$ U_i \ell+ S_i(Y_i) \ge U_i \ell+ C_i \biggl( 1 - \frac{Y_i}{T_i} \biggr). $$

Therefore, by Lemma 1,

$$ \operatorname{DBF}(\tau_i, Y_i, \ell) \le U_i \ell+ S_i(Y_i). $$

 □

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

$$ t_c = y_i + \frac{G(\mathbf{X}, \mathbf{Y}) + S(\mathbf{Y}) - C_i + \delta}{m} $$
(58)

We consider two cases, depicted in Fig. 11:

Fig. 10
figure 10

Possible competing work schedules after y i

Fig. 11
figure 11

Cases considered in Lemma 5

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

$$\begin{aligned} y_i + \frac{G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) - C_i + \delta}{m} + C_i - \delta\le{} & \mbox{\{Because $\delta> \frac{\delta}{m}$\}} \\ {} & y_i + \frac{G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) - C_i}{m} + C_i \\ \le{} & \mbox{\{By Definition~{1}\}} \\ {} & y_i + x_i + C_i, \end{aligned}$$

and the lemma is proven. □

Lemma 6

x is a minimum near-compliant vector iff

$$ \forall i,\quad x_i = \frac{G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) - C_i}{m}. $$
(27)

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,

$$ x'_j = x_j - \delta, $$
(59)

and for ij, \(x'_{i} = x_{i}\). Then, by the definition of G(x,Y) in (13),

$$ G\bigl(\mathbf{x}', \mathbf{Y}\bigr) \ge G( \mathbf{x}, \mathbf{Y}) - U_j \delta. $$
(60)

Therefore,

$$\begin{aligned} \frac{G(\mathbf{x}', \mathbf{Y}) + S(\mathbf{Y}) - C_j}{m} \ge{} & \mbox{\{By (60)\}} \\ {} & \frac{G(\mathbf{x}, \mathbf{Y}) - U_j \delta+ S(\mathbf{Y}) - C_j}{m} \\ = {} & \mbox{\{Rearranging\}} \\ {} & \frac{G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) - C_j}{m} - \frac{U_j \delta}{m} \\ = {} & \mbox{\{By (27)\}} \\ {} & x_j - \frac{U_j \delta}{m} \\ > {} & \mbox{\{Because $U_{j} > 0$, $m > 1$, and $\delta> 0$, and by (59)\}} \\ & x_j' \end{aligned}$$

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,

$$ x_j > \frac{G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) - C_j}{m}. $$
(61)

If there is more than one such j, we choose one arbitrarily. We define x′ such that

$$ x_j' = \frac{G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) - C_j}{m}, $$
(62)

and for ij,

$$ x_i' = x_i. $$
(63)

By the definition of G(x,Y) in (13) and (61)–(62),

$$ G\bigl(\mathbf{x}', \mathbf{Y}\bigr) \le G( \mathbf{x}, \mathbf{Y}). $$
(64)

Therefore,

$$\begin{aligned} x_j' = {} & \mbox{\{By (62)\}} \\ {} & \frac{G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) - C_i}{m} \\ \ge{} & \mbox{\{By (64)\}} \\ {} & \frac{G(\mathbf{x}', \mathbf{Y}) + S(\mathbf{Y}) - C_i}{m}, \end{aligned}$$

and, for ij,

$$\begin{aligned} x_i' = {} & \mbox{\{By (63)\}} \\ {} & x_i \\ \ge{} & \mbox{\{By Definition~{1}\}} \\ {} & \frac{G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) - C_i}{m} \\ \ge{} & \mbox{\{By (64)\}} \\ {} & \frac{G(\mathbf{x}', \mathbf{Y}) + S(\mathbf{Y}) - C_i}{m}. \end{aligned}$$

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

$$ \forall i,\quad x_i = \frac{s-C_i}{m}, $$
(65)

and x′ with

$$ \forall i,\quad x_i' = \frac{s'-C_i}{m}. $$
(66)

Without loss of generality, assume s′<s.

We show

$$\begin{aligned} s = {} & \mbox{\{By Corollary~{1}\}} \\ & G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) \\ = {} & \mbox{\{By the definition of $G(\mathbf{x}, \mathbf{Y})$ in (13)\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \bigl(x_i U_i + C_i - S_i(Y_i)\bigr) + S(\mathbf{Y}) \\ = {} & \mbox{\{By (65)\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \biggl( \biggl( \frac{s-C_i}{m} \biggr) U_i + C_i - S_i(Y_i) \biggr) + S(\mathbf{Y}) \\ = {} & \mbox{\{Rearranging\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \biggl( \biggl( \frac{s' - C_i}{m} \biggr) U_i + \biggl( \frac{s - s'}{m} \biggr) U_i + C_i - S_i(Y_i) \biggr) + S(\mathbf{Y}) \\ < {} & \mbox{\{Because $U^{+}\le m$ and $U_{i} \le1$ holds for each $i$\}} \\ & s-s' + \sum_{U^{+}-1~\mathrm{largest}} \biggl( \biggl( \frac{s' - C_i}{m} \biggr) U_i + C_i - S_i(Y_i) \biggr) + S(\mathbf{Y}) \\ = {} & \mbox{\{By (66)\}} \\ & s - s' + \sum_{U^{+}-1~\mathrm{largest}} \bigl( x_i U_i + C_i - S_i(Y_i) \bigr) + S(Y) \\ = {} & \mbox{\{By the definition of $G(\mathbf{x}, \mathbf{Y})$ in (13)\}} \\ & s - s' + G\bigl(\mathbf{x}', \mathbf{Y}\bigr) + S( \tau) \\ = {} & \mbox{\{By (66)\}} \\ & s - s' + s' \\ = {} & \mbox{\{Cancelling\}} \\ & s. \end{aligned}$$
(67)

(67) is a contradiction, so the lemma is proven. □

Lemma 9

For any assignment of variables satisfying Constraint Sets 14,

$$ G+ S_{\mathrm{sum}}\ge G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}). $$
(68)

Proof

$$\begin{aligned} &G+ S_{\mathrm{sum}} \\ &\quad{}\ge \mbox{\{By (32) and Constraint~Set~{4}\}} \\ &\qquad\ \,{} \sum_{U^{+}-1~\mathrm{largest}} (x_i U_i + C_i - S_{i}) + \sum _{\tau_i \in\tau} S_{i} \\ &\quad{}\ge \mbox{\{By (31); observe that each $S_{i}$ appearing in the first summation} \\ &\qquad\ \,{} \mbox{also appears in the second\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \bigl(x_i U_i + C_i - S_i(Y_i)\bigr) + \sum _{\tau_i \in\tau} S_i(Y_i) \\ &\quad{}= \mbox{\{By the definition of $S(\mathbf{Y})$ in (10), and the definition of $G(\mathbf{x}, \mathbf{Y})$ in (13)\}} \\ &\qquad\ \,{} G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}). \end{aligned}$$

 □

Lemma 10

For any assignment of variables satisfying Constraint Sets 15, x is a near-compliant vector.

Proof

Consider an arbitrary assignment of variables satisfying Constraint Sets 1–5. For arbitrary i,

$$\begin{aligned} x_i = {} & \mbox{\{By Constraint~Set~{1}\}} \\ & \frac{s - C_i}{m} \\ \ge{} & \mbox{\{By Constraint~Set~{5}\}} \\ & \frac{G+ S_{\mathrm{sum}}- C_i}{m} \\ \ge{} & \mbox{\{By Lemma~{9}\}} \\ & \frac{G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{y}) - C_i}{m}. \end{aligned}$$
(69)

By (69) and Definition 1, x is a near-compliant vector. □

Lemma 11

If s<0, then Constraint Sets 15 are infeasible.

Proof

We use proof by contradiction. Assume Constraint Sets 1–5 are satisfied by some assignment of variables with

$$\begin{aligned} s <{}& 0. \end{aligned}$$
(70)
$$\begin{aligned} s \ge{} & \mbox{\{By Constraint~Set~{5}\}} \\ & G+ S_{\mathrm{sum}} \\ \ge{} & \mbox{\{By Lemma~{9}\}} \\ & G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) \\ = {} & \mbox{\{By (10) and (13)\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \bigl(x_i U_i + C_i - S_i(Y_i)\bigr) + \sum _{\tau_i \in\tau} S_i(Y_i) \\ = {} & \mbox{\{By Constraint~Set~{1}\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \biggl( \biggl( \frac{s-C_i}{m} \biggr) U_i + C_i - S_i(Y_i) \biggr) + \sum_{\tau_i \in\tau} S_i(Y_i) \\ \ge{} & \mbox{\{By (70)\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \biggl( \biggl( \frac{-C_i}{m} \biggr) U_i + C_i - S_i(Y_i) \biggr) + \sum_{\tau_i \in\tau} S_i(Y_i) \\ = {} & \mbox{\{Rearranging\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \biggl( \biggl( \frac{C_i(m - U_i)}{m} \biggr) - S_i(Y_i) \biggr) + \sum _{\tau_i \in\tau} S_i(Y_i) \\ \ge{} & \mbox{\{Because each $S_{i}(Y_{i}) \ge0$ by the definition of $S_{i}(Y_{i})$ in (9); observe that each} \\ & \mbox{$S_{i}(Y_{i})$ in the first summation also appears in the second\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \frac{C_i(m-U_i)}{m} \\ \ge{} & \mbox{\{Because $U_{i} \le1 < m$\}} \\ & 0. \end{aligned}$$
(71)

(70) contradicts (71), so the lemma is proven. □

Lemma 12

Constraint Sets 15 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

$$\begin{aligned} &s = m^2 C_{\max} + m S(\mathbf{Y}), \end{aligned}$$
(72)
$$\begin{aligned} &\forall i,\quad x_i = \frac{s - C_i}{m}, \end{aligned}$$
(73)
$$\begin{aligned} &\forall i,\quad S_{i} = S_i(Y_i), \end{aligned}$$
(74)
$$\begin{aligned} &G= G(\mathbf{x}, \mathbf{Y}) , \end{aligned}$$
(75)
$$\begin{aligned} &b= \mbox{$\bigl(U^{+}-1\bigr)$th largest value of $x_{i} U_{i} + C_{i} - S_{i}$}, \end{aligned}$$
(76)
$$\begin{aligned} &\forall i,\quad z_i = \max\{0, x_i U_i + C_i - S_{i} - b\}, \end{aligned}$$
(77)
$$\begin{aligned} &S_{\mathrm{sum}}= S(\mathbf{Y}) . \end{aligned}$$
(78)

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

$$\begin{aligned} G+ S_{\mathrm{sum}}= {} & \mbox{\{By (75) and ( 78)\}} \\ & G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) \\ = {} & \mbox{\{By (13)\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \bigl(x_i U_i + C_i - S_i(Y_i)\bigr) + S(\mathbf{Y}) \\ = {} & \mbox{\{By (72)--(73)\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \biggl( \biggl( \frac{m^2 C_{\max} + m S(\mathbf{Y}) - C_i}{m} \biggr) U_i + C_i - S_i(Y_i) \biggr) + S(\mathbf{Y}) \\ < {} & \mbox{\{Because $U^{+}\le m$, $\forall i, C_{i} \le C_{\max} \wedge U_{i} \le1$\}} \\ & \sum_{m-1~\mathrm{largest}} \bigl(m C_{\max} + S( \mathbf{Y}) + C_{\max}\bigr) + S(\mathbf{Y}) \\ = {} & \mbox{\{Rearranging\}} \\ & \bigl(m^2 - 1\bigr) C_{\max} + m S(\mathbf{Y}) \\ < {} & \mbox{\{By (72)\}} \\ & s. \end{aligned}$$

 □

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 15 are infeasible.

Proof

We use proof by contradiction. Assume U +>1 and Constraint Sets 1–5 are satisfied by some assignment of variables with

$$\begin{aligned} s <{}& C_{\max}. \end{aligned}$$
(79)
$$\begin{aligned} s \ge{} & \mbox{\{By Constraint~Set~{5}\}} \\ & G+ S_{\mathrm{sum}} \\ \ge{} & \mbox{\{By Lemma~{9}\}} \\ & G(\mathbf{x}, \mathbf{Y}) + S(\mathbf{Y}) \\ = {} & \mbox{\{By the definition of $S(\mathbf{Y})$ in (10), and the definition of $G(\mathbf{x}, \mathbf{Y})$ in (13)\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \bigl(x_i U_i + C_i - S_i(Y_i)\bigr) + \sum _{\tau_i \in\tau} S_i(Y_i) \\ = {} & \mbox{\{By Constraint~Set~{1}\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \biggl( \biggl( \frac{s-C_i}{m} \biggr) U_i + C_i - S_i(Y_i) \biggr) + \sum_{\tau_i \in\tau} S_i(Y_i) \\ \ge{} & \mbox{\{By (79)\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \biggl( \biggl( \frac{C_{\max}-C_i}{m} \biggr) U_i + C_i - S_i(Y_i) \biggr) + \sum_{\tau_i \in\tau} S_i(Y_i) \\ \ge{} & \mbox{\{Because $C_{\max} \ge C_{i}$ for all $i$\}} \\ & \sum_{U^{+}-1~\mathrm{largest}} \bigl(C_i - S_i(Y_i)\bigr) + \sum_{\tau_i \in\tau} S_i(Y_i) \\ \ge{} & \mbox{\{Because each $S_{i}(Y_{i}) \ge0$ by the definition of $S_{i}(Y_{i})$ in (9); observe that each} \\ & \mbox{$S_{i}(Y_{i})$ in the first summation also appears in the second.\}} \\ & \sum_{U^{+}-1~\max} C_i \\ = {} & \mbox{\{By the definition of $C_{\max}$, because $U^{+}> 1$\}} \\ & C_{\max}. \end{aligned}$$
(80)

(79) contradicts (80), so the lemma is proven. □

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-013-9190-4

Keywords

Navigation