Skip to main content
Log in

Isolation scheduling on multicores: model and scheduling approaches

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

Abstract

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.

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

Similar content being viewed by others

Notes

  1. The tuple defines the period, relative deadline, and worst-case execution time of the task, see Sect. 3.1.

  2. Note that condition (43) is also necessary if tasks have implicit deadlines.

  3. Note that we use an adapted version of (5) where task utilizations are replaced by task densities. This adaptation is done to accommodate MC task sets with constrained deadlines.

  4. We consider WF-Max partitioning because, here, it provides the highest schedulability among the proposed heuristic approaches in Sect. 7.1.

  5. Notice e.g., the improvement in FTTS schedulability compared to the harmonic case.

References

  • Abeni L, Buttazzo G (1998) Integrating multimedia applications in hard real-time systems. In: RTSS, pp 4–13

  • Altmeyer S, Douma R, Lunniss W, Davis RI (2014) Evaluation of cache partitioning for hard real-time systems. In ECRTS, pp 15–26

  • Anderson J, Baruah S, Brandenburg B (2009) Multicore operating-system support for mixed criticality. In: Workshop on mixed criticality: roadmap to evolving UAV certification

  • ARINC (2003) ARINC 653-1 avionics application software standard interface. Technical report

  • 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–154

  • Baruah S, Burns A (2014) Achieving temporal isolation in multiprocessor mixed-criticality systems. In: WMC, pp 21–26

  • Baruah S, Burns A, Guo Z (2016) Scheduling mixed-criticality systems to guarantee some service under all non-erroneous behaviors. In: ECRTS, pp 131–138

  • Baruah S, Chattopadhyay B, Li H, Shin I (2014) Mixed-criticality scheduling on multiprocessors. Real-Time Syst. 50(1):142–177

    Article  MATH  Google Scholar 

  • Baruah S, Chen D, Gorinsky S, Mok A (1999) Generalized multiframe tasks. Real-Time Syst. 17(1):5–22

    Article  Google Scholar 

  • Baruah S, Eswaran A, Guo Z (2015) MC-fluid: simplified and optimally quantified. In: RTSS, pp 327–337

  • 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–566

  • Baruah SK, Cohen NK, Plaxton CG, Varvel DA (1993) Proportionate progress: A notion of fairness in resource allocation. In: STOC, pp 345–354

  • Bini E, Bertogna M, Baruah S (2009) Virtual multiprocessor platforms: specification and use. In: RTSS, pp 437–446

  • Burns A, Davis R (2015) Mixed criticality systems-a review

  • Burns A, Fleming T, Baruah S (2015) Cyclic executives, multi-core platforms and mixed criticality applications. In: ECRTS, pp 3–12

  • Chiou D, Jain P, Devadas S, Rudolph L (2000) Dynamic cache partitioning via columnization. In: DAC

  • 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–48

  • de Niz D, Phan LTX (2014) Partitioned scheduling of multi-modal mixed-criticality real-time systems on multiprocessor platforms. In: RTAS, pp 111–122

  • Ekberg P, Yi W (2013) Bounding and shaping the demand of generalized mixed-criticality sporadic task systems. Real-Time Syst. 50(1):48–86

    Article  MATH  Google Scholar 

  • Esmaeilzadeh H, Blem E, Amant RS, Sankaralingam K, Burger D (2011) Dark silicon and the end of multicore scaling. In: ISCA, pp 365–376

  • Fleming T, Burns A (2013) Extending mixed criticality scheduling. In: WMC, RTSS, pp 7–12

  • 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–159

  • Ford LR, Fulkerson DR (1956) Maximal flow through a network. Can J Math 8(3):399–404

    Article  MathSciNet  MATH  Google Scholar 

  • 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–72

  • Giannopoulou G, Stoimenov N, Huang P, Thiele L (2013) Scheduling of mixed-criticality applications on resource-sharing multicore systems. In: EMSOFT, pp 1–15

  • Giannopoulou G, Stoimenov N, Huang P, Thiele L (2014) Mapping mixed-criticality applications on multi-core architectures. In: DATE, pp 1–6

  • 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–449

    Article  Google Scholar 

  • Goossens J, Berten V (2010) Gang FTP scheduling of periodic and parallel rigid real-time tasks. arXiv:1006.2617

  • Goossens S, Akesson B, Goossens K (2013) Conservative open-page policy for mixed time-criticality memory controllers. In: DATE, pp 525–530

  • Gu C, Guan N, Deng Q, Yi W (2014) Partitioned mixed-criticality scheduling on multiprocessor platforms. In: DATE, pp 1–6

  • Henzinger TA, Horowitz B, Kirsch CM (200) Giotto: a time-triggered language for embedded programming. In: Embedded software, volume 2211 of LNCS, pp 166–184

  • Herter J, Backes P, Haupenthal F, Reineke J (2011) CAMA: Akim predictable cache-aware memory allocator. In: ECRTS, pp 23–32

  • Huang P, Giannopoulou G, Ahmed R, Bartolini DB, Thiele L (2015) An isolation scheduling model for multicores. In: RTSS, pp 141–152

  • Huang P, Giannopoulou G, Stoimenov N, Thiele L (2014) Service adaptions for mixed-criticality systems. In: ASP-DAC, pp 125–130

  • ISO 26262 (2011) Road vehicles—functional safety

  • Kato S, Ishikawa Y (2009) Gang EDF scheduling of parallel task systems. In: RTSS, pp 459–468

  • Kelly OR, Aydin H, Zhao B (2011) On partitioned scheduling of fixed-priority mixed-criticality task sets. In: TrustCom, pp 1051–1059

  • 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–89

  • 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–331

  • 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–12

  • Kirk D (1989) SMART (strategic memory allocation for real-time) cache design. In: RTSS, pp 229–237

  • 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–52

  • 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–13

  • 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–54

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

  • 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–1871

  • Nelder JA, Mead R (1965) A simplex method for function minimization. Comput J 7(4):308–313

    Article  MathSciNet  MATH  Google Scholar 

  • 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–68

  • 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–461

  • 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–746

  • 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–108

  • RTCA/DO-178C (2011) Software considerations in airborne systems and equipment certification

  • Rushby, J (1999) Partitioning in avionics architectures: Requirements, mechanisms, and assurance. Technical Report NASA Contractor Report CR-1999-209347, NASA Langley Research Center

  • Santy F, George L, Thierry P, Goossens J (2012) Relaxing mixed-criticality scheduling strictness for task sets scheduled with FP. In: ECRTS, pp 155–165

  • Sedgewick R, Wayne K (2007) Algorithms and data structures. Princeton University, COS 226

  • 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-Champaign

  • Shin I, Easwaran A, Lee I (2008) Hierarchical scheduling framework for virtual clustering of multiprocessors. In: ECRTS, pp 181–190

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

  • Shin I, Lee I (2004)Compositional real-time scheduling framework. In: RTSS, pp 57–67

  • Suhendra V, Mitra T (2008) Exploring locking & partitioning for predictable shared caches on multi-cores. In: DAC, pp 300–303

  • Thiele L, Chakraborty S, Naedele M (2000) Real-time calculus for scheduling hard real-time systems. In: ISCAS, vol. 4, pp 101–104

  • Tobuschat S, Axer P, Ernst R, Diemer J (2013) Idamc: a noc for mixed criticality systems. In: RTCSA, pp 149–156

  • Tămaş-Selicean D, Pop P (2015) Design optimization of mixed-criticality real-time embedded systems. In: ACM TECS, 14(3):50:1–50:29

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

  • Wandeler E, Thiele L (2005) Real-time interfaces for interface-based design of real-time systems with fixed priority scheduling. In: EMSOFT, pp 80–89

  • Wandeler E, Thiele L (2006) Optimal TDMA time slot and cycle length allocation for hard real-time systems. In: ASP-DAC, pp 479–484

  • Wandeler E, Thiele L (2006) Real-time calculus (RTC) toolbox. http://www.mpa.ethz.ch/Rtctoolbox

  • Ward BC, Herman JL, Kenna CJ, Anderson JH (2013) Making shared caches more predictable on multicore platforms. In: ECRTS, pp 157–167

  • Wu ZP, Krish Y, Pellizzoni R (2013) Worst case analysis of DRAM latency in multi-requestor systems. In: RTSS, pp 372–383

  • 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–166

  • 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–308

  • 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–247

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Georgia Giannopoulou.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Giannopoulou, G., Huang, P., Ahmed, R. et al. Isolation scheduling on multicores: model and scheduling approaches. Real-Time Syst 53, 614–667 (2017). https://doi.org/10.1007/s11241-017-9277-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-017-9277-4

Keywords

Navigation