Abstract
Preemptive scheduling often generates a significant runtime overhead that may increase task worst-case execution times up to 40%, with respect to a fully non-preemptive execution. In small embedded systems, such an extra cost results in longer and more variable response times that can significantly affect the overall energy consumption, as well as the system predictability. Limiting preemptions is often possible without jeopardizing schedulability. Although several authors addressed schedulability analysis under different forms of limited preemptive scheduling, current results exhibit two major deficiencies: (i) The maximum lengths of the non-preemptive regions for each task are still unknown under fixed priorities; (i) The exact response time analysis for tasks with fixed preemption points is too complex.
This paper presents the schedulability analysis of real-time tasks with non-preemptive regions, under fixed priority assignments. In particular, two different preemption models are considered: the floating and the fixed preemption point model. Under each model, the feasibility analysis is addressed by deriving simple and effective schedulability tests, as well as an algorithm for computing the maximum length of the non-preemptive regions for each task. Finally, simulation experiments are presented to compare the two models in terms of schedulability.
Similar content being viewed by others
References
Altmeyer S, Gebhard G (2008) Wcet analysis for preemptive scheduling. In: 8th int. workshop on worst-case execution time analysis, Prague, Czech, pp 105–112
Baker TP (1991) Stack-based scheduling of real-time processes. Real-Time Syst 3(1):67–100
Baruah S (2005) The limited-preemption uniprocessor scheduling of sporadic systems. In: ECRTS ’05: proc. of Euromicro conf. on real-time systems, pp 137–144
Bertogna M, Buttazzo G, Marinoni M, Yao G, Esposito F, Caccamo M (2010) Preemption points placement for sporadic task sets. In: Proceedings of 22nd Euromicro conference on real-time systems (ECRTS’10), Bruxelles, Belgium
Bini E, Buttazzo GC (2004) Schedulability analysis of periodic fixed priority systems. IEEE Trans Comput 53(11):1462–1473
Bini E, Buttazzo GC (2005) Measuring the performance of schedulability tests. Real-Time Syst 30(1–2):129–154
Bril R (2004) Specification and compositional verification of real-time systems. PhD thesis, Technische Universiteit Eindhoven (TU/e)
Bril R, Lukkien J, Verhaegh W (2009) Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption. Real-Time Syst 42(1–3):63–119
Bril RJ, Lukkien JJ, Verhaegh WFJ (2007) Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred revisited. In: ECRTS ’07: proc. of Euromicro conf. on real-time systems, pp 269–279
Burns A (1994) Preemptive priority based scheduling: an appropriate engineering approach. In: Son S (ed) Advances in real-time systems, pp 225–248
Burns A, Wellings A (2009) In: Real-time systems and programming languages: ADA, real-time Java and C/real-time POSIX (44th edn.). Addison-Wesley, Reading
Davis RI, Burns A, Bril RJ, Lukkien JJ (2007) Controller area network (CAN) schedulability analysis: refuted, revisited and revised. Real-Time Syst 35(3):239–272
Frederickson G (1983) Scheduling unit-time tasks with integer release times and deadlines. Inf Process Lett 16(4):171–173
Garey M, Johnson D, Simons B, Tarjan R (1981) Scheduling unit-time tasks with arbitrary release times and deadlines. SIAM J Comput 10(2):256–269
Gebhard G, Altmeyer S (2007) Optimal task placement to improve cache performance. In: Proc. of the ACM-IEEE int. conf. on embedded software, Salzburg, Austria, pp 259–268
George L, Rivierre N, Spuri M (1996) Preemptive and non-preemptive real-time uniprocessor scheduling. Research report RR-2966, INRIA, France
Jeffay K, Stanat D, Martel C (1991) On non-preemptive scheduling of period and sporadic tasks. In: Proc. of real-time systems symposium, pp 129–139
Lawler E, Martel C (1981) Scheduling periodically occurring tasks on multiple processors. Inf Process Lett 12(1):9–12
Lee C-G, Hahn J, Seo Y-M, Min SL, Ha R, Hong S, Park CY, Lee M, Kim CS (1998) Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. IEEE Trans Comput 47(6):700–713
Lehoczky J, Sha L, Ding Y (1989) The rate monotonic scheduling algorithm: exact characterization and average case behavior. In: Proc. of the real-time systems symposium, CA, USA, pp 166–171
Leung J, Whitehead J (1982) On the complexity of fixed-priority scheduling of periodic real-time tasks. Perform Eval 2(4):237–250
Li C, Ding C, Shen K (2007) Quantifying the cost of context switch. In: Proc. of workshop on experimental computer science, San Diego, California
Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM 20(1):46–61
Mok A-L (1983) Fundamental design problems of distributed systems for the hard real-time environment. PhD thesis, MIT, USA
Ramaprasad H, Mueller F (2006) Tightening the bounds on feasible preemption points. In: RTSS ’06. proc. of 27th real-time systems symposium, pp 212–222
Regehr J (2002) Scheduling tasks with mixed preemption relations for robustness to timing faults. In: Proc. of the 23rd IEEE real-time systems symposium, pp 315–326
Sha L, Rajkumar R, Lehoczky JP (1990) Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans Comput 39(9):1175–1185
Stankovic JA, Ramamritham K (1991) The spring kernel: a new paradigm for real-time systems. IEEE Softw 8(3):62–72
Staschulat J, Ernst R (2004) Multiple process execution in cache related preemption delay analysis. In: Proc. of ACM int. conf. on embedded software, Pisa, Italy, pp 278–286
Wang Y, Saksena M (1999) Scheduling fixed-priority tasks with preemption threshold. In: Proc. of conf. on embedded and real-time computing systems and applications, pp 328–335
Yao G, Buttazzo G, Bertogna M (2009) Bounding the maximum length of non-preemptive regions under fixed priority scheduling. In: Proceedings of the 16th IEEE international conference on embedded and real-time computing systems and applications (RTCSA 2009), Beijing, China, August 24–26, 2009, pp 351–360
Yao G, Buttazzo G, Bertogna M (2010) Comparative evaluation of limited preemptive methods. In: Proceedings of the 15th IEEE international conference on emerging technology and factory automation (ETFA10), Bilbao, Spain, September 13–16, 2010.
Yao G, Buttazzo G, Bertogna M (2010) Feasibility analysis under fixed priority scheduling with fixed preemption points. In: Proceedings of the 16th IEEE international conference on embedded and real-time computing systems and applications (RTCSA 2010), Macao, China, August 23–25, 2010, pp 71–80
Author information
Authors and Affiliations
Corresponding author
Additional information
This work has been partially supported by the European Community’s Seventh Framework Programme FP7/2007-2013 under grant agreement No. 216008.
Rights and permissions
About this article
Cite this article
Yao, G., Buttazzo, G. & Bertogna, M. Feasibility analysis under fixed priority scheduling with limited preemptions. Real-Time Syst 47, 198–223 (2011). https://doi.org/10.1007/s11241-010-9113-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-010-9113-6