Baldovin, Andrea
(2014)
Operating System Contribution to Composable Timing Behaviour in High-Integrity Real-Time Systems, [Dissertation thesis], Alma Mater Studiorum Università di Bologna.
Dottorato di ricerca in
Informatica, 26 Ciclo. DOI 10.6092/unibo/amsdottorato/6597.
Documenti full-text disponibili:
Abstract
The development of High-Integrity Real-Time Systems has a high footprint in terms of human, material and schedule costs. Factoring functional, reusable logic in the application favors incremental development and contains costs. Yet, achieving incrementality in the timing behavior is a much harder problem. Complex features at all levels of the execution stack, aimed to boost average-case performance, exhibit timing behavior highly dependent on execution history, which wrecks time composability and incrementaility with it.
Our goal here is to restitute time composability to the execution stack, working bottom up across it. We first characterize time composability without making assumptions on the system architecture or the software deployment to it. Later, we focus on the role played by the real-time operating system in our pursuit. Initially we consider single-core processors and, becoming less permissive on the admissible hardware features, we devise solutions that restore a convincing degree of time composability.
To show what can be done for real, we developed TiCOS, an ARINC-compliant kernel, and re-designed ORK+, a kernel for Ada Ravenscar runtimes. In that work, we added support for limited-preemption to ORK+, an absolute premiere in the landscape of real-word kernels. Our implementation allows resource sharing to co-exist with limited-preemptive scheduling, which extends state of the art.
We then turn our attention to multicore architectures, first considering partitioned systems, for which we achieve results close to those obtained for single-core processors. Subsequently, we shy away from the over-provision of those systems and consider less restrictive uses of homogeneous multiprocessors, where the scheduling algorithm is key to high schedulable utilization. To that end we single out RUN, a promising baseline, and extend it to SPRINT, which supports sporadic task sets, hence matches real-world industrial needs better.
To corroborate our results we present findings from real-world case studies from avionic industry.
Abstract
The development of High-Integrity Real-Time Systems has a high footprint in terms of human, material and schedule costs. Factoring functional, reusable logic in the application favors incremental development and contains costs. Yet, achieving incrementality in the timing behavior is a much harder problem. Complex features at all levels of the execution stack, aimed to boost average-case performance, exhibit timing behavior highly dependent on execution history, which wrecks time composability and incrementaility with it.
Our goal here is to restitute time composability to the execution stack, working bottom up across it. We first characterize time composability without making assumptions on the system architecture or the software deployment to it. Later, we focus on the role played by the real-time operating system in our pursuit. Initially we consider single-core processors and, becoming less permissive on the admissible hardware features, we devise solutions that restore a convincing degree of time composability.
To show what can be done for real, we developed TiCOS, an ARINC-compliant kernel, and re-designed ORK+, a kernel for Ada Ravenscar runtimes. In that work, we added support for limited-preemption to ORK+, an absolute premiere in the landscape of real-word kernels. Our implementation allows resource sharing to co-exist with limited-preemptive scheduling, which extends state of the art.
We then turn our attention to multicore architectures, first considering partitioned systems, for which we achieve results close to those obtained for single-core processors. Subsequently, we shy away from the over-provision of those systems and consider less restrictive uses of homogeneous multiprocessors, where the scheduling algorithm is key to high schedulable utilization. To that end we single out RUN, a promising baseline, and extend it to SPRINT, which supports sporadic task sets, hence matches real-world industrial needs better.
To corroborate our results we present findings from real-world case studies from avionic industry.
Tipologia del documento
Tesi di dottorato
Autore
Baldovin, Andrea
Supervisore
Dottorato di ricerca
Scuola di dottorato
Scienze e ingegneria dell'informazione
Ciclo
26
Coordinatore
Settore disciplinare
Settore concorsuale
Parole chiave
real-time systems, time composability, single core, multicore, RTOS, operating system, kernel, ARINC, Ravenscar, limited preemption, resource sharing, ICPP, ORK+, scheduling, RUN, SPRINT
URN:NBN
DOI
10.6092/unibo/amsdottorato/6597
Data di discussione
19 Maggio 2014
URI
Altri metadati
Tipologia del documento
Tesi di dottorato
Autore
Baldovin, Andrea
Supervisore
Dottorato di ricerca
Scuola di dottorato
Scienze e ingegneria dell'informazione
Ciclo
26
Coordinatore
Settore disciplinare
Settore concorsuale
Parole chiave
real-time systems, time composability, single core, multicore, RTOS, operating system, kernel, ARINC, Ravenscar, limited preemption, resource sharing, ICPP, ORK+, scheduling, RUN, SPRINT
URN:NBN
DOI
10.6092/unibo/amsdottorato/6597
Data di discussione
19 Maggio 2014
URI
Statistica sui download
Gestione del documento: