skip to main content
article

Preventing interrupt overload

Published:15 June 2005Publication History
Skip Abstract Section

Abstract

Performance guarantees can be given to tasks in an embedded system by ensuring that access to each shared resource is mediated by an appropriate scheduler. However, almost all previous work on CPU scheduling has focused on thread-level scheduling, resulting in systems that are vulnerable to a lower-level form of overload that occurs when too many interrupts arrive. This paper describes three new techniques, two software-based and one hardware-based, for creating systems that delay or drop excessive interrupt requests before they can overload a processor. Our interrupt schedulers bound both the amount of work performed in interrupt context and its granularity, making it possible to provide strong progress guarantees to thread-level processing. We show that our solutions work and are efficient when implemented on embedded processors. We have also taken a description for a microprocessor in VHDL, modified it to include logic that prevents interrupt overload, synthesized the processor, and verified that it works using simulation. By allowing developers to avoid making assumptions about the worst-case interrupt rates of peripherals, our work fills an important gap in the chain of reasoning leading to a validated system. These techniques cannot replace careful system design, but they do provide a last-ditch safety guarantee in the presence of a serious malfunction.

References

  1. Luca Abeni and Giuseppe Lipari. Compensating for interrupt process times in real-time multimedia systems. In Proc. of the 3rd Real-Time Linux Workshop, Work in Progress Session, Milan, Italy, November 2001.Google ScholarGoogle Scholar
  2. Ian Broster and Alan Burns. An analysable bus-guardian for event-triggered communication. In Proc. of the 24th IEEE Real-Time Systems Symp. (RTSS), pages 410--419, Cancun, Mexico, December 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Intel Corporation. 21143 PCI/CardBus 10/100Mb/s Ethernet LAN Controller, October 1998. ftp://download.intel.com/design/network/manuals/27807401.pdf.Google ScholarGoogle Scholar
  4. Uwe Dannowski and Hermann Härtig. Policing offloaded. In Proc. of the 6th IEEE Real-Time Technology and Applications Symp. (RTAS), pages 218--227, Washington, DC, May 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Peter Druschel and Gaurav Banga. Lazy Receiver Processing (LRP): A network subsystem architecture for server systems. In Proc. of the 2nd Symp. on Operating Systems Design and Implementation, pages 261--276, Seattle, WA, October 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jakob Engblom, Andreas Ermedahl, Mikael Nolin, Jan Gustafsson, and Hans Hansson. Worst-case execution-time analysis for embedded real-time systems. Journal of Software Tool and Transfer Technology (STTT), 4(4):437--455, August 2003.Google ScholarGoogle Scholar
  7. Ethernut: Tiny embedded Ethernet devices. http://www.ethernut.de.Google ScholarGoogle Scholar
  8. Laurent George, Nicolas Rivierre, and Marco Spuri. Preemptive and non-preemptive real-time uni-processor scheduling. Technical Report 2966, INRIA, Rocquencourt, France, September 1996.Google ScholarGoogle Scholar
  9. Dan Hildebrand. An architectural overview of QNX. In Proc. of the USENIX Workshop on Micro-kernels and Other Kernel Architectures, pages 113--126, Seattle, WA, April 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, and Kristofer Pister. System architecture directions for networked sensors. In Proc. of the 9th Intl. Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 93--104, Cambridge, MA, November 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Kevin Jeffay and Steve Goddard. A theory of rate-based execution. In Proc. of the 20th IEEE Real-Time Systems Symp. (RTSS), pages 304--314, Phoenix, AZ, December 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Michael B. Jones, Daniela Rosşu, and Marcel-Cǎtǎ alin Roşu. CPU Reservations and Time Constraints: Efficient, predictable scheduling of independent activities. In Proc. of the 16th ACM Symp. on Operating Systems Principles (SOSP), pages 198--211, Saint-Malô, France, October 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Scott Karlin and Larry Peterson. Maximum packet rates for full-duplex Ethernet. Technical Report TR-645-02, Princeton University, February 2002.Google ScholarGoogle Scholar
  14. Hermann Kopetz. The time-triggered model of computation. In Proc. of the 19th IEEE Real-Time Systems Symp. (RTSS), pages 168--177, Madrid, Spain, December 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Ian Leslie, Derek McAuley, Richard Black, Timothy Roscoe, Paul Barham, David Evers, Robin Fairbairns, and Eoin Hyden. The design and implementation of an operating system to support distributed multimedia applications. IEEE Journal on Selected Areas in Communications, 14(7):1280--1297, September 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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, January 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Thomas Lundqvist and Per Stenstrõm. An integrated path and timing analysis method based on cycle-level symbolic execution. Journal of Real-Time Systems, 17(2/3):183--207, November 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Clifford W. Mercer, Stefan Savage, and Hideyuki Tokuda. Processor capacity reserves for multimedia operating systems. In Proc. of the IEEE Intl. Conf. on Multimedia Computing and Systems, May 1994.Google ScholarGoogle ScholarCross RefCross Ref
  19. Jeffrey C. Mogul and K. K. Ramakrishnan. Eliminating receive livelock in an interrupt-driven kernel. ACM Transactions on Computer Systems, 15(3):217--252, August 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Charles Murray and Catherine Bly Cox. Apollo: The Race to the Moon. Simon and Schuster, 1989.Google ScholarGoogle Scholar
  21. Jason Nieh, James G. Hanko, J. Duane Northcutt, and Gerard A. Wall. SVR4 UNIX scheduler unacceptable for multimedia applications. In Proc. of the 4th Intl. Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV), November 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. OpenCores. http://www.opencores.org.Google ScholarGoogle Scholar
  23. John Regehr, Alastair Reid, Kirk Webb, Michael Parker, and Jay Lepreau. Evolving real-time systems using hierarchical scheduling and concurrency analysis. In Proc. of the 24th IEEE Real-Time Systems Symp. (RTSS), Cancun, Mexico, December 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. John Regehr and John A. Stankovic. Augmented CPU reservations: Towards predictable execution on general-purpose operating systems. In Proc. of the 7th IEEE Real-Time Technology and Applications Symp. (RTAS), pages 141--148, Taipei, Taiwan, May 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Manas Saksena and Yun Wang. Scalable real-time system design using preemption thresholds. In Proc. of the 21st IEEE Real-Time Systems Symp. (RTSS), Orlando, FL, November 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Lui Sha, Ragunathan Rajkumar, and Shirish S. Sathaye. Generalized rate-monotonic scheduling theory: A framework for developing real-time systems. Proc. of the IEEE, 82(1):68--82, January 1994.Google ScholarGoogle ScholarCross RefCross Ref
  27. Brinkley Sprunt, Lui Sha, and John P. Lehoczky. Aperiodic task scheduling for hard real-time systems. Real-Time Systems Journal, 1(1):27--60, June 1989.Google ScholarGoogle ScholarCross RefCross Ref
  28. TimeSys Corporation. TimeSys Linux. http://timesys.com/.Google ScholarGoogle Scholar
  29. Ken Tindell, Alan Burns, and Andy J. Wellings. An extendible approach for analysing fixed priority hard real-time tasks. Real-Time Systems Journal, 6(2):133--151, March 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Preventing interrupt overload

          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

          • Published in

            cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 40, Issue 7
            Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
            July 2005
            238 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/1070891
            Issue’s Table of Contents
            • cover image ACM Conferences
              LCTES '05: Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
              June 2005
              248 pages
              ISBN:1595930183
              DOI:10.1145/1065910
              • General Chair:
              • Yunheung Paek,
              • Program Chair:
              • Rajiv Gupta

            Copyright © 2005 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 15 June 2005

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader