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.
- 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 Scholar
- 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 ScholarDigital Library
- Intel Corporation. 21143 PCI/CardBus 10/100Mb/s Ethernet LAN Controller, October 1998. ftp://download.intel.com/design/network/manuals/27807401.pdf.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Ethernut: Tiny embedded Ethernet devices. http://www.ethernut.de.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Scott Karlin and Larry Peterson. Maximum packet rates for full-duplex Ethernet. Technical Report TR-645-02, Princeton University, February 2002.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Charles Murray and Catherine Bly Cox. Apollo: The Race to the Moon. Simon and Schuster, 1989.Google Scholar
- 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 ScholarDigital Library
- OpenCores. http://www.opencores.org.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- TimeSys Corporation. TimeSys Linux. http://timesys.com/.Google Scholar
- 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 ScholarDigital Library
Index Terms
- Preventing interrupt overload
Recommendations
Preventing interrupt overload
LCTES '05: Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systemsPerformance 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, ...
Comparison of Generally Applicable Mechanisms for Preventing Embedded Event-Driven Real-Time Systems from Interrupt Overloads
ECBS-EERC '15: Proceedings of the 2015 4th Eastern European Regional Conference on the Engineering of Computer Based SystemsThis paper is related to event-driven embedded systems whose function can be divided into the real-time (RT) and non-RT parts. Such a system must be designed so that all predetermined timing constraints are met at runtime, even in adverse conditions ...
Interrupt handler migration and direct interrupt scheduling for rapid scheduling of interrupt-driven tasks
In this article, we propose two techniques that aim to minimize the scheduling latency of high-priority interrupt-driven tasks, named the Interrupt Handler Migration (IHM) and Direct Interrupt Scheduling (DIS). The IHM allows the interrupt handler to be ...
Comments