Real-Time Systems

, Volume 53, Issue 4, pp 614–667 | Cite as

Isolation scheduling on multicores: model and scheduling approaches

  • Georgia GiannopoulouEmail author
  • Pengcheng Huang
  • Rehan Ahmed
  • Davide B. Bartolini
  • Lothar Thiele


Deploying real-time applications on multicores is challenging because tasks that are executed concurrently on different cores can interfere on shared resources, severely complicating worst-case timing analysis. To tackle this challenge, we propose a new scheduling model called isolation scheduling (IS): IS provides a framework to exploit multicores for real-time applications where tasks are grouped into classes. IS enforces mutually exclusive execution among different task classes, thus eliminating inter-class interference by construction. We assume that interference due to the statefulness of shared resources is either negligible or accounted for in the worst-case execution time of tasks. Mixed-criticality systems provide an example where IS is applicable. We propose and analyze two novel approaches for isolation scheduling: a global approach based on fluid scheduling and a partitioned approach based on hierarchical server scheduling, each with extensions to mixed-criticality applications. Through extensive simulations, we compare the two approaches in terms of schedulability and runtime overheads and quantify the schedulability loss due to the isolation constraint. Moreover, we conduct a comparative study among state-of-the-art approaches that comply with our IS model, showing that the new approaches can significantly outperform existing ones in terms of schedulability.


