Skip to main content
Log in

Implementation and evaluation of global and partitioned scheduling in a real-time OS

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

Abstract

In this work, we provide an experimental comparison between Global-EDF and Partitioned-EDF, considering the run-time overhead of a real-time operating system (RTOS). Recent works have confirmed that OS implementation aspects, such as the choice of scheduling data structures and interrupt handling mechanisms, impact real-time schedulability as much as scheduling theoretic aspects. However, these studies used real-time patches applied into a general-purpose OS. By measuring the run-time overhead of an RTOS designed from scratch, we show how close the schedulability ratio of task sets is to the theoretical hard real-time schedulability tests. Moreover, we show how a well-designed object-oriented RTOS allows code reuse of scheduling components (e.g., thread, scheduling criteria, and schedulers) and easy real-time scheduling extensions. We compare our RTOS to a real-time patch for Linux in terms of the task set schedulability ratio of several generated task sets. In some cases, Global-EDF considering the overhead of the RTOS is superior to Partitioned-EDF considering the overhead of the patched Linux, which clearly shows how different OSs impact hard real-time schedulers.

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
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25

Similar content being viewed by others

Notes

  1. In this paper we interchangeably use the terms processor and core.

  2. A task that has a utilization higher than 0.5 is considered a heavy task.

  3. We consider the original parameters Δev (delay until an interrupt service routine starts execution) and Δcid (loss of cache affinity due to an interrupt service routine) as negligible.

  4. An EPOS periodic thread is conceptually implemented as a real-time periodic task.

  5. A trait class is a template class that associates information of a component at compile time.

  6. We used the open-source implementation of the eight G-EDF schedulability tests available at http://www.cs.unc.edu/~bbb/diss/. We changed the code to allow the tests to be executed in parallel in a cluster and extended it to support also P-EDF partitioning heuristics and EDF uniprocessor test. The new code is also available online at http://epos.lisha.ufsc.br.

  7. From now on, whenever we refer to worst-case is the observed worst-case from the experiments.

