Advertisement

Real-Time Systems

, Volume 53, Issue 5, pp 760–811 | Cite as

Mixed-criticality federated scheduling for parallel real-time tasks

  • Jing Li
  • David Ferry
  • Shaurya Ahuja
  • Kunal Agrawal
  • Christopher Gill
  • Chenyang Lu
Article
  • 222 Downloads
Part of the following topical collections:
  1. Special Issue on Mixed-Criticality, Multi-Core, and Micro-Kernels

Abstract

A mixed-criticality system comprises safety-critical and non-safety-critical tasks sharing a computational platform. Thus, different levels of assurance are required by different tasks in terms of real-time performance. As the computational demands of real-time tasks increase, tasks may require internal parallelism in order to complete within stringent deadlines. In this paper, we consider the problem of mixed-criticality scheduling of parallel real-time tasks and propose a novel mixed-criticality federated scheduling (MCFS) algorithm for parallel tasks modeled by a directed acyclic graph. MCFS is based on federated intuition for scheduling parallel real-time tasks. It strategically assigns cores and virtual deadlines to tasks to achieve good schedulability. For high-utilization tasks (utilization \(\ge \)1), we prove that MCFS provides a capacity augmentation bound of \(2+\sqrt{2}\) and \((5+\sqrt{5})/2\) for dual- and multi-criticality, respectively. We show that MCFS has a capacity augmentation bound of \(11m/(3m-3)\) for dual-criticality systems with both high- and low-utilization tasks. For high-utilization tasks, we further provide a MCFS-Improve algorithm that has the same bound but can admit many more task sets in practice. Results of numerical experiments show that MCFS-Improve significantly improves over MCFS for many different workload settings. We also present an implementation of a MCFS runtime system in Linux that supports parallel programs written in OpenMP. Our implementation provides graceful degradation and recovery features. We conduct empirical experiments to demonstrate the practicality of our MCFS approach.

Keywords

Mixed-criticality federated scheduling Capacity augmentation bound Mixed-criticality real-time system Parallel real-time tasks 

Notes

Acknowledgements

This research was supported by NSF Grants CCF-1136073, CCF-1337218, and CNS-1329861.

