Load-based schedulability analysis of certifiable mixed-criticality systems
EMSOFT '10 Proceedings of the tenth ACM international conference on Embedded software
Dynamic tuning of feature set in highly variant interactive applications
EMSOFT '10 Proceedings of the tenth ACM international conference on Embedded software
Implementing mixed criticality systems in Ada
Ada-Europe'11 Proceedings of the 16th Ada-Europe international conference on Reliable software technologies
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Timing faults and mixed criticality systems
Dependable and Historic Computing
On Resource Overbooking in an Unmanned Aerial Vehicle
ICCPS '12 Proceedings of the 2012 IEEE/ACM Third International Conference on Cyber-Physical Systems
Overload provisioning in mixed-criticality cyber-physical systems
ACM Transactions on Embedded Computing Systems (TECS)
An elastic mixed-criticality task model and its scheduling algorithm
Proceedings of the Conference on Design, Automation and Test in Europe
Fixed-priority scheduling of dual-criticality systems
Proceedings of the 21st International conference on Real-Time Networks and Systems
Two protocols to reduce the criticality level of multiprocessor mixed-criticality systems
Proceedings of the 21st International conference on Real-Time Networks and Systems
Multi-layered scheduling of mixed-criticality cyber-physical systems
Journal of Systems Architecture: the EUROMICRO Journal
Fair bandwidth sharing among virtual machines in a multi-criticality scope
ACM SIGBED Review - Special Issue on the 5th Workshop on Adaptive and Reconfigurable Embedded Systems
Implementation and evaluation of mixed-criticality scheduling approaches for sporadic tasks
ACM Transactions on Embedded Computing Systems (TECS)
Mixed-criticality scheduling on multiprocessors
Real-Time Systems
Hi-index | 0.00 |
The functional consolidation induced by the cost reduction trends in embedded systems can force tasks of different criticality (e.g. ABS Brakes with DVD) to share a processor and interfere with each other. These systems are known as mixed criticality systems. While traditional temporal isolation techniques prevent all inter-task interference, they waste utilization because they need to reserve for the absolute worst-case execution time (WCET) for all tasks. In many mixed-criticality systems the WCET is not only rare, but at times difficult to calculate, such as the time to localize all possible objects in an obstacle avoidance algorithm. In this situation it is more appropriate to allow the execution time to grow by stealing cycles from lower-criticality tasks. Even more crucial is the fact that temporal isolation techniques can stop a high-criticality task (that was overrunning its nomimal WCET) to allow a low-criticality task to run, making the former miss its deadline. We identify this as the criticality inversion problem. In this paper, we characterize the criticality inversion problem and present a new scheduling scheme called zero-slack scheduling that implements an alternative protection scheme we refer to as asymmetric protection. This protection only prevents interference from lower-criticality to higher-criticality tasks and improves the schedulable utilization. We use an offline algorithm with two parts: a zero-slack calculation algorithm, and a slack analysis algorithm. The zero-slack calculation algorithm minimizes the utilization needed by a task set by reducing the time low-criticality tasks are preempted by high-criticality ones. This algorithm can be used with priority-based preemptive schedulers (e.g. RMS, EDF). The slack analysis algorithm is specific for each priority-based preemptive scheduler and we develop and evaluated the one for RMS. We prove that this algorithm provides the same level of protection against criticality inversion as the best known priority assignment for this purpose, criticality as priority assignment (CAPA). We also prove that zero-slack RM provides the same level of schedulable utilization as RMS when all tasks have equal criticality levels. Finally, we present our implementation of the runtime enforcement mechanisms in Linux/RK to demonstrate its practicality.