References

  • Abeni L, Buttazzo G (2004) Resource reservation in dynamic real-time systems. Real-Time Syst 27(2):123–167

    Article  MATH  Google Scholar 

  • Altmeyer S, Davis RI, Maiza C (2012) Improved cache related pre-emption delay aware response time analysis for fixed priority pre-emptive systems. Real-Time Syst 1–28

  • AMD (2010) Amd64 architecture programmer’s manual, volume 2: System programming. Publication No. 24593. Revision: 3.17, June 2010

  • Anderson JH, Block A (2000) Early-release fair scheduling. In: Proceedings of the 12th Euromicro conference on real-time systems, pp 35–43

    Google Scholar 

  • Anderson JH, Block A, Srinivasan A (2003) Quick-release fair scheduling. In: Proceedings of the 24th IEEE international real-time systems symposium (RTSS ’03). IEEE Comput Soc, Washington, p 130

    Google Scholar 

  • Anderson JH, Bud V, Devi UC (2005) An edf-based scheduling algorithm for multiprocessor soft real-time systems. In: Proceedings of the 17th Euromicro conference on real-time systems (ECRTS ’05). IEEE Comput Soc, Washington, pp 199–208

    Chapter  Google Scholar 

  • Anderson JH, Calandrino JM, Devi UC (2006) Real-time scheduling on multicore platforms. In: RTAS ’06: proceedings of the 12th IEEE real-time and embedded technology and applications symposium, pp 179–190

    Chapter  Google Scholar 

  • Aparicio L, Segarra J, Rodríguez C, Viñals V (2011) Improving the wcet computation in the presence of a lockable instruction cache in multitasking real-time systems. J Syst Archit 57(7):695–706. Special Issue on Worst-Case Execution-Time Analysis

    Article  Google Scholar 

  • Åsberg M, Nolte T, Kato S, Rajkumar R (2012) Exsched: an external cpu scheduler framework for real-time systems. In: 18th IEEE international conference on embedded and real-time computing systems and applications (RTCSA’12)

    Google Scholar 

  • Azimi R, Stumm M, Wisniewski R (2005) Online performance analysis by statistical sampling of microprocessor performance counters. In: Proceedings of the 19th annual international conference on supercomputing (ICS ’05). ACM, New York, pp 101–110

    Chapter  Google Scholar 

  • Azimi R, Tam D, Soares L, Stumm M (2009) Enhancing operating system support for multicore processors by using hardware performance monitoring. Oper Syst Rev 43:56–65

    Article  Google Scholar 

  • Baker TP (2003) Multiprocessor edf and deadline monotonic schedulability analysis. In: Proceedings of the 24th IEEE international real-time systems symposium (RTSS ’03). IEEE Comput Soc, Washington, p 120

    Google Scholar 

  • Baker TP (2005a) An analysis of edf schedulability on a multiprocessor. IEEE Trans Parallel Distrib Syst 16(8):760–768

    Article  Google Scholar 

  • Baker TP (2005b) A comparison of global and partitioned edf schedulability tests for multiprocessors. Tech rep. In: International conference on real-time and network systems

  • Baker TP, Baruah S (2009) An analysis of global edf schedulability for arbitrary-deadline sporadic task systems. Real-Time Syst 43(1):3–24

    Article  MATH  Google Scholar 

  • Baruah S (2007) Techniques for multiprocessor global schedulability analysis. In: Proceedings of the 28th IEEE international real-time systems symposium (RTSS ’07). IEEE Comput Soc, Washington, pp 119–128

    Chapter  Google Scholar 

  • Baruah S, Bonifaci V, Spaccamela AM, Stiller S (2009) Implementation of a speedup-optimal global edf schedulability test. In: Proceedings of the 2009 21st Euromicro conference on real-time systems (ECRTS ’09). IEEE Comput Soc, Washington, pp 259–268

    Chapter  Google Scholar 

  • Baruah SK, Cohen NK, Plaxton CG, Varvel DA (1996) Proportionate progress: a notion of fairness in resource allocation. Algorithmica 15:600–625

    Article  MathSciNet  MATH  Google Scholar 

  • Bastoni A, Brandenburg BB, Anderson JH (2010a) Cache-related preemption and migration delays: empirical approximation and impact on schedulability. In: Proc sixth international workshop on operating systems platforms for embedded real-time applications, Brussels, Belgium

    Google Scholar 

  • Bastoni A, Brandenburg BB, Anderson JH (2010b) An empirical comparison of global, partitioned, and clustered multiprocessor edf schedulers. In: Proceedings of the 2010 31st IEEE real-time systems symposium (RTSS ’10). IEEE Comput Soc, Washington, pp 14–24

    Chapter  Google Scholar 

  • Bastoni A, Brandenburg BB, Anderson JH (2011) Is semi-partitioned scheduling practical? In: Proceedings of the 2011 23rd Euromicro conference on real-time systems (ECRTS ’11). IEEE Comput Soc, Washington, pp 125–135

    Chapter  Google Scholar 

  • Bertogna M, Baruah S (2011) Tests for global edf schedulability analysis. J Syst Archit 57(5):487–497

    Article  Google Scholar 

  • Bertogna M, Cirinei M (2007) Response-time analysis for globally scheduled symmetric multiprocessor platforms. In: Proceedings of the 28th IEEE international real-time systems symposium (RTSS ’07). IEEE Comput Soc, Washington, pp 149–160

    Chapter  Google Scholar 

  • Bertogna M, Cirinei M, Lipari G (2005) Improved schedulability analysis of edf on multiprocessor platforms. In: Proceedings of the 17th Euromicro conference on real-time systems (ECRTS ’05). IEEE Comput Soc, Washington, pp 209–218

    Chapter  Google Scholar 

  • Bletsas K, Andersson B (2009) Preemption-light multiprocessor scheduling of sporadic tasks with high utilisation bound. In: Proceedings of the 2009 30th IEEE real-time systems symposium (RTSS ’09). IEEE Comput Soc, Washington, pp 447–456

    Chapter  Google Scholar 

  • Brandenburg BB (2011) Scheduling and locking in multiprocessor real-time operating systems. PhD thesis, The University of North Carolina at Chapel Hill

  • Brandenburg BB, Anderson JH (2007) Feather-trace: a light-weight event tracing toolkit. In: Proceedings of the third international workshop on operating systems platforms for embedded real-time applications (OSPERT’07), pp 61–70

    Google Scholar 

  • Brandenburg BB, Anderson JH (2009) On the implementation of global real-time schedulers. In: RTSS ’09: proceedings of the 2009 30th IEEE real-time systems symposium. IEEE Comput Soc, Washington, pp 214–224

    Chapter  Google Scholar 

  • Brandenburg BB, Calandrino JM, Anderson JH (2008) On the scalability of real-time scheduling algorithms on multicore platforms: a case study. In: Proceedings of the 2008 real-time systems symposium (RTSS ’08). IEEE Comput Soc, Washington, pp 157–169

    Chapter  Google Scholar 

  • Brandenburg BB, Leontyev H, Anderson JH (2011) An overview of interrupt accounting techniques for multiprocessor real-time systems. J Syst Archit 57(6):638–654

    Article  Google Scholar 

  • Burns A, Davis R, Wang P, Zhang F (2012) Partitioned edf scheduling for multiprocessors using a C=D task splitting scheme. Real-Time Syst 48(1):3–33

    Article  MATH  Google Scholar 

  • Calandrino JM, Anderson JH (2008) Cache-aware real-time scheduling on multicore platforms: heuristics and a case study. In: ECRTS ’08: proceedings of the 2008 Euromicro conference on real-time systems. IEEE Comput Soc, Washington, pp 299–308

    Chapter  Google Scholar 

  • Calandrino JM, Leontyev H, Block A, Devi UC, Anderson JH (2006) Litmusrt: a testbed for empirically comparing real-time multiprocessor schedulers. In: Proceedings of the 27th IEEE international real-time systems symposium (RTSS ’06). IEEE Comput Soc, Washington, pp 111–126

    Google Scholar 

  • Carpenter J, Funk S, Holman P, Srinivasan A, Anderson J, Baruah S (2004) A categorization of real-time multiprocessor scheduling problems and algorithms. In: Handbook on scheduling algorithms, methods, and models. Chapman Hall/CRC, Boca Raton

    Google Scholar 

  • Cho H, Ravindran B, Jensen ED (2006) An optimal real-time scheduling algorithm for multiprocessors. In: RTSS ’06. IEEE Press, New York, pp 101–110

    Google Scholar 

  • Cullmann C, Ferdinand C, Gebhard G, Grund D, Maiza C, Reineke J, Triquet B, Wegener S, Wilhelm R (2010) Predictability considerations in the design of multi-core embedded systems. Ing Automob 807:36–42

    Google Scholar 

  • Czarnecki K, Eisenecker UW (2000) Generative programming: methods, tools, and applications. ACM/Addison-Wesley, New York

    Google Scholar 

  • David FM, Carlyle JC, Campbell RH (2007) Context switch overheads for Linux on arm platforms. In: Proceedings of the 2007 workshop on experimental computer science (ExpCS ’07). ACM, New York

    Google Scholar 

  • Dijkstra EW (1968) Cooperating sequential processes. In: Genuys F (ed) Programming languages: NATO Advanced Study Institute. Academic Press, New York, pp 43–112

    Google Scholar 

  • Dongarra J, London K, Moore S, Mucci P, Terpstra D, You H, Zhou M (2003) Experiences and lessons learned with a portable interface to hardware performance counters. In: Proceedings of the 17th international symposium on parallel and distributed processing (IPDPS ’03). IEEE Comput Soc, Washington, p 289.2

    Google Scholar 

  • EPOS (2012) Epos website. URL http://epos.lisha.ufsc.br

  • Faggioli D, Checconi F, Trimarchi M, Scordino C (2009) An EDF scheduling class for the Linux kernel. In: Proceedings of the eleventh real-time Linux workshop, Dresden, Germany

    Google Scholar 

  • Fröhlich AA (2001) Application-oriented operating systems. GMD research series, vol 17. GMD—Forschungszentrum Informationstechnik, Sankt Augustin

    Google Scholar 

  • Fröhlich AA (2011) A comprehensive approach to power management in embedded systems. Int J Distrib Sens Netw 2011(1):19

    Google Scholar 

  • Fröhlich AA, Gracioli G, Santos JF (2011) Periodic timers revisited: the real-time embedded system perspective. Comput Electr Eng 37(3):365–375

    Article  Google Scholar 

  • Garey MR, Johnson DS (1990) Computers and intractability; a guide to the theory of NP-completeness. Freeman, New York

    Google Scholar 

  • Goossens J, Funk S, Baruah S (2003) Priority-driven scheduling of periodic task systems on multiprocessors. Real-Time Syst 25(2–3):187–205

    Article  MATH  Google Scholar 

  • Gracioli G, Fröhlich AA (2011) An embedded operating system API for monitoring hardware events in multicore processors. In: Workshop on hardware-support for parallel program correctness—IEEE Micro 2011, Porto Alegre, Brazil

    Google Scholar 

  • Guan N, Stigge M, Yi W, Yu G (2009) Cache-aware scheduling and analysis for multicores. In: EMSOFT ’09. ACM, New York, pp 245–254

    Chapter  Google Scholar 

  • Hardy D, Puaut I (2009) Estimation of cache related migration delays for multi-core processors with shared instruction caches. In: George L, Chetto M, Sjodin M (eds) 17th international conference on real-time and network systems, Paris, France, pp 45–54

    Google Scholar 

  • Hennessy JL, Patterson DA (2006) Computer architecture: a quantitative approach, 4th edn. Morgan Kaufmann, San Mateo

    Google Scholar 

  • Intel Corporation (2009) An introduction to the Intel quickpath interconnect. Document Number: 320412-001US, January 2009

  • Intel Corporation (2011) Intel® 64 and IA-32 architectures software developer’s manual. 253668-037US

  • Intel Corporation (2012) Intel® 64 and IA-32 architectures optimization reference manual. 248966-026

  • Johnson D (1973) Near-optimal bin packing algorithms. PhD thesis

  • Kato S (2012) AIRS website. URL http://www.ertl.jp/~shinpei/airs/

  • Kato S, Yamasaki N (2007) Real-time scheduling with task splitting on multiprocessors. In: Proceedings of the 13th IEEE international conference on embedded and real-time computing systems and applications (RTCSA ’07). IEEE Comput Soc, Washington, pp 441–450

    Google Scholar 

  • Kato S, Yamasaki N (2008) Portioned edf-based scheduling on multiprocessors. In: Proceedings of the 8th ACM international conference on embedded software (EMSOFT ’08). ACM, New York, pp 139–148

    Chapter  Google Scholar 

  • Lelli J, Faggioli D, Cucinotta T, Lipari G (2012) An experimental comparison of different real-time schedulers on multicore systems. J Syst Softw 85(10):2405–2416

    Article  Google Scholar 

  • Leontyev H, Anderson JH (2007) Generalized tardiness bounds for global multiprocessor scheduling. In: RTSS ’07: proceedings of the 28th IEEE international real-time systems symposium. IEEE Comput Soc, Washington, pp 413–422

    Chapter  Google Scholar 

  • Levin G, Funk S, Sadowski C, Pye I, Brandt S (2010) Dp-fair: a simple model for understanding optimal multiprocessor scheduling. In: Proceedings of the 2010 22nd Euromicro conference on real-time systems (ECRTS ’10). IEEE Comput Soc, Washington, pp 3–13

    Chapter  Google Scholar 

  • Li C, Ding C, Shen K (2007) Quantifying the cost of context switch. In: Proceedings of the 2007 workshop on experimental computer science (ExpCS ’07). ACM, New York

    Google Scholar 

  • Lin J, Lu Q, Ding X, Zhang Z, Zhang X, Sadayappan P (2008) Gaining insights into multicore cache partitioning: bridging the gap between simulation and real systems. In: International symposium on high performance computer architecture (HPCA ’08). IEEE Comput Soc, New York, pp 367–378

    Google Scholar 

  • Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM 20(1):46–61

    Article  MathSciNet  MATH  Google Scholar 

  • Liu J (2000) Real-time systems, 1st edn. Prentice Hall PTR, Upper Saddle River

    Google Scholar 

  • Ludwich MK, Fröhlich AA (2011) Abstracting hardware devices to embedded Java applications. In: IADIS applied computing 2011, Rio de Janeiro, Brazil, pp 371–378

    Google Scholar 

  • Marcondes H, Cancian R, Stemmer M, Fröhlich AA (2009) On the design of flexible real-time schedulers for embedded systems. In: CSE ’09: proceedings of the 2009 international conference on computational science and engineering. IEEE Comput Soc, Washington, pp 382–387

    Chapter  Google Scholar 

  • Masrur A, Chakraborty S, Färber G (2010) Constant-time admission control for partitioned edf. In: Proceedings of the 2010 22nd Euromicro conference on real-time systems (ECRTS ’10). IEEE Comput Soc, Washington, pp 34–43

    Chapter  Google Scholar 

  • May J (2001) Mpx: software for multiplexing hardware performance counters in multithreaded programs. In: Proceedings of the 15th international parallel and distributed processing symposium, p 8

    Google Scholar 

  • Mogul JC, Borg A (1991) The effect of context switches on cache performance. Oper Syst Rev 25:75–84 (Special Issue)

    Article  Google Scholar 

  • Mohan S, Caccamo M, Sha L, Pellizzoni R, Arundale G, Kegley R, de Niz D (2011) Using multicore architectures in cyber-physical systems. In: Workshop on developing dependable and secure automotive cyber-physical systems from components, Michigan, USA

    Google Scholar 

  • Mollison M, Anderson JH (2012) Utilization-controlled task consolidation for power optimization in multi-core real-time systems. In: 18th IEEE international conference on embedded and real-time computing systems and applications (RTCSA), vol 1 (to appear)

    Google Scholar 

  • Mück TR, Fröhlich AA (2011) HyRA: a software-defined radio architecture for wireless embedded systems. In: 10th international conference on networks, St. Maarten, The Netherlands Antilles, pp 246–251

    Google Scholar 

  • Muralidhara SP, Kandemir M, Raghavan P (2010) Intra-application cache partitioning. In: IPDPS 10’: proceedings of the 25th IEEE international symposium on parallel distributed processing, pp 1–12

    Google Scholar 

  • Negi HS, Mitra T, Roychoudhury A (2003) Accurate estimation of cache-related preemption delay. In: Proceedings of the 1st IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis (CODES+ISSS ’03). ACM, New York, pp 201–206

    Chapter  Google Scholar 

  • Oikawa S, Rajkumar R (1999) Portable rk: a portable resource kernel for guaranteed and enforced timing behavior. In: Proceedings of the fifth IEEE real-time technology and applications symposium, pp 111–120

    Chapter  Google Scholar 

  • Palopoli L, Cucinotta T, Marzario L, Lipari G (2009) Aquosa—adaptive quality of service architecture. Softw Pract Exp 39(1):1–31

    Article  Google Scholar 

  • Polpeta FV, Fröhlich AA (2004) Hardware mediators: a portability artifact for component-based systems. In: EUC, pp 271–280

    Google Scholar 

  • SHARCNET (2012) Sharcnet cluster website. URL https://www.sharcnet.ca

  • Sprunt B (2002) Pentium 4 performance-monitoring features. IEEE MICRO 22(4):72–82

    Article  Google Scholar 

  • Srikantaiah S, Kandemir M, Irwin MJ (2008) Adaptive set pinning: managing shared caches in chip multiprocessors. In: Proceedings of the 13th international conference on architectural support for programming languages and operating systems (ASPLOS XIII). ACM, New York, pp 135–144

    Chapter  Google Scholar 

  • Srinivasan A, Holman P, Anderson JH, Baruah S (2003) The case for fair multiprocessor scheduling. In: IPDPS ’03: proceedings of the 17th international symposium on parallel and distributed processing. IEEE Comput Soc, Washington, p 114.1

    Google Scholar 

  • Stärner J, Asplund L (2004) Measuring the cache interference cost in preemptive real-time systems. In: Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on languages, compilers, and tools for embedded systems (LCTES ’04). ACM, New York, pp 146–154

    Chapter  Google Scholar 

  • Staschulat J, Ernst R (2005) Scalable precision cache analysis for preemptive scheduling. In: Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on languages, compilers, and tools for embedded systems (LCTES ’05). ACM, New York, pp 157–165

    Chapter  Google Scholar 

  • Suhendra V, Mitra T (2008) Exploring locking & partitioning for predictable shared caches on multi-cores. In: DAC ’08: proceedings of the 45th annual design automation conference. ACM, New York, pp 300–303

    Chapter  Google Scholar 

  • Tsafrir D (2007) The context-switch overhead inflicted by hardware interrupts (and the enigma of do-nothing loops). In: Proceedings of the 2007 workshop on experimental computer science (ExpCS ’07). ACM, New York

    Google Scholar 

  • Vera X, Lisper B, Xue J (2003) Data cache locking for higher program predictability. ACM SIGMETRICS Perform Eval Rev 31(1):272–282

    Article  Google Scholar 

  • Wanner LF, Fröhlich AA (2008) Operating system support for wireless sensor networks. J Comput Sci 4(4):272–281

    Article  Google Scholar 

  • Wilhelm R, Engblom J, Ermedahl A, Holsti N, Thesing S, Whalley D, Bernat G, Ferdinand C, Heckmann R, Mitra T, Mueller F, Puaut I, Puschner P, Staschulat J, Stenström P (2008) The worst-case execution-time problem overview of methods and survey of tools. ACM Trans Embed Comput Syst 7(3):36

    Article  Google Scholar 

  • Yan J, Zhang W (2008) Wcet analysis for multi-core processors with shared l2 instruction caches. In: Proceedings of the 2008 IEEE real-time and embedded technology and applications symposium (RTAS ’08). IEEE Comput Soc, Washington, pp 80–89

    Chapter  Google Scholar 

Download references

Acknowledgements

We would like to thank the anonymous reviewers for their constructive comments and suggestions. This work was supported by the Coordination for Improvement of Higher Level Personnel (CAPES) and the Foreign Affairs and International Trade Canada/Affaires étrangères et Commerce international Canada (DFAIT) grants, projects RH-TVD 006/2008 and CAPES-DFAIT 004/11.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Giovani Gracioli.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gracioli, G., Fröhlich, A.A., Pellizzoni, R. et al. Implementation and evaluation of global and partitioned scheduling in a real-time OS. Real-Time Syst 49, 669–714 (2013). https://doi.org/10.1007/s11241-013-9183-3

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-013-9183-3

Keywords

Navigation