Skip to main content

Idle Time Administration on FreeRTOS Using Slack Stealing

  • Conference paper
  • First Online:
Computer Science – CACIC 2020 (CACIC 2020)

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%.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://www.freertos.org.

  2. 2.

    https://percepio.com/tracealyzer/.

References

  1. 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

  2. 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

  3. Davis, R.I.: Approximate slack stealing algorithms for fixed priority preemptive systems. University of York, Department of Computer Science (1993)

    Google Scholar 

  4. 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

  5. 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

  6. 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)

    Google Scholar 

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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)

    Google Scholar 

  27. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Francisco E. Páez .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics