Parallel, hardware-supported interrupt handling in an event-triggered real-time operating system

A common problem in event-triggered real-time systems is caused by low-priority tasks that are implemented as interrupt handlers interrupting and disturbing high-priority tasks that are implemented as threads. This problem is termed rate-monotonic priority inversion, and current software-based solutions are restricted in terms of more sophisticated scheduler features as demanded for instance by the AUTOSAR embedded-operating-system specification. We propose a hardware-based approach that makes use of a coprocessor to eliminate the potential priority inversion. By evaluating a prototypical implementation, we show that our approach both overcomes the restrictions of software approaches and introduces only a slight processing overhead in exchange for increased predictability.

[1]  Wolfgang K. Giloi,et al.  Latency hiding in message-passing architectures , 1994, Proceedings of 8th International Parallel Processing Symposium.

[2]  Francesco Regazzoni,et al.  Hardware/software partitioning of operating systems: a behavioral synthesis approach , 2006, ACM Great Lakes Symposium on VLSI.

[3]  Dionisio de Niz,et al.  Predictable Interrupt Scheduling with Low Overhead for Real-Time Kernels , 2006, 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06).

[4]  Wayne M. Loucks,et al.  A hardware/software kernel for system on chip designs , 2004, SAC '04.

[5]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time operating systems , 1989, OPSR.

[6]  Dionisio de Niz,et al.  Predictable Interrupt Management for Real Time Kernels over conventional PC Hardware , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[7]  Hamido Fujita,et al.  Special issue on "techniques to produce Intelligent_Secure software" , 2007, Knowl. Based Syst..

[8]  Henrik Thane,et al.  Hardware support for priority inheritance , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[9]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[10]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[11]  HofriMicha Proof of a mutual exclusion algorithma classic example , 1990 .

[12]  Olaf Spinczyk,et al.  The design and implementation of AspectC++ , 2007, Knowl. Based Syst..

[13]  Wolfgang Schröder-Preikschat,et al.  CiAO: An Aspect-Oriented Operating-System Family for Resource-Constrained Embedded Systems , 2009, USENIX Annual Technical Conference.

[14]  John Regehr,et al.  Preventing interrupt overload , 2005, LCTES '05.

[15]  Lui Sha,et al.  Aperiodic task scheduling for Hard-Real-Time systems , 2006, Real-Time Systems.

[16]  Scott Rixner,et al.  Connection handoff policies for TCP offload network interfaces , 2006, OSDI '06.

[17]  Lennart Lindh Fastchart-a fast time deterministic CPU and hardware based real-time-kernel , 1991, Proceedings. EUROMICRO `91 Workshop on Real-Time Systems.

[18]  Douglas M. Blough,et al.  Atalanta: A New Multiprocessor RTOS Kernel for System-on-a-Chip Applications , 2002 .

[19]  Masaharu Imai,et al.  Hardware implementation of a real-time operating system , 1995, Proceedings of the 12th TRON Project International Symposium.