Real-time systems are increasingly running a mix of tasks with different criticality levels: for instance, unmanned aerial vehicle has multiple software functions with different safety criticality levels, but runs them on a single, shared computational platform. In addition, these systems are increasingly deployed on multiprocessor platforms because this can help to reduce their cost, space, weight, and power consumption. To assure the safety of such systems, several mixed-criticality scheduling algorithms have been developed that can provide mixed-criticality timing guarantees. However, most existing algorithms have two important limitations: they do not guarantee strong isolation among the high-criticality tasks, and they offer poor realtime performance for the low-criticality tasks. Abstract-Real-time systems are increasingly running a mix of tasks with different criticality levels: for instance, unmanned aerial vehicle has multiple software functions with different safety criticality levels, but runs them on a single, shared computational platform. In addition, these systems are increasingly deployed on multiprocessor platforms because this can help to reduce their cost, space, weight, and power consumption. To assure the safety of such systems, several mixed-criticality scheduling algorithms have been developed that can provide mixed-criticality timing guarantees. However, most existing algorithms have two important limitations: they do not guarantee strong isolation among the high-criticality tasks, and they offer poor real-time performance for the low-criticality tasks.
Disciplines
Computer Engineering | Computer SciencesIn this paper, we present a partitioned scheduling scheme for mixed-criticality tasks on multiprocessor platforms that addresses both issues. Our scheduling scheme consists of (i) a task-toprocessor packing algorithm that takes into account the demands of tasks with respect to their criticality levels, and (ii) a mixedcriticality uniprocessor scheduling strategy that is based on task grouping. Our strategy associates each high-criticality task with a subset of the low-criticality tasks and encapsulates them in a task group, which is scheduled with the other task groups under the Earliest Deadline First (EDF) policy. Within each task group, the low-criticality task and the high-criticality tasks are scheduled using a server-based strategy, so as to enable more of the former to meet their deadlines without affecting the latter. We present a schedulability analysis for our scheduling strategy, and we show how tasks can be grouped using Mixed Integer Nonlinear Programming. Our evaluation shows that our proposed scheme significantly outperforms existing partitioned mixed-criticality scheduling algorithms, in terms of both the fraction of schedulable task sets and its ability to schedule low-criticality tasks.