Abstract:Multi-Core processors are more and more widely used in embedded systems as they provide great computing capacities to integrate multiple functionalities with different criticality levels into a shared platform. The scheduling problem of mixed-criticality systems appears to be challenging, even on single-processor platforms. This work extends the state-of-the-art single-processor mixedcriticality scheduling algorithm EY-VD to multi-processor systems. To begin with, it integrates EY-VD into traditional workload partitioning schemes to get a multiprocessor mixed-criticality scheduling algorithm MC-PEDF (mixed-criticality partitioned earliest deadline first). Although MC-PEDF performs better than previous solutions, the study finds that the traditional workload partitioning schemes are not suitable for mixed-criticality systems as it does not explore the asymmetricity of workload on different criticality levels. To overcome this problem, a workload partitioning policy OCOP (one criticality one partition) is proposed. OCOP allows tasks to be reassigned to a different processor when criticality mode switch occurs, thus can better balance the resource utilization among processors on different criticality levels. Based on OCOP, the second partitioned scheduling algorithm MC-MP-EDF (mixed-criticality multi-partitioned EDF) is constructed. Experiments with randomly generated workload show that MC-MP-EDF can drastically improve the system schedulability comparing with MC-PEDF and other previous algorithms, especially for systems with more processors.