References

  1. Andersson B, de Niz D (2012) Analyzing global-edf for multiprocessor scheduling of parallel tasks. In: International conference on principles of distributed systems. Springer, Berlin, pp 16–30Google Scholar
  2. Baruah S (2012a) Certification-cognizant scheduling of tasks with pessimistic frequency specification. In: IEEE international symposium on industrial embedded systems (SIES), pp 31–38Google Scholar
  3. Baruah S (2012b) Semantics-preserving implementation of multirate mixed-criticality synchronous programs. In: 20th international conference on real-time and network systems (RTNS), pp 11–19Google Scholar
  4. Baruah S (2016a) The federated scheduling of systems of mixed-criticality sporadic dag tasks. In: IEEE real-time systems symposium (RTSS), pp 227–236Google Scholar
  5. Baruah S (2016b) Schedulability analysis for a general model of mixed-criticality recurrent real-time tasks. In: IEEE real-time systems symposium (RTSS), pp 25–34Google Scholar
  6. Baruah S, Li H, Stougie L (2010) Towards the design of certifiable mixed-criticality systems. In: 16th IEEE real-time and embedded technology and applications symposium (RTAS), pp 13–22Google Scholar
  7. Baruah S, Burns A, Davis R (2011) Response-time analysis for mixed criticality systems. In: 32nd IEEE real-time systems symposium (RTSS), pp 34–43Google Scholar
  8. Baruah S, Bonifaci V, D’Angelo G, Li H, Marchetti-Spaccamela A, Van Der Ster S, Stougie L (2012a) The preemptive uniprocessor scheduling of mixed-criticality implicit-deadline sporadic task systems. In: 24th Euromicro conference on real-time systems (ECRTS), pp 145–154Google Scholar
  9. Baruah SK, Bonifaci V, Marchetti-Spaccamela A, Stougie L, Wiese A (2012b) A generalized parallel task model for recurrent real-time processes. In: 33rd IEEE real-time systems symposium (RTSS), pp 63–72Google Scholar
  10. Baruah S, Chattopadhyay B, Li H, Shin I (2014) Mixed-criticality scheduling on multiprocessors. R Time Syst 50(1):142–177CrossRefzbMATHGoogle Scholar
  11. Baruah S, Eswaran A, Guo Z (2015) Mc-fluid: simplified and optimally quantified. In: IEEE real-time systems symposium (RTSS), pp 327–337Google Scholar
  12. Bonifaci V, Marchetti-Spaccamela A, Stiller S, Wiese A (2013) Feasibility analysis in the sporadic dag task model. In: 25th Euromicro conference on real-time systems (ECRTS), pp 225–233Google Scholar
  13. Burns A, Davis R (2016) Mixed criticality systems: a review. University of York, Tech Rep, Department of Computer ScienceGoogle Scholar
  14. Chwa HS, Lee J, Phan KM, Easwaran A, Shin I (2013) Global edf schedulability analysis for synchronous parallel tasks on multicore platforms. In: 25th Euromicro conference on real-time systems (ECRTS), pp 25–34Google Scholar
  15. Collette S, Cucu L, Goossens J (2008) Integrating job parallelism in real-time scheduling theory. Inf Process Lett 106(5):180–187MathSciNetCrossRefzbMATHGoogle Scholar
  16. Davis RI, Burns A (2011) A survey of hard real-time scheduling for multiprocessor systems. ACM Comput Surv 43(4):35CrossRefzbMATHGoogle Scholar
  17. de Niz D, Phan LT (2014) Partitioned scheduling of multi-modal mixed-criticality real-time systems on multiprocessor platforms. In: 20th IEEE real-time and embedded technology and applications symposium (RTAS), pp 111–122Google Scholar
  18. Dhall SK, Liu C (1978) On a real-time scheduling problem. Oper Res 26(1):127–140MathSciNetCrossRefzbMATHGoogle Scholar
  19. Easwaran A (2013) Demand-based scheduling of mixed-criticality sporadic tasks on one processor. In: 34th IEEE real-time systems symposium (RTSS), pp 78–87Google Scholar
  20. Ekberg P, Yi W (2014) Bounding and shaping the demand of generalized mixed-criticality sporadic task systems. R Time Syst 50(1):48–86CrossRefzbMATHGoogle Scholar
  21. Ferry D, Bunting G, Maghareh A, Prakash A, Dyke S, Agrawal K, Gill C, Lu C (2014) Real-time system support for hybrid structural simulation. In: 14th international conference on embedded software (EMSOFT), p 25Google Scholar
  22. Gu X, Easwaran A, Phan KM, Shin I (2015) Resource efficient isolation mechanisms in mixed-criticality scheduling. In: 27th Euromicro conference on real-time systems (ECRTS), pp 13–24Google Scholar
  23. Guan N, Ekberg P, Stigge M, Yi W (2011) Effective and efficient scheduling of certifiable mixed-criticality sporadic task systems. In: 32nd IEEE real-time systems symposium (RTSS), pp 13–23Google Scholar
  24. Kato S, Ishikawa Y (2009) Gang edf scheduling of parallel task systems. In: 30th IEEE real-time systems symposium (RTSS), pp 459–468Google Scholar
  25. Kim J, Kim H, Lakshmanan K, Rajkumar RR (2013) Parallel scheduling for cyber-physical systems: Analysis and case study on a self-driving car. In: 4th international conference on cyber-physical systems (ICCPS), pp 31–40Google Scholar
  26. Lakshmanan K, Kato S, Rajkumar R (2010) Scheduling parallel real-time tasks on multi-core processors. In: 31st IEEE real-time systems symposium (RTSS), pp 259–268Google Scholar
  27. Lakshmanan K, de Niz D, Rajkumar R (2011) Mixed-criticality task synchronization in zero-slack scheduling. In: 17th IEEE real-time and embedded technology and applications symposium (RTAS), pp 47–56Google Scholar
  28. Lee WY, Heejo L (2006) Optimal scheduling for real-time parallel tasks. IEICE Trans Inf Syst 89(6):1962–1966CrossRefGoogle Scholar
  29. Lee J, Phan KM, Gu X, Lee J, Easwaran A, Shin I, Lee I (2014) Mc-fluid: fluid model-based mixed-criticality scheduling on multiprocessors. In: IEEE real-time systems symposium (RTSS), pp 41–52Google Scholar
  30. Li J, Agrawal K, Lu C, Gill C (2013) Analysis of global edf for parallel tasks. In: 25th Euromicro conference on real-time systems (ECRTS), pp 3–13Google Scholar
  31. Li J, Chen JJ, Agrawal K, CLu, Gill C, Saifullah A (2014) Analysis of federated and global scheduling for parallel real-time tasks. In: 26th Euromicro conference on real-time systems (ECRTS), pp 85–96Google Scholar
  32. Li J, Ferry D, Ahuja S, Agrawal K, Gill C, Lu C (2016) A real-time scheduling service for parallel tasks. In: IEEE real-time and embedded technology and applications symposium (RTAS), pp 1–12Google Scholar
  33. Liu C, Anderson J (2012) Supporting soft real-time parallel applications on multicore processors. In: IEEE 18th international conference on embedded and real-time computing systems and applications (RTCSA), pp 114–123Google Scholar
  34. Liu G, Lu Y, Wang S, Gu Z (2014) Partitioned multiprocessor scheduling of mixed-criticality parallel jobs. In: IEEE 20th international conference on embedded and real-time computing systems and applications (RTCSA), pp 1–10Google Scholar
  35. Liu D, Spasic J, Chen G, Guan N, Liu S, Stefanov T, Yi W (2016) Edf-vd scheduling of mixed-criticality systems with degraded quality guarantees. In: IEEE real-time systems symposium (RTSS), pp 35–46Google Scholar
  36. Manimaran G, Murthy CSR, Ramamritham K (1998) A new approach for scheduling of parallelizable tasks in real-time multiprocessor systems. R Time Syst 15(1):39–60CrossRefGoogle Scholar
  37. Nelissen G, Berten V, Goossens J, Milojevic D (2012) Techniques optimizing the number of processors to schedule multi-threaded tasks. In: 24th Euromicro conference on real-time systems (ECRTS), pp 321–330Google Scholar
  38. OpenMP (2013) OpenMP application program interface v4.0. http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf
  39. Pathan RM (2012) Schedulability analysis of mixed-criticality systems on multiprocessors. In: 24th Euromicro conference on real-time systems (ECRTS), pp 309–320Google Scholar
  40. Pellizzoni R, Meredith P, Nam MY, Sun M, Caccamo M, Sha L (2009) Handling mixed-criticality in soc-based real-time embedded systems. In: 7th ACM international conference on embedded software (EMSOFT), pp 235–244Google Scholar
  41. Saifullah A, Li J, Agrawal K, Lu C, Gill C (2013) Multi-core real-time scheduling for generalized parallel task models. R Time Syst 49(4):404–435CrossRefzbMATHGoogle Scholar
  42. Socci D, Poplavko P, Bensalem S, Bozga M (2013) Mixed critical earliest deadline first. In: 25th Euromicro conference on real-time systems (ECRTS), pp 93–102Google Scholar
  43. Su H, Guan N, Zhu D (2014) Service guarantee exploration for mixed-criticality systems. In: IEEE 20th international conference on embedded and real-time computing systems and applications (RTCSA), pp 1–10Google Scholar
  44. Vestal S (2007) Preemptive scheduling of multi-criticality systems with varying degrees of execution time assurance. In: 28th IEEE real-time systems symposium (RTSS), pp 239–243Google Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  • Jing Li
    • 1
  • David Ferry
    • 1
  • Shaurya Ahuja
    • 1
  • Kunal Agrawal
    • 1
  • Christopher Gill
    • 1
  • Chenyang Lu
    • 1
  1. 1.Department of Computer Science and EngineeringWashington University in St. LouisSaint LouisUSA

Personalised recommendations