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.
Similar content being viewed by others
Notes
The tuple defines the period, relative deadline, and worst-case execution time of the task, see Sect. 3.1.
Note that condition (43) is also necessary if tasks have implicit deadlines.
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.
We consider WF-Max partitioning because, here, it provides the highest schedulability among the proposed heuristic approaches in Sect. 7.1.
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
Baruah S, Chen D, Gorinsky S, Mok A (1999) Generalized multiframe tasks. Real-Time Syst. 17(1):5–22
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
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-017-9277-4