A Comparison between Fixed Priority and EDF Scheduling accounting for Cache Related Pre-emption Delays
- Real-time systems,
- Fixed priority,
- Pre-emptive scheduling,
- Cache related pre-emption delays
How to Cite
In multitasking real-time systems, the choice of scheduling algorithm is an important factor to ensure that response time requirements are met while maximising limited system resources. Two popular scheduling algorithms include fixed priority (FP) and earliest deadline first (EDF). While they have been studied in great detail before, they have not been compared when taking into account cache related pre-emption delays (CRPD). Memory and cache are split into a number of blocks containing instructions and data. During a pre-emption, cache blocks from the pre-empting task can evict those of the pre-empted task. When the pre-empted task is resumed, if it then has to re-load the evicted blocks, CRPD are introduced which then affect the schedulability of the task.
In this paper we compare FP and EDF scheduling algorithms in the presence of CRPD using the state-of-the-art CRPD analysis. We find that when CRPD is accounted for, the performance gains offered by EDF over FP, while still notable, are diminished. Furthermore, we find that under scenarios that cause relatively high CRPD, task layout optimisation techniques can be applied to allow FP to schedule tasksets at a similar processor utilisation to EDF. Thus making the choice of the task layout in memory as important as the choice of scheduling algorithm. This is very relevant for industry, as it is much cheaper and simpler to adjust the task layout through the linker than it is to switch the scheduling algorithm.
- Sebastian Altmeyer and Claire Burguière. A new notion of useful cache block to improve the bounds of cache-related preemption delay. In 21st Euromicro Conference on Real-Time Systems, ECRTS 2009, Dublin, Ireland, July 1–3, 2009, pages 109–118. IEEE Computer Society, 2009. doi:10.1109/ECRTS.2009.21.
- Sebastian Altmeyer, Robert I. Davis, and Claire Maiza. Cache related pre-emption delay aware response time analysis for fixed priority pre-emptive systems. In Proceedings of the 32nd IEEE Real-Time Systems Symposium, RTSS 2011, Vienna, Austria, November 29 – December 2, 2011, pages 261–271. IEEE Computer Society, 2011. doi:10.1109/RTSS.2011.31.
- Sebastian Altmeyer, Robert I. Davis, and Claire Maiza. Improved cache related pre-emption delay aware response time analysis for fixed priority preemptive systems. Real-Time Systems, 48(5):499–526, 2012. doi:10.1007/s11241-012-9152-2.
- Sebastian Altmeyer, Claire Maiza, and Jan Reineke. Resilience analysis: tightening the CRPD bound for set-associative caches. In Proceedings of the ACM SIGPLAN/SIGBED 2010 Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES 2010, Stockholm, Sweden, April 13–15, 2010, pages 153–162. ACM, 2010. doi:10.1145/1755888.1755911.
- Neil C. Audsley, Alan Burns, Mike F. Richardson, Ken Tindell, and Andrew J. Wellings. Applying new scheduling theory to static priority pre-emptive scheduling. Software Engineering Journal, 8(5):284–292, 1993. URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=238595&isnumber=6134.
- Sanjoy K. Baruah, Aloysius K. Mok, and Louis E. Rosier. Preemptively scheduling hard-real-time sporadic tasks on one processor. In Proceedings of the Real-Time Systems Symposium – 1990, Lake Buena Vista, Florida, USA, December 1990, pages 182–190. IEEE Computer Society, 1990. doi:10.1109/REAL.1990.128746.
- Sanjoy K. Baruah, Louis E. Rosier, and Rodney R. Howell. Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor. Real-Time Systems, 2(4):301–324, 1990. doi:10.1007/BF01995675.
- Andrea Bastoni, Björn B. Brandenburg, and James H. Anderson. Cache-related preemption and migration delays: Empirical approximation and impact on schedulability. In Proceedings of the 6th International Workshop on Operating Systems Platforms for Embedded Real-Time Applications, OSPERT 2010, pages 33–44, 2010. URL: http://www.mpi-sws.org/~bbb/papers/pdf/ospert10.pdf.
- Enrico Bini and Giorgio C. Buttazzo. Measuring the performance of schedulability tests. Real-Time Systems, 30(1-2):129–154, 2005. doi:10.1007/s11241-005-0507-9.
- Björn B. Brandenburg, Hennadiy Leontyev, and James H. Anderson. Accounting for interrupts in multiprocessor real-time systems. In 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA 2009, Beijing, China, 24–26 August 2009, pages 273–283. IEEE Computer Society, 2009. doi:10.1109/RTCSA.2009.37.
- Claire Burguière, Jan Reineke, and Sebastian Altmeyer. Cache-related preemption delay computation for set-associative caches - pitfalls and solutions. In 9th International Workshop on Worst-Case Execution Time Analysis, WCET 2009, Dublin, Ireland, July 1–3, 2009, volume 10 of OASICS, pages 1–11. Schloss Dagstuhl – Leibniz-Zentrum fuer Informatik, Germany, 2009. doi:10.4230/OASIcs.WCET.2009.2285.
- José V. Busquets-Mataix, Juan José Serrano, Rafael Ors, Pedro J. Gil, and Andy J. Wellings. Adding instruction cache effect to schedulability analysis of preemptive real-time systems. In 2nd IEEE Real-Time Technology and Applications Symposium, RTAS 1996, June 10–12, 1996, Boston, MA, USA, page 204. IEEE Computer Society, 1996. doi:10.1109/RTTAS.1996.509537.
- Giorgio C. Buttazzo. Rate monotonic vs. EDF: judgment day. Real-Time Systems, 29(1):5–26, 2005. doi:10.1023/B:TIME.0000048932.30002.d9.
- Robert I. Davis, A. Zabos, and Alan Burns. Efficient exact schedulability tests for fixed priority real-time systems. IEEE Transactions on Computers, 57(9):1261–1276, 2008. doi:10.1109/TC.2008.66.
- Michael L. Dertouzos. Control robotics: The procedural control of physical processes. In IFIP Congress, pages 807–813, 1974.
- Laurent George, Nicolas Rivierre, and Marco Spuri. Preemptive and non-preemptive real-time uniprocessor scheduling. Technical report, INRIA, 1996. URL: http://hal.inria.fr/inria-00073732.
- Lei Ju, Samarjit Chakraborty, and Abhik Roychoudhury. Accounting for cache-related preemption delay in dynamic priority schedulability analysis. In 2007 Design, Automation and Test in Europe Conference and Exposition, DATE 2007, April 16–20, 2007, Nice, France, pages 1623–1628. ACM, 2007. URL: http://dl.acm.org/citation.cfm?id=1266366.1266723.
- Chang-Gun Lee, Joosun Hahn, Yang-Min Seo, Sang Lyul Min, Rhan Ha, Seongsoo Hong, Chang Yun Park, Minsuk Lee, and Chong-Sang Kim. Analysis of cache-related preemption delay in fixed-priority preemtive scheduling. IEEE Trans. Computers, 47(6):700–713, 1998. doi:10.1109/12.689649.
- Joseph Y.-T. Leung and M. L. Merrill. A note on preemptive scheduling of periodic, real-time tasks. Information Processing Letters, 11(3):115–118, 1980. doi:10.1016/0020-0190(80)90123-4.
- C. L. Liu and James W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM, 20(1):46–61, 1973. doi:10.1145/321738.321743.
- Will Lunniss, Sebastian Altmeyer, and Robert I. Davis. Optimising task layout to increase schedulability via reduced cache related preemption delays. In 20th International Conference on Real-Time and Network Systems, RTNS 2012, Pont a Mousson, France – November 08–09, 2012, pages 161–170. ACM, 2012. doi:10.1145/2392987.2393008.
- Will Lunniss, Sebastian Altmeyer, Claire Maiza, and Robert I. Davis. Integrating cache related preemption delay analysis into EDF scheduling. In 19th IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS 2013, Philadelphia, PA, USA, April 9–11, 2013, pages 75–84. IEEE Computer Society, 2013. doi:10.1109/RTAS.2013.6531081.
- Ismael Ripoll, Alfons Crespo, and Aloysius K. Mok. Improvement in feasibility testing for realtime tasks. Real-Time Systems, 11(1):19–39, 1996. doi:10.1007/BF00365519.
- Marco Spuri. Analysis of deadline scheduled realtime systems. Technical report, INRIA, 1996. URL: http://hal.inria.fr/inria-00073920.
- Jan Staschulat, Simon Schliecker, and Rolf Ernst. Scheduling analysis of real-time systems with precise modeling of cache related preemption delay. In 17th Euromicro Conference on Real-Time Systems, ECRTS 2005, 6–8 July 2005, Palma de Mallorca, Spain, pages 41–48. IEEE Computer Society, 2005. doi:10.1109/ECRTS.2005.26.
- Yudong Tan and Vincent John Mooney III. Timing analysis for preemptive multitasking real-time systems with caches. ACM Transactions on Embedded Computing Systems (TECS), 6(1), 2007. doi:10.1145/1210268.1210275.
- Fengxiang Zhang and Alan Burns. Schedulability analysis for real-time systems with EDF scheduling. IEEE Transactions on Computers, 58(9):1250–1258, 2009. doi:10.1109/TC.2009.58.