Generalized mixed-criticality scheduling based on RUN
Résumé
Recent works on mixed--criticality (MC) scheduling algorithms have produced impressive results in terms of schedulability performances but at the expense of a large number of preemptions. Besides, not all MC scheduling algorithms can handle more than two criticality levels. Thus, current MC scheduling algorithms perform well in one of these three criteria but poorly in the others. For instance, our recent contribution, MxC-RUN, entails a limited number of preemptions but provides average schedulability performances and cannot handle systems with more than two criticality levels. In this paper, we present GMC-RUN, an approach that deeply revisits the main principles of MxC-RUN to address these three criteria. Comparisons with other scheduling algorithms show that GMC-RUN exhibits very good performances concerning schedulability ratio but also impressively low numbers of preemptions. Thanks to the notion of criticality level reduction, GMC-RUN successfully handles systems with any number of criticality levels.