Skip to main content
Log in

Bounding and shaping the demand of generalized mixed-criticality sporadic task systems

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

Abstract

We generalize the commonly used mixed-criticality sporadic task model to let all task parameters (execution-time, deadline and period) change between criticality modes. In addition, new tasks may be added in higher criticality modes and the modes may be arranged using any directed acyclic graph, where the nodes represent the different criticality modes and the edges the possible mode switches. We formulate demand bound functions for mixed-criticality sporadic tasks and use these to determine EDF-schedulability. Tasks have different demand bound functions for each criticality mode. We show how to shift execution demand between different criticality modes by tuning the relative deadlines. This allows us to shape the demand characteristics of each task. We propose efficient algorithms for tuning all relative deadlines of a task set in order to shape the total demand to the available supply of the computing platform. Experiments indicate that this approach is successful in practice. This new approach has the added benefit of supporting hierarchical scheduling frameworks.

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
Algorithm 1
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Algorithm 2
Algorithm 3
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. The cited works differ in the assumption of implicit, constrained or arbitrary deadlines.

  2. One could easily find a time point where it is safe to switch back, e.g., at any time the system is idle, but it is out of scope of this paper.

  3. A small technical issue is that the bound by Baruah et al. (1990) is dependent on the relative deadlines of tasks, which are changed by Algorithm 1. The issue is easily avoided by using the largest bound generated with any of the possible relative deadlines that may be assigned (this is simply D i (lo)=C i (lo) for all τ i hi(τ)). An even easier solution is to use an alternative bound that is independent of relative deadlines, e.g., the one described by Stigge et al. (2011).

  4. If the behavior is not valid in any criticality mode that the system can switch to either, the system is considered erroneous.

  5. In practice, a preprocessing step can just set D i (m)←D i (m′) if D i (m)>D i (m′) in such a case. The purpose of the non-decreasing deadline invariant is not to restrict the expressiveness of the task model, but to increase the conciseness of the schedulability analysis by removing cases that can trivially be seen to not lead to schedulability.

  6. This is not an issue that can be avoided. Some knowledge about a system’s behavior prior to entering a new criticality mode must be assumed in order to provide any usable bound at all.

  7. A similar evaluation performed in a preliminary version of this paper (Ekberg and Yi 2012) used the original test for EDF-VD (Baruah et al. 2011a). Here we use the improved test (Baruah et al. 2012b).

  8. The reason we use a maximum utilization of 0.99 instead of 1 is to be able to use a pseudo-polynomial upper bound max for Algorithm 1 instead of the hyperperiod, as described in Sect. 4.1. This speeds up the run-time of the experiments significantly, which is needed as several million task sets are analyzed in total.

  9. Note that we interpret mod as positive remainder: \(a \bmod b = a - \lfloor\frac{a}{b} \rfloor \cdot b\).

References

  • Audsley NC (2001) On priority assignment in fixed priority scheduling. Inf Process Lett 79(1):39–44

    Article  MATH  Google Scholar 

  • Baruah S (2012) Certification-cognizant scheduling of tasks with pessimistic frequency specification. In: SIES, pp 31–38

    Google Scholar 

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

    Google Scholar 

  • Baruah S, Li H, Stougie L (2010) Towards the design of certifiable mixed-criticality systems. In: RTAS, pp 13–22

    Google Scholar 

  • Baruah S, Bonifaci V, D’Angelo G, Marchetti-Spaccamela A, van der Ster S, Stougie L (2011a) Mixed-criticality scheduling of sporadic task systems. In: ESA, pp 555–566

    Google Scholar 

  • Baruah S, Burns A, Davis R (2011b) Response-time analysis for mixed criticality systems. In: RTSS, pp 34–43

    Google Scholar 

  • Baruah S, Bonifaci V, D’Angelo G, Li H, Marchetti-Spaccamela A, Megow N, Stougie L (2012a) Scheduling real-time mixed-criticality jobs. IEEE Trans Comput 61(8):1140–1152

    Article  MathSciNet  Google Scholar 

  • Baruah S, Bonifaci V, D’Angelo G, Li H, Marchetti-Spaccamela A, van der Ster S, Stougie L (2012b) The preemptive uniprocessor scheduling of mixed-criticality implicit-deadline sporadic task systems. In: ECRTS, pp 145–154

    Google Scholar 

  • Bastoni A, Brandenburg B, Anderson J (2010) Cache-related preemption and migration delays: empirical approximation and impact on schedulability. In: OSPERT, pp 33–44

    Google Scholar 

  • Buttazzo GC (2005) Rate monotonic vs. EDF: judgment day. Real-Time Syst 29(1):5–26

    Article  MATH  Google Scholar 

  • Ekberg P, Yi W (2012) Bounding and shaping the demand of mixed-criticality sporadic tasks. In: ECRTS, pp 135–144

    Google Scholar 

  • Guan N, Ekberg P, Stigge M, Yi W (2011) Effective and efficient scheduling of certifiable mixed-criticality sporadic task systems. In: RTSS, pp 13–23

    Google Scholar 

  • Li H, Baruah S (2010) An algorithm for scheduling certifiable mixed-criticality sporadic task systems. In: RTSS, pp 183–192

    Google Scholar 

  • Li H, Baruah S (2012) Global mixed-criticality scheduling on multiprocessors. In: ECRTS, pp 166–175

    Google Scholar 

  • Mok A (1983) Fundamental design problems of distributed systems for the hard real-time environment. Technical report, Cambridge, MA, USA

  • Mok A, Feng X, Chen D (2001) Resource partition for real-time systems. In: RTAS, pp 75–84

    Google Scholar 

  • Pathan R (2012) Schedulability analysis of mixed-criticality systems on multiprocessors. In: ECRTS, pp 309–320

    Google Scholar 

  • Real J, Crespo A (2004) Mode change protocols for real-time systems: a survey and a new proposal. Real-Time Syst 26(2):161–197

    Article  MATH  Google Scholar 

  • Shin I, Lee I (2003) Periodic resource model for compositional real-time guarantees. In: RTSS, pp 2–13

    Google Scholar 

  • Stigge M, Ekberg P, Guan N, Yi W (2011) The digraph real-time task model. In: RTAS, pp 71–80

    Google Scholar 

  • Vestal S (2007) Preemptive scheduling of multi-criticality systems with varying degrees of execution time assurance. In: RTSS, pp 239–243

    Google Scholar 

