Abstract
The preemptive scheduling paradigm is known to strictly dominate the non-preemptive scheduling paradigm with respect to feasibility. On the other hand, preemptively scheduling real-time tasks on uniprocessors, unlike non-preemptive scheduling, may lead to unschedulability due to, e.g., preemption related overheads. The limited-preemptive scheduling paradigm, which is a generalization of preemptive and non-preemptive paradigms, has, however, the potential to reduce the preemption related overheads while enabling high processor utilization. In this paper, we focus on the characterization of the effects of increasing the computational resources on the limited-preemptive feasibility of real-time tasks in order to quantify the sub-optimality of limited-preemptive scheduling. Specifically, we first derive the required processor speed-up bound that guarantees limited-preemptive feasibility of any uniprocessor feasible taskset. Secondly, we demonstrate the applicability of the results in the context of controlling preemption related overheads while minimizing the required processor speed-up. In particular, we identify the preemptive behavior that minimizes preemption-related overheads, as well as derive the optimal processor speed associated with it. Finally, we examine the consequences of having more processors on limited-preemptive feasibility and derive the bound on the number of processors that guarantees a specified limited-preemptive behavior for any uniprocessor feasible real-time taskset. This paper essentially bridges the preemptive and non-preemptive real-time scheduling paradigms by providing significant theoretical results building on the limited-preemptive scheduling paradigm, as well as provides analytical inputs to developers in order to perform various trade-offs, e.g., code refactoring, to control the preemptive behavior of real-time tasks.
Similar content being viewed by others
Notes
Note that design parameters such as deadlines and time periods in many systems are negotiable not only in many soft real-time applications, but also in many hard real-time applications (please refer to Buttazzo and Abeni 2002 for more details).
References
Abdelzaher T, Andersson B, Jonsson J (2002) The aperiodic multiprocessor utilization bound for liquid tasks. In: The real-time and embedded technology and applications symposium
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 48:499–526
Amdahl GM (1967) Validity of the single processor approach to achieving large scale computing capabilities. In: American Federation of Information Processing Societies spring joint computer conference
Audsley N, Burns A, Richardson MF, Wellings AJ (1991) Hard real-time scheduling: the deadline-monotonic approach. In: The IEEE workshop on real-time operating systems and software
Baruah S (2005) The limited-preemption uniprocessor scheduling of sporadic task systems. In: The Euromicro conference on real-time systems
Baruah SK, Rosier LE, Howell RR (1990b) Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor. Real Time Syst 2(4):301–324
Baruah S, Burns A (2006) Sustainable scheduling analysis. In: The real-time systems symposium
Baruah S, Burns A (2008) Quantifying the sub-optimality of uniprocessor fixed-priority scheduling. In: The international conference on real-time and network systems
Baruah S, Mok A, Rosier L (1990a) Preemptively scheduling hard-real-time sporadic tasks on one processor. In: The real-time systems symposium
Bertogna M, Baruah S (2010) Limited preemption EDF scheduling of sporadic task systems. IEEE Trans Ind Inform 6:579–591
Bertogna M, Buttazzo G, Marinoni M, Yao G, Esposito F, Caccamo M (2010) Preemption points placement for sporadic task sets. In: The Euromicro conference on real-time systems
Bini E, Buttazzo GC (2005) Measuring the performance of schedulability tests. Real Time Syst 30:129–154
Bui BD, Caccamo M, Sha L, Martinez J (2008) Impact of cache partitioning on multi-tasking real time embedded systems. In: The international conference on embedded and real-time computing systems and applications
Busquets-Mataix JV, Serrano JJ, Ors R, Gil P, Wellings A (1996) Adding instruction cache effect to schedulability analysis of preemptive real-time systems. In: The IEEE real-time technology and applications symposium
Buttazzo G, Abeni L (2002) Adaptive workload management through elastic scheduling. Real Time Syst 23:7–24
Buttazzo G, Bertogna M, Yao G (2012) Limited preemptive scheduling for real-time systems: a survey. IEEE Trans Ind Inform 9:3–15
Buttle D (2012) Real-time in the prime-time. Keynote speech given at the Euromicro conference on real-time systems. http://ecrts.eit.uni-kl.de/fileadmin/user_media/ecrts12/ECRTS12-Keynote-Buttle.pdf
Davis RI, Rothvoss T, Baruah SK, Burns A (2009b) Quantifying the sub-optimality of uniprocessor fixed priority pre-emptive scheduling for sporadic tasksets with arbitrary deadlines. In: The international conference on real-time and network systems
Davis R, Rothvoss T, Baruah S, Burns A (2009a) Exact quantification of the sub-optimality of uniprocessor fixed priority pre-emptive scheduling. Real Time Syst 43:211–258
Davis R, George L, Courbin P (2010) Quantifying the sub-optimality of uniprocessor fixed priority non-pre-emptive scheduling. In: The international conference on real-time and network systems
Dertouzos ML (1974) Control robotics: the procedural control of physical processes. In: IFIP congress
George L, Muhlethaler P, Rivierre N (1995) Optimality and non-preemptive real-time scheduling revisited. Research report, INRIA
George L, Rivierre N, Spuri M (1996) Preemptive and non-preemptive real-time uniprocessor scheduling. Research report, INRIA
Jeffay K, Stanat DF, Martel CU (1991) On non-preemptive scheduling of periodic and sporadic tasks. In: The real-time systems symposium
Ju L, Chakraborty S, Roychoudhury A (2007) Accounting for cache-related preemption delay in dynamic priority schedulability analysis. In: IEEE design automation and test in Europe
Kalyanasundaram B, Pruhs K (2000) Speed is as powerful as clairvoyance. JACM 47:617–643
Lam TW, To KK (1999) Trade-offs between speed and processor in hard-deadline scheduling. In: The ACM-SIAM symposium on Discrete algorithms
Lee CG, Hahn J, Seo JM, 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:700–713
Leontyev H, Anderson J (2008) A hierarchical multiprocessor bandwidth reservation scheme with timing guarantees. In: The Euromicro conference on real-time systems
Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. JACM 20:46–61
Marinoni M, Buttazzo G (2007) Elastic DVS management in processors with discrete voltage/frequency modes. IEEE Trans Ind Inform 3:51–62
McKee SA (2004) Reflections on the memory wall. In: Proceedings of the conference on computing frontiers
Peng B, Fisher N, Bertogna M (2014) Explicit preemption placement for real-timeconditional code. In: The Euromicro conference on real-time systems
Pillai P, Shin KG (2001) Real-time dynamic voltage scaling for low-power embedded operating systems. In: The ACM symposium on operating systems principles
Saha S, Ravindran B (2012) An experimental evaluation of real-time dvfs scheduling algorithms. In: Proceedings of the annual international systems and storage conference
Short M (2010) The case for non-preemptive, deadline-driven scheduling in real-time embedded systems. In: Proceedings of the world congress on engineering, engineering and computer science. Lecture Notes
Staschulat J, Schliecker S, Ernst R (2005) Scheduling analysis of real-time systems with precise modeling of cache related preemption delay. In: The Euromicro conference on real-time systems
Tan Y, Mooney V (2007) Timing analysis for preemptive multitasking real-time systems with caches. ACM Trans Embed Comput Syst 6:7
Thekkilakattil A, Baruah S, Dobrin R, Punnekkat S (2014) The global limited preemptive earliest deadline first feasibility of sporadic real-time tasks. In: The Euromicro conference on real-time systems
Thekkilakattil A, Dobrin R, Punnekkat S (2013) Quantifying the sub-optimality of non-preemptive real-time scheduling. In: The Euromicro conference on real-time systems
Thiele L (2014) Model-based design of real-time systems. Keynote speech given at the Euromicro conference on real-time systems. http://ecrts.eit.uni-kl.de/fileadmin/files_ecrts14/documents/ECRTS14_Keynote_LotharThiele.pdf
Ward B, Thekkilakattil A, Anderson J (2014) Optimizing preemption-overhead accounting in multiprocessor real-time systems. In: The international conference on real-time networks and systems
Yao G, Buttazzo G, Bertogna M (2010) Comparitive evaluation of limited preemptive methods. In: The international conference on emerging technologies and factory automation
Acknowledgments
We would like to thank Sanjoy Baruah for suggesting the proof of Lemma 6, Jim Anderson for pointing out the relationship between the resource augmentation bound and accuracy of timing analysis tools, as well as the reviewers for their valuable feedback.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Thekkilakattil, A., Dobrin, R. & Punnekkat, S. The limited-preemptive feasibility of real-time tasks on uniprocessors. Real-Time Syst 51, 247–273 (2015). https://doi.org/10.1007/s11241-015-9222-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-015-9222-3