Multicore Real-time scheduling Isolation Mixed-criticality scheduling Separation Schedulability analysis 


  1. Abeni L, Buttazzo G (1998) Integrating multimedia applications in hard real-time systems. In: RTSS, pp 4–13Google Scholar
  2. Altmeyer S, Douma R, Lunniss W, Davis RI (2014) Evaluation of cache partitioning for hard real-time systems. In ECRTS, pp 15–26Google Scholar
  3. Anderson J, Baruah S, Brandenburg B (2009) Multicore operating-system support for mixed criticality. In: Workshop on mixed criticality: roadmap to evolving UAV certificationGoogle Scholar
  4. ARINC (2003) ARINC 653-1 avionics application software standard interface. Technical reportGoogle Scholar
  5. Baruah S, Bonifaci V, D’Angelo G, Li H, Marchetti-Spaccamela A, van der Ster S, Stougie L (2012) The preemptive uniprocessor scheduling of mixed-criticality implicit-deadline sporadic task systems. In: ECRTS, pp 145–154Google Scholar
  6. Baruah S, Burns A (2014) Achieving temporal isolation in multiprocessor mixed-criticality systems. In: WMC, pp 21–26Google Scholar
  7. Baruah S, Burns A, Guo Z (2016) Scheduling mixed-criticality systems to guarantee some service under all non-erroneous behaviors. In: ECRTS, pp 131–138Google Scholar
  8. Baruah S, Chattopadhyay B, Li H, Shin I (2014) Mixed-criticality scheduling on multiprocessors. Real-Time Syst. 50(1):142–177CrossRefzbMATHGoogle Scholar
  9. Baruah S, Chen D, Gorinsky S, Mok A (1999) Generalized multiframe tasks. Real-Time Syst. 17(1):5–22CrossRefGoogle Scholar
  10. Baruah S, Eswaran A, Guo Z (2015) MC-fluid: simplified and optimally quantified. In: RTSS, pp 327–337Google Scholar
  11. Baruah SK, Bonifaci V, DAngelo G, Marchetti-Spaccamela A, Van Der Ster S, Stougie L (2011) Mixed-criticality scheduling of sporadic task systems. In: European symposium on algorithms, Springer, Berlin, pp 555–566Google Scholar
  12. Baruah SK, Cohen NK, Plaxton CG, Varvel DA (1993) Proportionate progress: A notion of fairness in resource allocation. In: STOC, pp 345–354Google Scholar
  13. Bini E, Bertogna M, Baruah S (2009) Virtual multiprocessor platforms: specification and use. In: RTSS, pp 437–446Google Scholar
  14. Burns A, Davis R (2015) Mixed criticality systems-a reviewGoogle Scholar
  15. Burns A, Fleming T, Baruah S (2015) Cyclic executives, multi-core platforms and mixed criticality applications. In: ECRTS, pp 3–12Google Scholar
  16. Chiou D, Jain P, Devadas S, Rudolph L (2000) Dynamic cache partitioning via columnization. In: DACGoogle Scholar
  17. Dasari D, Akesson B, NTlis V, Awan MA, Petters SM (2013) Identifying the sources of unpredictability in COTS-based multicore systems. In: SIES, pp 39–48Google Scholar
  18. de Niz D, Phan LTX (2014) Partitioned scheduling of multi-modal mixed-criticality real-time systems on multiprocessor platforms. In: RTAS, pp 111–122Google Scholar
  19. Ekberg P, Yi W (2013) Bounding and shaping the demand of generalized mixed-criticality sporadic task systems. Real-Time Syst. 50(1):48–86CrossRefzbMATHGoogle Scholar
  20. Esmaeilzadeh H, Blem E, Amant RS, Sankaralingam K, Burger D (2011) Dark silicon and the end of multicore scaling. In: ISCA, pp 365–376Google Scholar
  21. Fleming T, Burns A (2013) Extending mixed criticality scheduling. In: WMC, RTSS, pp 7–12Google Scholar
  22. Flodin J, Lampka K, Yi W (2014) Dynamic budgeting for settling DRAM contention of co-running hard and soft real-time tasks. In: SIES, pp 151–159Google Scholar
  23. Ford LR, Fulkerson DR (1956) Maximal flow through a network. Can J Math 8(3):399–404MathSciNetCrossRefzbMATHGoogle Scholar
  24. Giannopoulou G, Lampka K, Stoimenov N, Thiele L (2012) Timed model checking with abstractions: towards worst-case response time analysis in resource-sharing manycore systems. In: EMSOFT, pp 63–72Google Scholar
  25. Giannopoulou G, Stoimenov N, Huang P, Thiele L (2013) Scheduling of mixed-criticality applications on resource-sharing multicore systems. In: EMSOFT, pp 1–15Google Scholar
  26. Giannopoulou G, Stoimenov N, Huang P, Thiele L (2014) Mapping mixed-criticality applications on multi-core architectures. In: DATE, pp 1–6Google Scholar
  27. Giannopoulou G, Stoimenov N, Huang P, Thiele L, de Dinechin BD (2016) Mixed-criticality scheduling on cluster-based manycores with shared communication and storage resources. Real-Time Syst 52(4):399–449CrossRefGoogle Scholar
  28. Goossens J, Berten V (2010) Gang FTP scheduling of periodic and parallel rigid real-time tasks. arXiv:1006.2617
  29. Goossens S, Akesson B, Goossens K (2013) Conservative open-page policy for mixed time-criticality memory controllers. In: DATE, pp 525–530Google Scholar
  30. Gu C, Guan N, Deng Q, Yi W (2014) Partitioned mixed-criticality scheduling on multiprocessor platforms. In: DATE, pp 1–6Google Scholar
  31. Henzinger TA, Horowitz B, Kirsch CM (200) Giotto: a time-triggered language for embedded programming. In: Embedded software, volume 2211 of LNCS, pp 166–184Google Scholar
  32. Herter J, Backes P, Haupenthal F, Reineke J (2011) CAMA: Akim predictable cache-aware memory allocator. In: ECRTS, pp 23–32Google Scholar
  33. Huang P, Giannopoulou G, Ahmed R, Bartolini DB, Thiele L (2015) An isolation scheduling model for multicores. In: RTSS, pp 141–152Google Scholar
  34. Huang P, Giannopoulou G, Stoimenov N, Thiele L (2014) Service adaptions for mixed-criticality systems. In: ASP-DAC, pp 125–130Google Scholar
  35. ISO 26262 (2011) Road vehicles—functional safetyGoogle Scholar
  36. Kato S, Ishikawa Y (2009) Gang EDF scheduling of parallel task systems. In: RTSS, pp 459–468Google Scholar
  37. Kelly OR, Aydin H, Zhao B (2011) On partitioned scheduling of fixed-priority mixed-criticality task sets. In: TrustCom, pp 1051–1059Google Scholar
  38. Kim H, Kandhalu A, Rajkumar R (2013) A coordinated approach for practical OS-level cache management in multi-core real-time systems. In: ECRTS, pp 80–89Google Scholar
  39. Kim JE, Yoon MK, Bradford R, Sha L (2014) Integrated modular avionics (IMA) partition scheduling with conflict-free I/O for multicore avionics systems. In: COMPSAC, pp 321–331Google Scholar
  40. Kim N, Ward BC, Chisholm M, Fu CY, et al. (2016) Attacking the one-out-of-m multicore problem by combining hardware management with mixed-criticality provisioning. In: RTAS, pp 1–12Google Scholar
  41. Kirk D (1989) SMART (strategic memory allocation for real-time) cache design. In: RTSS, pp 229–237Google Scholar
  42. 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: RTSS, pp 41–52Google Scholar
  43. Levin G, Funk S, Sadowski C, Pye I, Brandt S (2010) DP-FAIR: a simple model for understanding optimal multiprocessor scheduling. In: ECRTS, pp 3–13Google Scholar
  44. Mancuso R, Dudko R, Betti E, Cesati M, Caccamo M, Pellizzoni R (2013) Real-time cache management framework for multi-core architectures. In: RTAS, pp 45–54Google Scholar
  45. Mok AK, Feng X, Chen D (2001) Resource partition for real-time systems. In: RTAS, pp 75–84Google Scholar
  46. Mollison M, Erickson J, Anderson J, Baruah S, Scoredos J et al. (2010) Mixed-criticality real-time scheduling for multicore systems. In: ICCIT, pp 1864–1871Google Scholar
  47. Nelder JA, Mead R (1965) A simplex method for function minimization. Comput J 7(4):308–313MathSciNetCrossRefzbMATHGoogle Scholar
  48. Paolieri M, Quiñones E, Cazorla FJ, Bernat G, Valero M (2009) Hardware support for WCET analysis of hard real-time multicore systems. In: ISCA, pp 57–68Google Scholar
  49. Paulitsch M, Duarte OM, Karray H, Mueller K, Muench D, Nowotsch J (2015) Mixed-criticality embedded systems—a balance ensuring partitioning and performance. In: DSD, pp 453–461Google Scholar
  50. Pellizzoni R, Schranzhofer A, Chen JJ, Caccamo M, Thiele L (2010) Worst case delay analysis for memory interference in multicore systems. In: DATE, Dresden, Germany, pp 741–746Google Scholar
  51. Reineke J, Liu I, Patel HD, Kim S, Lee EA (2011) PRET DRAM controller: bank privatization for predictability and temporal isolation. In; CODES+ISSS, pp 99–108Google Scholar
  52. RTCA/DO-178C (2011) Software considerations in airborne systems and equipment certificationGoogle Scholar
  53. Rushby, J (1999) Partitioning in avionics architectures: Requirements, mechanisms, and assurance. Technical Report NASA Contractor Report CR-1999-209347, NASA Langley Research CenterGoogle Scholar
  54. Santy F, George L, Thierry P, Goossens J (2012) Relaxing mixed-criticality scheduling strictness for task sets scheduled with FP. In: ECRTS, pp 155–165Google Scholar
  55. Sedgewick R, Wayne K (2007) Algorithms and data structures. Princeton University, COS 226Google Scholar
  56. Sha L, Caccamo M, Mancuso R, Kim JE, Yoon MK, Pellizzoni R, Yun H et al. (2014) Single core equivalent virtual machines for hard real-time computing on multicore processors. Technical report, University of Illinois at Urbana-ChampaignGoogle Scholar
  57. Shin I, Easwaran A, Lee I (2008) Hierarchical scheduling framework for virtual clustering of multiprocessors. In: ECRTS, pp 181–190Google Scholar
  58. Shin I, Lee I (2003) Periodic resource model for compositional real-time guarantees. In: RTSS, pp 2–13Google Scholar
  59. Shin I, Lee I (2004)Compositional real-time scheduling framework. In: RTSS, pp 57–67Google Scholar
  60. Suhendra V, Mitra T (2008) Exploring locking & partitioning for predictable shared caches on multi-cores. In: DAC, pp 300–303Google Scholar
  61. Thiele L, Chakraborty S, Naedele M (2000) Real-time calculus for scheduling hard real-time systems. In: ISCAS, vol. 4, pp 101–104Google Scholar
  62. Tobuschat S, Axer P, Ernst R, Diemer J (2013) Idamc: a noc for mixed criticality systems. In: RTCSA, pp 149–156Google Scholar
  63. Tămaş-Selicean D, Pop P (2015) Design optimization of mixed-criticality real-time embedded systems. In: ACM TECS, 14(3):50:1–50:29Google Scholar
  64. Vestal S (2007) Preemptive scheduling of multi-criticality systems with varying degrees of execution time assurance. In: RTSS, pp 239–243Google Scholar
  65. Wandeler E, Thiele L (2005) Real-time interfaces for interface-based design of real-time systems with fixed priority scheduling. In: EMSOFT, pp 80–89Google Scholar
  66. Wandeler E, Thiele L (2006) Optimal TDMA time slot and cycle length allocation for hard real-time systems. In: ASP-DAC, pp 479–484Google Scholar
  67. Wandeler E, Thiele L (2006) Real-time calculus (RTC) toolbox.
  68. Ward BC, Herman JL, Kenna CJ, Anderson JH (2013) Making shared caches more predictable on multicore platforms. In: ECRTS, pp 157–167Google Scholar
  69. Wu ZP, Krish Y, Pellizzoni R (2013) Worst case analysis of DRAM latency in multi-requestor systems. In: RTSS, pp 372–383Google Scholar
  70. Yun H, Mancuso R, Wu ZP, Pellizzoni R (2014) PALLOC: DRAM bank-aware memory allocator for performance isolation on multicore platforms. In: RTAS, pp 155–166Google Scholar
  71. Yun H, Yao G, Pellizzoni R, Caccamo M, Sha L (2012) Memory access control in multiprocessor for real-time systems with mixed criticality. In: ECRTS, pp 299–308Google Scholar
  72. Zhang Y, Franke H, Moreira J, Sivasubramaniam A (2003) An integrated approach to parallel scheduling using gang-scheduling, backfilling, and migration. IEEE Trans Parallel Distrib Syst 14(3):236–247CrossRefzbMATHGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  1. 1.Computer Engineering and Communication Networks LaboratoryETH ZurichZurichSwitzerland
  2. 2.Oracle Software (Schweiz)Baden-DättwilSwitzerland

Personalised recommendations