Skip to main content
Log in

An optimal boundary fair scheduling

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

Abstract

Nowadays, many real-time operating systems discretize the time relying on a system time unit. To take this behavior into account, real-time scheduling algorithms must adopt a discrete-time model in which both timing requirements of tasks and their time allocations have to be integer multiples of the system time unit. That is, tasks cannot be executed for less than one time unit, which implies that they always have to achieve a minimum amount of work before they can be preempted. Assuming such a discrete-time model, the authors of Zhu et al. (Proceedings of the 24th IEEE international real-time systems symposium (RTSS 2003), 2003, J Parallel Distrib Comput 71(10):1411–1425, 2011) proposed an efficient “boundary fair” algorithm (named BF) and proved its optimality for the scheduling of periodic tasks while achieving full system utilization. However, BF cannot handle sporadic tasks due to their inherent irregular and unpredictable job release patterns. In this paper, we propose an optimal boundary-fair scheduling algorithm for sporadic tasks (named BF\(^2\)), which follows the same principle as BF by making scheduling decisions only at the job arrival times and (expected) task deadlines. This new algorithm was implemented in Linux and we show through experiments conducted upon a multicore machine that BF\(^2\) outperforms the state-of-the-art discrete-time optimal scheduler (PD\(^2\)), benefiting from much less scheduling overheads. Furthermore, it appears from these experimental results that BF\(^2\) is barely dependent on the length of the system time unit while PD\(^2\)—the only other existing solution for the scheduling of sporadic tasks in discrete-time systems—sees its number of preemptions, migrations and the time spent to take scheduling decisions increasing linearly when improving the time resolution of the system.

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
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. In Anderson and Srinivasan (1999, 2000a) and Srinivasan and Anderson (2002) the pseudo-release and pseudo-deadlines were defined on a “slot” basis. In this document as in Anderson et al. (2005) and Srinivasan and Anderson (2005), the pseudo-release and pseudo-deadline refer to time-instants. This explain why the formula given here for \(pd(\tau _{i,j})\) is slightly different to the one presented in Anderson and Srinivasan (1999, 2000a) and Srinivasan and Anderson (2002) but identical to those of Anderson et al. (2005) and Srinivasan and Anderson (2005).

  2. It was shown in Anderson and Srinivasan (1999) that the window pattern is identical for each job of \(\tau _i\). Since the pseudo-deadlines of subtasks \(\tau _{i,j}\) belonging to the first job of a task \(\tau _i\) starting its execution at \(t=0\) is given by \(pd(\tau _{i,j}) = \left\lceil \frac{j}{U_i} \right\rceil \) (see Anderson et al. 2005), the pseudo-deadlines of any other job \(J_{i,q}\) is just translated by \(a_{i,q}\) time units. The same reasoning applies to the pseudo-release.

  3. Note that PL uses the exact PD\(^2\)’s prioritization rules (Kim and Cho 2011) while we propose a simplified version of these rules which makes use of only two parameters instead of three.

  4. Remember that the time unit is simply a measure of the time and does not impose to \(\mathrm{ct}(\varGamma , p)\) to be an integer.

  5. Note that if \(\lfloor \rho _i(t) \rfloor = 1\) then Lemma 4 says that there is exactly one pseudo-deadline “separated” by one time unit which means that the two pseudo-deadlines \(pd(\tau _{i,j})\) and \(pd(\tau _{i,j+1})\) are separated by more than one time unit, i.e., \(pd(\tau _{i,j+1}) - pd(\tau _{i,j}) \ge 2\).

  6. Since \(b_{k+1} > t\), we have \(\mathrm{lag}_i(b_{k+1}) > \mathrm{lag}_i(t)\) if \(\tau _i\) is not executed (Expression 6), thereby implying that \(\mathrm{lag}_i(b_{k+1}) > 0\) if \(\mathrm{lag}_i(t) > 0\). Therefore, \(\tau _i\) is always eligible for a time unit when \(\mathrm{lag}_i(t) > 0\) which is a sufficient condition (Srinivasan and Anderson 2002) to have a correct schedule with an optimal ER-Fair scheduler such as BF\(^2\) (Lemma 6).

