Mixed-Criticality Scheduling on Multiprocessors Using Task Grouping

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. In 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-to-processor packing algorithm that takes into account the demands of tasks with respect to their criticality levels, and (ii) a mixed-criticality 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.

[1]  Sanjoy K. Baruah,et al.  Mixed-criticality scheduling on multiprocessors , 2013, Real-Time Systems.

[2]  Risat Mahmud Pathan,et al.  Schedulability Analysis of Mixed-Criticality Systems on Multiprocessors , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[3]  Laurent George,et al.  Relaxing Mixed-Criticality Scheduling Strictness for Task Sets Scheduled with FP , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[4]  A. Burns Towards A More Practical Model for Mixed Criticality Systems , 2013 .

[5]  Chenyang Lu,et al.  Implementation and Evaluation of Mixed-Criticality Scheduling Approaches for Periodic Tasks , 2012, 2012 IEEE 18th Real Time and Embedded Technology and Applications Symposium.

[6]  Sanjoy K. Baruah,et al.  Optimal utilization bounds for the fixed-priority scheduling of periodic task systems on identical multiprocessors , 2004, IEEE Transactions on Computers.

[7]  Hakan Aydin,et al.  On Partitioned Scheduling of Fixed-Priority Mixed-Criticality Task Sets , 2011, 2011IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications.

[8]  Alan Burns,et al.  Response-Time Analysis for Mixed Criticality Systems , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[9]  Wang Yi,et al.  Effective and Efficient Scheduling of Certifiable Mixed-Criticality Sporadic Task Systems , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[10]  Sanjoy K. Baruah,et al.  Mixed-Criticality Scheduling of Sporadic Task Systems , 2011, ESA.

[11]  Dionisio de Niz,et al.  Partitioned scheduling of multi-modal mixed-criticality real-time systems on multiprocessor platforms , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[12]  Dakai Zhu,et al.  An Elastic Mixed-Criticality task model and its scheduling algorithm , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[13]  Wang Yi,et al.  Partitioned mixed-criticality scheduling on multiprocessor platforms , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[14]  Sanjoy K. Baruah,et al.  Load-based schedulability analysis of certifiable mixed-criticality systems , 2010, EMSOFT '10.

[15]  Nuno Pereira,et al.  Static-Priority Scheduling over Wireless Networks with Multiple Broadcast Domains , 2007, RTSS 2007.

[16]  Ragunathan Rajkumar,et al.  On the Scheduling of Mixed-Criticality Real-Time Task Sets , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[17]  S. Vestal Preemptive Scheduling of Multi-criticality Systems with Varying Degrees of Execution Time Assurance , 2007, RTSS 2007.

[18]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[19]  Arvind Easwaran,et al.  Demand-Based Scheduling of Mixed-Criticality Sporadic Tasks on One Processor , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[20]  M. Jan,et al.  Maximizing the execution rate of low-criticality tasks in mixed criticality systems , 2013 .

[21]  Sanjoy K. Baruah,et al.  Mixed-Criticality Real-Time Scheduling for Multicore Systems , 2010, 2010 10th IEEE International Conference on Computer and Information Technology.

[22]  Daniel Mossé,et al.  Scheduling algorithms for Elastic Mixed-Criticality tasks in multicore systems , 2013, 2013 IEEE 19th International Conference on Embedded and Real-Time Computing Systems and Applications.

[23]  Lothar Thiele,et al.  Service adaptions for mixed-criticality systems , 2014, 2014 19th Asia and South Pacific Design Automation Conference (ASP-DAC).

[24]  Robert I. Davis,et al.  Mixed Criticality Systems - A Review , 2015 .

[25]  Sanjoy K. Baruah,et al.  The Preemptive Uniprocessor Scheduling of Mixed-Criticality Implicit-Deadline Sporadic Task Systems , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[26]  Wang Yi,et al.  Bounding and shaping the demand of generalized mixed-criticality sporadic task systems , 2013, Real-Time Systems.