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...

ver descrição completa

Detalhes bibliográficos
Autor principal: Gomes, Tiago Manuel Ribeiro (author)
Outros Autores: Garcia, Paulo Fernando Rocha (author), Salgado, Filipe Alexandre Andrade (author), Monteiro, João L. (author), Ekpanyapong, Mongkol (author), Tavares, Adriano (author)
Formato: article
Idioma:eng
Publicado em: 2015
Assuntos:
Texto completo:http://hdl.handle.net/1822/52854
País:Portugal
Oai:oai:repositorium.sdum.uminho.pt:1822/52854
Descrição
Resumo: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.