|
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
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked 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.
|
| |
2
|
|
| |
3
|
Intel Corporation. 21143 PCI/CardBus 10/100Mb/s Ethernet LAN Controller, October 1998. ftp://download.intel.com/design/network/manuals/27807401.pdf.
|
| |
4
|
|
 |
5
|
|
| |
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.
|
| |
7
|
Ethernut: Tiny embedded Ethernet devices. http://www.ethernut.de.
|
| |
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.
|
| |
9
|
|
 |
10
|
Jason Hill , Robert Szewczyk , Alec Woo , Seth Hollar , David Culler , Kristofer Pister, System architecture directions for networked sensors, Proceedings of the ninth international conference on Architectural support for programming languages and operating systems, p.93-104, November 2000, Cambridge, Massachusetts, United States
|
| |
11
|
|
 |
12
|
Michael B. Jones , Daniela Roşu , Marcel-Cătălin Roşu, CPU reservations and time constraints: efficient, predictable scheduling of independent activities, Proceedings of the sixteenth ACM symposium on Operating systems principles, p.198-211, October 05-08, 1997, Saint Malo, France
|
| |
13
|
Scott Karlin and Larry Peterson. Maximum packet rates for full-duplex Ethernet. Technical Report TR-645-02, Princeton University, February 2002.
|
| |
14
|
|
| |
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.
|
 |
16
|
|
| |
17
|
|
| |
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.
|
 |
19
|
|
| |
20
|
Charles Murray and Catherine Bly Cox. Apollo: The Race to the Moon. Simon and Schuster, 1989.
|
| |
21
|
|
| |
22
|
OpenCores. http://www.opencores.org.
|
| |
23
|
|
| |
24
|
|
| |
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.
|
| |
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.
|
| |
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.
|
| |
28
|
TimeSys Corporation. TimeSys Linux. http://timesys.com/.
|
| |
29
|
|
|