Academia.eduAcademia.edu

Outline

An Architecture for Declarative Real-Time Scheduling on Linux

2020, 2020 IEEE 23rd International Symposium on Real-Time Distributed Computing (ISORC)

Abstract

This paper proposes a novel framework and programming model for real-time applications supporting a declarative access to real-time CPU scheduling features that are available on an operating system. The core idea is to let applications declare their temporal characteristics and/or requirements on the CPU allocation, where, for example, some of them may require real-time POSIX priorities, whilst others might need resource reservations through SCHED_DEADLINE. The framework can properly handle such a set of heterogeneous requirements configuring an underlying multi-core platform so to exploit the various scheduling disciplines that are available in the kernel, matching applications requirements. The framework is realized as a modular architecture in which different plugins handle independently certain real-time scheduling features within the underlying kernel, easing the customization of its behavior to support other schedulers or operating systems by adding further plugins.

References (30)

  1. J. Kiszka, "Towards Linux as a real-time hypervisor," in Proceedings of the 11th Real-Time Linux Workshop. Citeseer, 2009, pp. 215-224.
  2. K. Obenland, "The use of POSIX in real-time systems, assessing its effectiveness and performance," 01 2000.
  3. S. Rostedt and D. V. Hart, "Internals of the RT patch," in Proceedings of the Linux symposium, vol. 2, 2007, pp. 161-172.
  4. F. Reghenzani, G. Massari, and W. Fornaciari, "The real-time Linux kernel: A survey on Preempt_RT," ACM Computing Surveys, vol. 52, pp. 1-36, 02 2019.
  5. J. Lelli, C. Scordino, L. Abeni, and D. Faggioli, "Deadline scheduling in the Linux kernel," Software: Practice and Experience, vol. 46, no. 6, pp. 821-839, 2016. [Online]. Available: https: //onlinelibrary.wiley.com/doi/abs/10.1002/spe.2335
  6. L. Abeni and G. Buttazzo, "Integrating multimedia applications in hard real-time systems," in Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No. 98CB36279). IEEE, 1998, pp. 4-13.
  7. Ayers and B. V. Yodaiken, "Introducing real-time Linux," Linux J., vol. 1997, no. 34es, p. 5-es, Feb. 1997.
  8. L. Dozio and P. Mantegazza, "Real time distributed control systems using RTAI," in Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003., May 2003, pp. 11-18.
  9. P. Gerum, "Xenomai-implementing a RTOS emulation framework on GNU/Linux."
  10. S. Han and H.-W. Jin, "Kernel-level arinc 653 partitioning for linux," Proceedings of the ACM Symposium on Applied Computing, 03 2012.
  11. ARINC, "Avionics application software standard interface part 1 - required services," 2015.
  12. B. Srinivasan, S. Pather, R. Hill, F. Ansari, and D. Niehaus, "A firm real- time system implementation using commercial off-the-shelf hardware and free software," in Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245), June 1998, pp. 112-119.
  13. S. Brandt, G. Nutt, T. Berk, and J. Mankovich, "A dynamic quality of service middleware agent for mediating application resource us- age," in Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279), Dec 1998, pp. 307-317.
  14. R. Rajkumar, C. Lee, J. Lehoczky, and D. Siewiorek, "A resource allo- cation model for qos management," in Proceedings Real-Time Systems Symposium, Dec 1997, pp. 298-307.
  15. S. Ghosh, J. Hansen, R. Rajkumar, and J. Lehoczky, "Integrated resource management and scheduling with multi-resource constraints," in 25th IEEE International Real-Time Systems Symposium, Dec 2004, pp. 12- 22.
  16. J. M. Calandrino, H. Leontyev, A. Block, U. C. Devi, and J. H. Anderson, "LITMUS RT : A testbed for empirically comparing real-time multiprocessor schedulers," in 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06), Dec 2006, pp. 111-126.
  17. RealtimeKit (RTKit) GitHub Repository. Accessed January 10, 2020. [Online]. Available: https://github.com/heftig/rtkit
  18. M. Aldea, G. Bernat, I. Broster, A. Burns, R. Dobrin, J. M. Drake, G. Fohler, P. Gai, M. G. Harbour, G. Guidi, J. J. Gutierrez, T. Lennvall, G. Lipari, J. M. Martinez, J. L. Medina, J. C. Palencia, and M. Trimarchi, "FSF: A real-time scheduling architecture framework," in 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06), April 2006, pp. 113-124.
  19. P. Gai, L. Abeni, M. Giorgi, and G. Buttazzo, "A new kernel approach for modular real-time systems development," in Proceedings 13th Eu- romicro Conference on Real-Time Systems, June 2001, pp. 199-206.
  20. M. Aldea-Rivas and M. Harbour, "MaRTE OS: An Ada kernel for real- time embedded applications," vol. 2043, 05 2001, pp. 305-316.
  21. M. Sojka, P. Píša, D. Faggioli, T. Cucinotta, F. Checconi, Z. Hanzálek, and G. Lipari, "Modular software architecture for flexible reservation mechanisms on heterogeneous resources," Journal of Systems Architecture, vol. 57, no. 4, pp. 366 -382, 2011. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S1383762111000282
  22. L. Palopoli, T. Cucinotta, L. Marzario, and G. Lipari, "Aquosa-adaptive quality of service architecture," Software: Practice and Experience, vol. 39, no. 1, pp. 1-31, 2009. [Online]. Available: https://onlinelibrary. wiley.com/doi/abs/10.1002/spe.883
  23. M. Sojka, M. Molnar, and Z. Hanzalek, "Experiments for real-time communication contracts in ieee 802.11e edca networks," in 2008 IEEE International Workshop on Factory Communication Systems, May 2008, pp. 89-92.
  24. D. Sangorrín, M. González Harbour, H. Pérez, and J. J. Gutiérrez, "Man- aging transactions in flexible distributed real-time systems," in Reliable Software Technologiey -Ada-Europe 2010, J. Real and T. Vardanega, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2010, pp. 251- 264.
  25. M. Åsberg, T. Nolte, S. Kato, and R. Rajkumar, "Exsched: An external cpu scheduler framework for real-time systems," in 2012 IEEE Interna- tional Conference on Embedded and Real-Time Computing Systems and Applications, Aug 2012, pp. 240-249.
  26. T. Cucinotta, D. Giani, D. Faggioli, and F. Checconi, "Effective real-time computing on Linux," in 12th Real-Time Linux Workshop, 2010.
  27. G. Buttazzo, Hard real-time computing systems: predictable scheduling algorithms and applications. Springer Science & Business Media, 2011, vol. 24.
  28. D. Faggioli, F. Checconi, M. Trimarchi, and C. Scordino, "An EDF scheduling class for the Linux kernel," in 11th Real-Time Linux Work- shop, 2009.
  29. D. Casini, A. Biondi, and G. Buttazzo, "Handling transients of dynamic real-time workload under EDF scheduling," IEEE Transactions on Computers, vol. 68, no. 6, pp. 820-835, 2018.
  30. J. Corbet. (2019, July) Completing the pidfd API. Accessed January 10, 2020. [Online]. Available: https://lwn.net/Articles/794707