Task-aware interrupt controller: priority space unification in real-time systems

In the development of real-time systems, predictability is often hindered by technological factors which break the timing abstractions offered by real time operating systems (RTOSs); namely, the priority space separation between threads and interrupts induces the rate-monotonic problem. Software app...

Full description

Bibliographic Details
Main Author: Gomes, Tiago Manuel Ribeiro (author)
Other Authors: Garcia, Paulo Fernando Rocha (author), Salgado, Filipe Alexandre Andrade (author), Monteiro, João L. (author), Ekpanyapong, Mongkol (author), Tavares, Adriano (author)
Format: article
Language:eng
Published: 2015
Subjects:
Online Access:http://hdl.handle.net/1822/52854
Country:Portugal
Oai:oai:repositorium.sdum.uminho.pt:1822/52854
Description
Summary:In the development of real-time systems, predictability is often hindered by technological factors which break the timing abstractions offered by real time operating systems (RTOSs); namely, the priority space separation between threads and interrupts induces the rate-monotonic problem. Software approaches have tackled this issue, attempting to unify the priority space with varying degrees of success. We present a hardware approach to the problem: unifying the priority space at the interrupt handling subsystem, predictability is greatly enhanced with minimum software modifications. Our solution provides the interrupt controller with awareness of the currently running task's priority making the solution independent of the used operating system. We show how our approach is minimally intrusive at hardware architecture level and provides benefits beyond the capabilities of previous approaches. Our technique shows a 0.05% run-time overhead if no interrupts occur, and run-time reduction proportional to interrupt rate for rates higher than 5 per s, for a interrupt workload around 0.07 ms.