skip to main content
research-article

Integrated Task and Interrupt Management for Real-Time Systems

Published:01 July 2012Publication History
Skip Abstract Section

Abstract

Real-time scheduling algorithms like RMA or EDF and their corresponding schedulability test have proven to be powerful tools for developing predictable real-time systems. However, the traditional interrupt management model presents multiple inconsistencies that break the assumptions of many of the real-time scheduling tests, diminishing its utility. In this article, we analyze these inconsistencies and present a model that resolves them by integrating interrupts and tasks in a single scheduling model. We then use the RMA theory to calculate the cost of the model and analyze the circumstances under which it can provide the most value. This model was implemented in a kernel module. The portability of the design of our module is discussed in terms of its independence from both the hardware and the kernel. We also discuss the implementation issues of the model over conventional PC hardware, along with its cost and novel optimizations for reducing the overhead. Finally, we present our experimental evaluation to show evidence of its temporal determinism and overhead.

References

  1. Abeni, L., Manica, N., and Palopoli, L. 2009. Reservation-based scheduling for IRQ threads. In Proceedings of the 11th Real-Time Linux Workshop. 179--186.Google ScholarGoogle Scholar
  2. Carlsson M., Engblom, J., Ermedahl, A., Lindblad, J., and Lisper, B. 2002. Worst-case execution time analysis of disable interrupt regions in a commercial real-time operating system. In Proceedings of the 2nd International Workshop on Real-Time Tools.Google ScholarGoogle Scholar
  3. Dannowski, U., Skoglund, E., and Uhlig, V. 2001. Interrupt handling. In Proceedings of the 2nd Workshop on Microkernel-based Systems.Google ScholarGoogle Scholar
  4. Facchinetti, T., Buttazzo, G., Marinoni, M., and Guidi, G. 2005. Non-preemptive interrupt scheduling for safe reuse of legacy drivers. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Hills, T. 1993. Structured interrupts. Oper. Syst. Rev. 27, 1, 51--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Hofer, W., Lohmann, D., Scheler, F., and Schröder-Preikschat, W. 2009. Sloth: Threads as interrupts. In Proceedings of the 30th IEEE Real-Time Systems Symposium (RTSS’09). 204--213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Jeffay, K. and Stone, D. L. 1993. Accounting for interrupt handling cost in dynamic priority task systems. In Proceedings of the IEEE Real-Time Systems Symposium. 212--221.Google ScholarGoogle Scholar
  8. Joseph, M. and Pandya, P. 1986. Finding response times in real-time systems. Comput. J. 29, 5, 390--395.Google ScholarGoogle ScholarCross RefCross Ref
  9. Kleiman, S. and Eykholt, J. 1995. Interrupts as threads. ACM SIGOPS Oper. Syst. Rev. 21, 2, 21--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Klein, M. H., Ralya, T., Pollack, B., Obenza, R., and Harbour, M. G. 1989. A Practitioner’s Handbook for Real-Time Analysis. Kluwer Academic Publishers, Norwell, M.A. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Kopetz, H., Damm, A., Koza, C., Mulazzani, M., Schwabi, W., Seuft, C., and Zainlinger, R. 1989. Distributed fault-tolerant Real-time systems: The MARS approach. IEEE Micro 9, 1, 25--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Lee, M., Lee, J., Shyshkalov, A., Seo, J., Hong, I., and Shin, I. 2010. On interrupt scheduling based on process priority for predictable real-time behavior. ACM SIGBED Rev. 7, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Lehoczky, J., Sha, L., and Ding, Y. 1989. The rate monotonic scheduling algorithm: exact characterization and average case behaviour. In Proceedings of the IEEE Real-Time Systems Symposium. 166--171.Google ScholarGoogle Scholar
  14. Lewandowski, M., Stanovich, M. J., Baker, T. P., Gopalan, K., and Wang, A. 2007. Modelling device driver effects in real-time schedulability analysis: Study of a network driver. In Proceedings of the 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS’07). 57--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Leyva-del-Foyo, L. E. and Mejia-Alvarez, P. 2004. Custom interrupt management for real-time and embedded system kernels. In Proceedings of the Embedded Real-Time Systems Implementation Workshop at the 25th IEEE International Real-Time Systems Symposium (RTSS’04).Google ScholarGoogle Scholar
  16. Leyva-del-Foyo, L. E., Mejia-Alvarez, P., and De Niz, D. 2006a. Abnormal events handling for dependable embedded systems. In Proceedings of the 7th Mexican International Conference on Computer Science (ENC’06). 81--91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Leyva-del-Foyo, L. E., Mejia-Alvarez, P., and De Niz, D. 2006b. Predictable interrupt scheduling with low overhead for real time kernels. In Proceedings of the 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. 385--394. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Leyva-Del-Foyo, L. E., Mejia-Alvarez, P., and De Niz, D. 2006c. Predictable interrupt management for real time kernels over conventional PC hardware. In Proceedings of IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’06). 14--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Liedtke, J. 1996. Towards real microkernels. Commun. ACM 39, 9, 70--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Liu, M., Liu, D., Wang, Y., Wang, M., and Shao, Z. 2010. On improving real-time interrupt latencies of hybrid operating systems with two-level hardware interrupts. IEEE Trans. Comput. Forthcoming. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Parmer, G. and West, R. 2008. Predictable interrupt management and schedulability in the composite component-based systems. In Proceedings of the 29th Real-Time Systems Symposium. 232--243. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Regehr, J. 2008. Safe and structured use of interrupts in real-time and embedded software. In Handbook of Real-Time and Embedded Systems, I. Lee, J. Y.-T. Leung, and S. H. Son Eds., Chapman & Hall/CRC.Google ScholarGoogle Scholar
  23. Regnier, P., Lima, G., and Barreto, L. 2008. Evaluation of interrupt handling timeliness in real-time linux operating systems. ACM SIGOPS Oper. Syst. Rev. 42, 6, 52--63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Rostedt, S. and Hard, D. V. 2007. Internals of the RT patch. In Proceedings of the Linux Symposium. 161--172.Google ScholarGoogle Scholar
  25. Ruocco, S. 2006. Real-time programming and L4 microkernels. In Proceedings of the Workshop on Operating System Platforms for Embedded Real-Time Applications.Google ScholarGoogle Scholar
  26. Scheler, F., Hofer, W., Oechslein, B., Pfister, R., Schröder-Preikschat, W., and Lohmann, D. 2009. Parallel, hardware-supported interrupt handling in an event-triggered real-time operating system. The 2009 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES’09). Grenoble, France, October 2009, 167--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Sprunt, B. 1990. Aperiodic task scheduling for real-time systems. Ph.D. dissertation, Carnegie Mellon University, Pittsburg, PA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Stewart, D. B. 1999. Twenty-five-most commons mistakes with real-time software development. In Proceedings of Embedded Systems Conference.Google ScholarGoogle Scholar
  29. Stewart, D. B. and Arora, G. 2003. A tool for analyzing and fine tuning the real-time properties of an embedded system. Trans. Softw. Eng. 29, 4, 311--326. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Stodolsky, D., Chen, J. B., and Bershad, B. N. 1993. Fast interrupt priority management in operating system kernels. In Proceedings of the USENIX Symposium on Micro-Kernels and Other Kernel Architectures. 105--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Theodore, P. B. 1990. Protected records, time management and distribution. ACM SIGAda Lett. X, 9, 17--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Tindell, K. W. 1999. RTOS interrupt handling: Common errors and how to avoid them. Embed. Syst. Prog. Eur.Google ScholarGoogle Scholar
  33. Zhang, Y. 2009. Prediction-based interrupt scheduling. In Proceedings of the 30th IEEE International Real-Time Systems Symposium, Work-in-Progress Session.Google ScholarGoogle Scholar
  34. Zhang, Y. and West, R. 2006. Process-aware interrupt scheduling and accounting. In Proceedings of the 27th IEEE International Real-Time Systems Symposium. 191--201. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Integrated Task and Interrupt Management for Real-Time Systems

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!