References

  • Anderson JH, Srinivasan A (1999) A new look at pfair priorities. Technical Report TR00-023, Departement of Computer Science, University of North Carolina

  • Anderson JH, Srinivasan A (2000a) Early-release fair scheduling. In: Proceedings of the 12th Euromicro conference on real-time systems (ECRTS 2000). IEEE, Computer Society. Stockholm, Sweden, pp 35–43. doi:10.1109/EMRTS.2000.853990

  • Anderson JH, Srinivasan A (2000b) Pfair scheduling: beyond periodic task systems. In: Proceedings of the 7th IEEE international conference on embedded and real-time computing systems and applications (RTCSA 2000). IEEE Computer Society. Cheju Island, South Korea, pp 297–306. ISBN 0-7695-0930-4. doi:10.1109/RTCSA.2000.896405

  • Anderson JH, Srinivasan A (2001) Mixed Pfair/ERfair scheduling of asynchronous periodic tasks. In: Proceedings of the 13th Euromicro conference on real-time systems (ECRTS 2001). IEEE Computer Society. Delft, The Netherlands, pp 76–85

  • Anderson JH, Holman P, Srinivasan A (2005) Fair scheduling of real-time tasks on multiprocessors. In: Leung JY-T (ed) Handbook of Scheduling, chapter 31. Chapman & Hall/CRC, Boca Raton

    Google Scholar 

  • Andersson B, Bletsas K (2008) Sporadic multiprocessor scheduling with few preemptions. In: Proceedings of the 20th Euromicro conference on real-time systems (ECRTS 2008). IEEE Computer Society. Prague, Czech Republic, pp 243–252. ISBN 978-0-7695-3298-1. doi:10.1109/ECRTS.2008.9

  • Andersson B, Tovar E (2006) Multiprocessor scheduling with few preemptions. In; Proceedings of the 12th IEEE international conference on embedded and real-time computing systems and applications (RTCSA 2006). IEEE Computer Society. Sydney, Australia, pp 322–334. doi:10.1109/RTCSA.2006.45

  • Baruah SK, Cohen NK, Plaxton CG, Varvel DA (1993) Proportionate progress: a notion of fairness in resource allocation. In: Proceedings of the 25th annual ACM symposium on theory of computing (STOC 1993). ACM. San Diego, California, USA, pp 345–354. ISBN 0-89791-591-7. doi:10.1145/167088.167194

  • Baruah SK, Gehrke J, Plaxton CG (1995) Fast scheduling of periodic tasks on multiple resources. In: Proccedings of the 9th international parallel processing sSymposium (IPPS ’95). IEEE Computer Society. Santa Barbara, California, USA, pp 280–288. ISBN 0-8186-7074-6

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

    Article  MATH  MathSciNet  Google Scholar 

  • Bletsas K, Andersson B (2009) Preemption-light multiprocessor scheduling of sporadic tasks with high utilisation bound. In: Proceedings of the 30th IEEE real-time systems symposium. pp 447–456. ISBN 978-0-7695-3875-4. doi:10.1109/RTSS.2009.16

  • Bletsas K, Andersson B (2011) Preemption-light multiprocessor scheduling of sporadic tasks with high utilisation bound. Real-Time Syst 47:319–355. ISSN 0922–6443

    Google Scholar 

  • Brandenburg BB, Calandrino JM, Anderson JH (2008) On the scalability of real-time scheduling algorithms on multicore platforms: a case study. In: Proceedings of the29th IEEE real-time systems symposium (RTSS 2008). IEEE Computer Society. pp 157–169

  • Funk S (2010) LRE-TL: an optimal multiprocessor algorithm for sporadic task sets with unconstrained deadlines. Real-Time Syst 46:332–359. ISSN 0922–6443

    Google Scholar 

  • Funk S, Levin G, Sadowski C, Pye I, Brandt S (2011) DP-Fair: a unifying theory for optimal hard real-time multiprocessor scheduling. Real-Time Syst 47:389–429. ISSN 0922–6443

  • IEEE (2003) IEEE standard for information technology—standardized application environment profile (aep)—posix realtime and embedded application support. Technical Report Std 1003.13-2003. IEEE Computer Society

  • Kim H, Cho Y (2011) A new fair scheduling algorithm for periodic tasks on multiprocessors. Inf Process Lett 111(7):301–309

    Article  MATH  MathSciNet  Google Scholar 

  • Krten R, QNX Software Systems (2012) Getting started with QNX neutrino: a guide for realtime programmers. Technical report, QNX Software Systems

  • Levin G, Funk S, Sadowski C, Pye I, Brandt S (2010) DP-Fair: a simple model for understanding optimal multiprocessor scheduling. In: Proceedings of the 22nd Euromicro conference on real-time systems (ECRTS 2010). IEEE Computer Society. Brussels, Belgium, pp 3–13

  • Lynux Works (2005) Lynxos user’s guide. lynxos release 4.0. Technical Report DOC-0453-02, Lynux Works

  • McNaughton R (1959) Scheduling with deadlines and loss functions. Manag Sci 6(1):1–12. ISSN 00251909

    Google Scholar 

  • Nelissen G, Berten V, Nélis V, Goossens J, Milojevic D (2012) U-EDF: an unfair but optimal multiprocessor scheduling algorithm for sporadic tasks. In: Proceedings of the 24th Euromicro conference on real-time systems (ECRTS 2012). IEEE Computer Society. Pisa, Italy, pp 13–23

  • Qi X, Zhu D, Aydin H (2011) Cluster scheduling for real-time systems: utilization bounds and run-time overhead. Real-Time Syst 47(3):253–284. ISSN 0922–6443. doi:10.1007/s11241-011-9121-1

  • QNX Software Systems (2012) Qnx neutrino realtime operating system: library reference. Technical report, QNX Software Systems

  • QNX Software Systems Limited (2012) Qnx neutrino realtime operating system library reference. Technical report, QNX Software Systems Limited

  • Regnier P, Lima G, Massa E, Levin G, Brandt S (2011) RUN: optimal multiprocessor real-time scheduling via reduction to uniprocessor. In: Proceedings of the 32th IEEE real-Time systems symposium (RTSS 2011). IEEE Computer Society. Vienna, Austria, pp 104–115

  • RTEMS (2012) URL http://www.rtems.org. Accessed March 2014

  • Srinivasan A, Anderson JH (2002) Optimal rate-based scheduling on multiprocessors. In: Proceedings on 34th annual ACM symposium on theory of computing (STOC 2002). ACM. Montréal, Quebec, Canada, pp 189–198. ISBN 1-58113-495-9. doi:10.1145/509907.509938

  • Srinivasan A, Anderson JH (2005) Fair scheduling of dynamic task systems on multiprocessors. J Syst Softw 77(1): 67–80, Avril 2005. ISSN 0164–1212. doi:10.1016/j.jss.2003.12.041

    Google Scholar 

  • Wind River Systems, Inc. (2011) VxWorks: Application programmer’s guide 6.9, 2nd edn. Technical report, Wind River Systems Inc.

  • Zhu D, Mossé D, Melhem R (2003) Multiple-resource periodic scheduling problem: how much fairness is necessary? In: Proceedings of the 24th IEEE international real-time systems symposium (RTSS 2003). IEEE Computer Society. Cancun, Mexico, pp 142–151. ISBN 0-7695-2044-8

  • Zhu D, Qi X, Mossé D, Melhem R (2011) An optimal boundary fair scheduling algorithm for multiprocessor real-time systems. J Parallel Distrib Comput 71(10):1411–1425. ISSN 0743–7315. doi:10.1016/j.jpdc.2011.06.003