Download references

Acknowledgements

This work was supported in part by the Swedish Research Council within the UPMARC Linnaeus centre of Excellence. We would like to thank the anonymous reviewers for their helpful and insightful comments, due to which the quality of this paper has been greatly improved.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pontus Ekberg.

Appendix: Proof of Lemma 2

Appendix: Proof of Lemma 2

Before proving Lemma 2, we reformulate the function done hi (τ i ,) from Sect. 3.3 as

and show that it is an equivalent definition:

Lemma 4

$$ \operatorname{done^*\!}(\tau_{i}, \ell) = \mathrm{done}_{\textsc{hi}}( \tau_{i}, \ell). $$

Proof

We split the proof into three cases.

First case (D i (hi)>modT i D i (hi)−D i (lo)): From modT i D i (hi)−D i (lo) we know that

(9)

With (9) we can rewrite \(\operatorname{done^{*}\!}(\tau_{i}, \ell)\) as

Second case (D i (hi)≤modT i ): From D i (hi)≤modT i the equality (9) follows again. We can rewrite \(\operatorname{done^{*}\!}(\tau_{i}, \ell)\):

We have C i (lo)≤D i (lo) and D i (hi)≤modT i . Therefore,

$$ \bigl(C_{i}({\textsc{lo}}) - D_{i}({\textsc{lo}})\bigr) + \bigl(D_{i}({\textsc {hi}}) - \ell\bmod T_{i}\bigr) \leq0 $$

and

$$ \operatorname{done^*\!}(\tau_{i}, \ell) = 0 = \mathrm{done}_{\textsc{hi}}(\tau _{i}, \ell). $$

Third case (modT i <D i (hi)−D i (lo)): From modT i <D i (hi)−D i (lo) and from C i (lo)≤D i (lo)≤D i (hi)≤T i we haveFootnote 9

$$\begin{aligned} \bigl(\ell- \bigl(D_{i}({\textsc{hi}}) - D_{i}({ \textsc{lo}})\bigr)\bigr) \bmod T_{i} =& T_{i} - \bigl(D_{i}({\textsc{hi}}) - D_{i}({\textsc{lo}})\bigr) + (\ell\bmod T_{i}) \\\geq& T_{i} - \bigl(D_{i}({\textsc{hi}}) - D_{i}({\textsc{lo}})\bigr) \\\geq& D_{i}({\textsc{lo}})\\\geq& C_{i}({\textsc{lo}}). \end{aligned}$$

Therefore,

$$ C_{i}({\textsc{lo}}) - \bigl(\bigl(\ell- \bigl(D_{i}({ \textsc{hi}}) - D_{i}({\textsc{lo}})\bigr)\bigr) \bmod T_{i} \bigr) \leq0 $$

and

$$ \operatorname{done^*\!}(\tau_{i}, \ell) = 0 = \mathrm{done}_{\textsc{hi}}(\tau _{i}, \ell). $$

 □

We can now prove Lemma 2.

Proof of Lemma 2

The lemma follows from straightforward substitutions, first:

To show the dbf hi part, we consider full hi and done hi separately:

We use Lemma 4 for \(\mathrm{done}_{\textsc{hi}}(\tau _{i}, \ell) = \operatorname{done^{*}\!}(\tau_{i}, \ell)\):

The dbf hi part follows directly:

$$\begin{aligned} \mathrm{dbf}_{\textsc{hi}}(\tau_{i}, \ell) =& \mathrm {full}_{\textsc{hi}}(\tau_{i}, \ell) - \mathrm{done}_{\textsc {hi}}( \tau_{i}, \ell) \\=& \mathrm{full}_{\textsc{hi}}(\tau_{j}, \ell- \delta) - \mathrm {done}_{\textsc{hi}}(\tau_{j}, \ell- \delta) \\=& \mathrm{dbf}_{\textsc{hi}}(\tau_{j}, \ell- \delta). \end{aligned}$$

 □

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ekberg, P., Yi, W. Bounding and shaping the demand of generalized mixed-criticality sporadic task systems. Real-Time Syst 50, 48–86 (2014). https://doi.org/10.1007/s11241-013-9187-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-013-9187-z

Keywords

Navigation