Abstract
The need to enrich and maximize the performance of embedded systems have led to the integration of tasks with dissimilar temporal requirements. Several techniques have been developed for scheduling this heterogeneous task sets, using the idle time left by the execution of critical real-time tasks. One of such methods is Slack Stealing, which allows exact or approximate calculation of the available idle time. In this work we present an implementation of an exact variant of this technique on the FreeRTOS real-time operating system that requires minor modifications to its kernel. This allows to give priority execution to non-real-time tasks without compromising the critical real-time tasks deadlines, when scheduled under the Rate Monotonic or Deadline Monotonic priority assignments. Evaluations done on an mbed LPC1768 development board shows that the computational costs overheads introduced to the default context-switch are not significant for utilization factors up to 80%.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Burns, A., Davis, R.I.: A survey of research into mixed criticality systems. ACM Comput. Surv. 50(6), 82:1–82:37 (2017). https://doi.org/10.1145/3131347
Buttazzo, G.C.: Research trends in real-time computing for embedded systems. SIGBED Rev. 3(3), 1–10 (2006). https://doi.org/10.1145/1164050.1164052
Davis, R.I.: Approximate slack stealing algorithms for fixed priority preemptive systems. University of York, Department of Computer Science (1993)
Davis, R.I., Tindell, K., Burns, A.: Scheduling slack time in fixed priority preemptive systems. In: Proceedings of the Real-Time Systems Symposium, Raleigh-Durham, NC, December 1993, pp. 222–231 (1993). https://doi.org/10.1109/REAL.1993.393496
Davis, R.I., Wellings, A.J.: Dual priority scheduling. In: Proceedings of the 16th IEEE Real-Time Systems Symposium, Palazzo dei Congressi, Via Matteotti, 1, Pisa, Italy, 4–7 December 1995, pp. 100–109. IEEE Computer Society (1995). https://doi.org/10.1109/REAL.1995.495200
Díaz, L.A., Páez, José, F.E., Urriza, J.M., Orozco, J.D., Cayssials, R.: Implementación de un Método de Slack Stealing en el Kernel de MaRTE OS. In: Proceeding XLIII Jornadas Argentinas de Informática e Investigación Operativa (43 JAIIO) - III Argentine Symposium on Industrial Informatics (SII), pp. 13–24 (2014)
Lehoczky, J.P., Ramos-Thuel, S.: An optimal algorithm for scheduling soft-aperiodic tasks in fixed-priority preemptive systems. In: Proceedings of the Real-Time Systems Symposium - 1992, Phoenix, Arizona, USA, December 1992, pp. 110–123. IEEE Computer Society (1992). https://doi.org/10.1109/REAL.1992.242671
Leung, J.Y.-T., Whitehead, J.: On the complexity of fixed-priority scheduling of periodic, real-time tasks. Perform. Eval. 2(4), 237–250 (1982). https://doi.org/10.1016/0166-5316(82)90024-4
Lin, C., Brandt, S.A.: Improving soft real-time performance through better slack reclaiming. In: Proceedings of the 26th IEEE Real-Time Systems Symposium, RTSS 2005, Miami, FL, USA, 6–8 December 2005, pp. 410–421. IEEE Computer Society (2005). https://doi.org/10.1109/RTSS.2005.26
Liu, C.L., Layland, J.W.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20(1), 46–61 (1973). https://doi.org/10.1145/321738.321743
Masson, D., Midonnet, S.: Slack time evaluation with RTSJ. In: Wainwright, R.L., Haddad, H. (eds.) Proceedings of the 2008 ACM Symposium on Applied Computing (SAC), Fortaleza, Ceara, Brazil, 16–20 March 2008, pp. 322–323. ACM (2008). https://doi.org/10.1145/1363686.1363769
Masson, D., Midonnet, S.: Userland approximate slack stealer with low time complexity. In: RTNS 2008, pp. 29–38, Rennes, France, October 2008. https://hal-upec-upem.archives-ouvertes.fr/hal-00620349
Masson, D., Midonnet, S.: Handling non-periodic events in real-time Java systems. In: Higuera-Toledano, M., Wellings, A. (eds.) Distributed, Embedded and Real-time Java Systems, pp. 45–77. Springer, Boston (2012). https://doi.org/10.1007/978-1-4419-8158-5_3
Midonnet, S., Masson, D., Lassalle, R.: Slack-time computation for temporal robustness in embedded systems. Embed. Syst. Lett. 2(4), 119–122 (2010). https://doi.org/10.1109/LES.2010.2074184
Minguet, A.R.E.: Extensiones al Lenguaje Ada y a los Servicios POSIX para Planificación en Sistemas de Tiempo Real Estricto. Ph.D. thesis, Universidad Politécnica de Valencia (2003)
Orozco, J., Santos, R., Santos, J., Cayssials, R.: Taking advantage of priority inversions generated to improve the processing of non-hard real-time tasks in mixed systems. In: The 21st IEEE Real-Time Systems Symposium WIP, pp. 13–16 (2000)
Páez, F.E., Urriza, J.M., Orozco, J.D.: Administración del Tiempo Ocioso Mediante Slack Stealing en FreeRTOS. In: XXVI Congreso Argentino de Ciencias de la Computación - CACIC 2020. Libro de actas, pp. 629–638 (2020)
Ramos-Thuel, S., Lehoczky, J.P.: Online scheduling of hard deadline aperiodic tasks in fixed-priority systems. In: Proceedings of the Real-Time Systems Symposium, Raleigh-Durham, NC, December 1993, pp. 160–171 (1993). https://doi.org/10.1109/REAL.1993.393504
Sprunt, B., Lehoczky, J.P., Sha, L.: Exploiting unused periodic time for aperiodic service using the extended priority exchange algorithm. In: Proceedings of the 9th IEEE Real-Time Systems Symposium, RTSS 1988, Huntsville, Alabama, USA, 6–8 December 1988, pp. 251–258. IEEE Computer Society (1988). https://doi.org/10.1109/REAL.1988.51120
Sprunt, B., Sha, L., Lehoczky, J.: Aperiodic task scheduling for hard-real-time systems. Real-Time Syst. 1(1), 27–60 (1989). https://doi.org/10.1007/BF02341920
Spuri, M., Buttazzo, G.C.: Scheduling aperiodic tasks in dynamic priority systems. Real-Time Syst. 10(2), 179–210 (1996). https://doi.org/10.1007/BF00360340
Stankovic, J.A.: Misconceptions about real-time computing: a serious problem for next-generation systems. Computer 21(10), 10–19 (1988). https://doi.org/10.1109/2.7053
Strosnider, J., Lehoczky, J., Sha, L.: The deferrable server algorithm for enhanced aperiodic responsiveness in hard real-time environments. IEEE Trans. Comput. 44(1), 73–91 (1995). https://doi.org/10.1109/12.368008
Tia, T.-S., Liu, J.W.-S., Shankar, M.: Algorithms and optimality of scheduling soft aperiodic requests in fixed-priority preemptive systems. Real-Time Syst. 10(1), 23–43 (1996). https://doi.org/10.1007/BF00357882
Urriza, J.M., Páez, F.E., Ferrari, M., Cayssials, R., Orozco, J.D.: A new RM/DM low cost schedulability test. In: 2017 Eight Argentine Symposium and Conference on Embedded Systems (CASE), pp. 1–6 (2017). https://doi.org/10.23919/SASE-CASE.2017.8115368
Urriza, J.M., Paez, F.E., Cayssials, R., Orozco, J.D., Schorb, L.S.: Low cost slack stealing method for RM/DM. Int. Rev. Comput. Softw. 5(6), 660–667 (2010)
Wilhelm, R., et al.: The worst-case execution-time problem - overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7(3), 36:1–36:53 (2008). https://doi.org/10.1145/1347375.1347389
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Páez, F.E., Urriza, J.M., Orozco, J.D. (2021). Idle Time Administration on FreeRTOS Using Slack Stealing. In: Pesado, P., Eterovic, J. (eds) Computer Science – CACIC 2020. CACIC 2020. Communications in Computer and Information Science, vol 1409. Springer, Cham. https://doi.org/10.1007/978-3-030-75836-3_19
Download citation
DOI: https://doi.org/10.1007/978-3-030-75836-3_19
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-75835-6
Online ISBN: 978-3-030-75836-3
eBook Packages: Computer ScienceComputer Science (R0)