Download references

Acknowledgments

This work was supported, in part, by US National Science Foundation CAREER Award CNS-0953005. This work was also partially supported by National Funds through FCT (Portuguese Foundation for Science and Technology) and by ERDF (European Regional Development Fund) through COMPETE (Operational Programme ’Thematic Factors of Competitiveness’), within Projects Ref. FCOMP-01-0124-FEDER-037281 (CISTER) and ref. FCOMP-01-0124-FEDER-020447 (REGAIN); by FCT and the EU ARTEMIS JU funding, within CONCERTO Project, ref. ARTEMIS/0003/2012, JU Grant No. 333053; also by ERDF (European Regional Development Fund), through ON2 - North Portugal Regional Operational Programme, under the National Strategic Reference Framework (NSRF), within project ref. NORTE-07-0124-FEDER-000063 (BEST-CASE).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Geoffrey Nelissen.

Appendix: Proof of optimality for PD\(^{2*}\)

Appendix: Proof of optimality for PD\(^{2*}\)

In this appendix, we present the updated proof of the only lemma of the proof of optimality of PD\(^2\) for the scheduling of sporadic tasks (Lemma \(6\) in Srinivasan and Anderson 2002), which is impacted by the new definition of the group deadline proposed in Sect. 7.1. For the sake of clarity, every modification to the initial proof presented in Srinivasan and Anderson (2002) is made to bolditalics in the current document. Note that Lemma \(6\) of Srinivasan and Anderson (2002) is identical to Lemma \(12\) introduced in Srinivasan and Anderson (2005) which proves the optimality of PD\(^2\) for the scheduling of dynamic task sets based on the generalized sporadic task model under some constraints. Hence, PD\(^{2*}\) is also optimal for the scheduling of dynamic task sets based on the generalized sporadic tasks model under the same constraints (the other lemmas are not impacted in Srinivasan and Anderson 2005).

Remember that in Srinivasan and Anderson (2002), the proof of optimality of PD\(^2\) is made by contradiction. Hence, they assume that there exists a task set \(\tau \) respecting some properties noted (T1), (T2) and (T3) such that a deadline is missed during the schedule \(S\) produced with PD\(^2\). The first time-instant after the beginning of the schedule corresponding to a deadline miss is denoted by \(t_d\).

Note that in the following proof, we use the notion of displacement defined in Srinivasan and Anderson (2002). A displacement is denoted by \(\Delta _i = \left\langle X^{(i)}, t_i, X^{(i+1)}, t_{i+1} \right\rangle \) and means that the subtask \(X^{(i)}\) which was initially scheduled at time \(t_i\) is now replaced by the subtask \(X^{(i+1)}\) which was scheduled at time \(t_{i+1}\). A displacement \(\Delta _i\) is therefore valid if and only if \(X^{(i+1)}\) is eligible to be scheduled at time \(t_i\) (which is denoted by \(e(X^{(i+1)}) \le t_i\)).

Lemma 10

Let \(\tau _{i,j}\) be a subtask of a light task scheduled at \(t' < pd(\tau _{i,j})\) in \(S\). If the eligibility time of the successor of \(\tau _{i,j}\) is at least \(pd(\tau _{i,j}) + 1\), then there cannot be holes in both \(pd(\tau _{i,j})\) and \(pd(\tau _{i,j}) +1\).

Proof

Note that by part (c) of Lemma 2 (in Srinivasan and Anderson 2002), \(pd(\tau _{i,j}) \le t_d\). Therefore, \(t' < t_d\). Let \(pd(\tau _{i,j}) = t\). If \(t=t_d\), then \(t\) satisfies the stated requirements because there is no holes in slot \(t_d\) (by part (d) of Lemma 2 in Srinivasan and Anderson 2002). In the rest of the proof we assume that \(t < t_d\), and hence \(t+1 \le t_d\). Suppose that there are holes in both \(t\) and \(t+1\). Because there is a hole in slot \(t\) and (from the statement of the lemma) the eligibility time of the successor of \(\tau _{i,j}\) is at least \(t+1\), by Lemma 5 (in Srinivasan and Anderson 2002), either \(pd(\tau _{i,j}) < t\) or \(pd(\tau _{i,j}) = t ~\wedge ~ {b}(\tau _{i,j}) = 1\). Because \(pd(\tau _{i,j}) = t\), the latter in fact must hold, i.e., \(pd(\tau _{i,j}) = t ~\wedge ~ {b}(\tau _{i,j}) = 1\). We now show that \(\tau _{i,j}\) can be removed without causing the missed deadline to be met, contradicting (T2) from Srinivasan and Anderson 2002. In particular, we show that the sequence of left-shifts caused by removing \(\tau _{i,j}\) does not extend beyond slot \(t+1\).

Let the chain of displacements caused by removing \(\tau _{i,j}\) be \(\Delta _1\), \(\Delta _2\), ..., \(\Delta _k\), where \(\Delta _i = \left\langle X^{(i)}, t_i, X^{(i+1)}, t_{i+1} \right\rangle \), \(X^{(1)} = \tau _{i,j}\) and \(t_1 = t'\). By Lemma 3 (in Srinivasan and Anderson 2002), we have \(t_{i+1} > t_i\) for all \(i \in [1,k]\). Also, the priority of \(X^{(i)}\) is greater than the priority of \(X^{(i+1)}\) at \(t_i\), because \(X^{(i)}\) was chosen over \(X^{(i+1)}\) in \(S\). Because \(pd(\tau _{i,j}) = t ~\wedge ~ {b}(\tau _{i,j}) = 1\), this implies the following property (from Prioritization Rules 4 presented in Sect. 7.1):

(P) For all \(i \in [1, k+1]\), (i) \(pd(X^{(i)}) > t\) or (ii) \({\varvec{pd}}({\varvec{X}}^{\varvec{(i)}}) = \varvec{t}\) and \(\varvec{b}({\varvec{X}^{\varvec{(i)}})} =\varvec{0}\) or (iii) \(\varvec{pd}(\varvec{X}^{\varvec{(i)}}) = \varvec{t}\) and \({\varvec{GD}}^{\varvec{*}}(\varvec{X}^{\varvec{(i)}}) \le \varvec{GD}^{*}(\varvec{{\tau _{i,j}})}\)

Suppose this chain of displacements extends beyond \(t+1\), i.e., \(t_{k+1} > t+1\). Let \(h\) be the smallest \(i \in [1, k+1]\) such that \(t_i > t+1\). Then, \(t_{h-1} \le t+1\).

If \(t_{h-1} < t+1\), then \(X^{(h)}\) is eligible to be scheduled in slot \(t+1\) because \(e({X^{(h)}}) \le t_{h-1}\) (by the validity of displacement \(\Delta _{h-1}\)). Because there is a hole in slot \(t+1\) in \(S\), \(X^{(h)}\) should have been scheduled there in \(S\) (which is a contradiction with the assumption that \(t_h > t+1\)). Therefore, \(t_{h-1} = t+1\) and by Lemma 4 (in Srinivasan and Anderson 2002), \(X^{(h)}\) must be a successor of \(X^{(h-1)}\). By similar reasoning, because there is a hole in slot \(t\), \(t_{h-2} = t\) and \(X^{(h-1)}\) must be the successor of \(X^{(h-2)}\) (see Figure 6(b) in Srinivasan and Anderson 2002).

By (P), either \(pd({X^{(h-2)}}) > t\) or \({\varvec{pd}}({\varvec{X}}^{({\varvec{h-2}})}) = {\varvec{t}} ~{\varvec{\wedge }}~ \varvec{b}({{\varvec{X}}^{({\varvec{h-2}})}}) = {\varvec{0}}\) or \({\varvec{pd}}({\varvec{X}}^{({\varvec{h-2}})}) = {\varvec{t}} ~{\varvec{\wedge }}~ {\varvec{GD}}^{{\varvec{*}}}({{\varvec{X}}^{({\varvec{h-2}})}}) \le {\varvec{GD}}^{*}({{\varvec{\tau }}_{{\varvec{i,j}}}})\). In either case, \({\varvec{pd}}({\varvec{X}}^{({\varvec{h-1}})}) > {\varvec{t+1}}\) or \({\varvec{pd}}({\varvec{X}}^{({\varvec{h-1}})}) = {\varvec{t+1}} ~{\varvec{\wedge }}~ \varvec{b}({{\varvec{X}}^{({\varvec{h-1}})}}) = {\varvec{0}}\). To see this, note that if \(pd(X^{(h-2)}) > t\), then because \(X^{(h-1)}\) is the successor of \(X^{(h-2)}\), by (6) in Srinivasan and Anderson (2002), \(pd(X^{(h-1)}) > t+1\). If \({\varvec{GD}}^{{\varvec{*}}}({{\varvec{X}}^{({\varvec{h-2}})}}) = {\varvec{t}}\) and \(\varvec{b}({{\varvec{X}}^{({\varvec{h-2}})}}) = {\varvec{0}}\) , then using (6) (in Srinivasan and Anderson 2002 ), it holds that \({\varvec{pd}}({\varvec{X}}^{({\varvec{h-1}})}) > {\varvec{t+1}}\) . Moreover, because \(\varvec{b}({{\varvec{\tau }}_{{\varvec{i,j}}}}) = {\varvec{1}}\) , Definition 14 yields \({\varvec{GD}}^{*}({{\varvec{\tau }}_{{\varvec{i,j}}}}) = {\varvec{pd}}({\varvec{\tau }}_{{\varvec{i,j}}}) + {\varvec{1}} = {\varvec{t+1}}\) . Hence, if \({\varvec{pd}}({\varvec{X}}^{({\varvec{h-2}})}) = {\varvec{t}}\) then \({\varvec{GD}}^{{\varvec{*}}}({{\varvec{X}}^{({\varvec{h-2}})}}) \le {\varvec{t+1}}\) . By Definition 14 , \({\varvec{GD}}^{{\varvec{*}}}({{\varvec{X}}^{({\varvec{h-2}})}}) \ge {\varvec{pd}}({\varvec{X}}^{({\varvec{h-2}})}) = {\varvec{t}}\) implying that \({\varvec{GD}}^{{\varvec{*}}}({{\varvec{X}}^{({\varvec{h-2}})}}) = {\varvec{t}}\) or \({\varvec{GD}}^{{\varvec{*}}}({{\varvec{X}}^{({\varvec{h-2}})}})={\varvec{t+1}}\) . If \({\varvec{GD}}^{{\varvec{*}}}({{\varvec{X}}^{({\varvec{h-2}})}}) = {\varvec{t}}\) then Definition 14 imposes that \(\varvec{b}({{\varvec{X}}^{({\varvec{h-2}})}}) = {\varvec{0}}\) . Therefore, using (6) (in Srinivasan and Anderson 2002 ), it holds that \({\varvec{pd}}({\varvec{X}}^{({\varvec{h-1}})}) > {\varvec{t+1}}\) . On the other hand, if \({\varvec{GD}}^{{\varvec{*}}}({{\varvec{X}}^{({\varvec{h-2}})}})={\varvec{t+1}}\) then, according to Definition 14 , either \({\varvec{GD}}^{{\varvec{*}}}({{\varvec{X}}^{({\varvec{h-2}})}})= {\varvec{pd}}({\varvec{X}}^{({\varvec{h-2}})})+{\varvec{1}} ~{\varvec{\wedge }} {\varvec{pd}}({\varvec{X}}^{({\varvec{h-1}})}) - {\varvec{pd}}({\varvec{X}}^{({\varvec{h-2}})}) \ge {\varvec{2}}\), or \({\varvec{GD}}^{{\varvec{*}}}({{\varvec{X}}^{({\varvec{h-2}})}})={\varvec{pd}}({\varvec{X}}^{({\varvec{h-1}})}) ~{\varvec{\wedge }}~ \varvec{b}({{\varvec{X}}^{({\varvec{h-1}})}}) = {\varvec{0}}\) . Hence, in all cases, \({\varvec{pd}}({\varvec{X}}^{({\varvec{h-1}})}) > {\varvec{t+1}}\) or \({\varvec{pd}}({\varvec{X}}^{({\varvec{h-1}})}) = {\varvec{t+1}} ~{\varvec{\wedge }}~ \varvec{b}({{\varvec{X}}^{({\varvec{h-1}})}}) = {\varvec{0}}\) .

Now, because \(X^{(h-1)}\) is scheduled at \(t+1\), by part (b) of Lemma 2 (in Srinivasan and Anderson 2002), the successor of \(X^{(h-1)}\) is not eligible before \(t+2\), i.e., \(e({X^{(h)}}) \ge t+2\). This implies that the displacement \(\Delta _{h-1}\) is not valid. Thus, the chain of displacements cannot extend beyond \(t+1\) and because \(t+1 \le t_d\), removing \(\tau _{i,j}\) cannot cause a missed deadline at \(t_d\) to be met. This contradicts (T2) (in Srinivasan and Anderson 2002). Therefore, there cannot be holes in both \(t\) and \(t+1\). \(\square \)

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nelissen, G., Su, H., Guo, Y. et al. An optimal boundary fair scheduling. Real-Time Syst 50, 456–508 (2014). https://doi.org/10.1007/s11241-014-9201-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-014-9201-0

Keywords

Navigation