Provide a method for Scheduling of dependent and periodic tasks in real-time mixed-criticality systems with multi-core architecture with the aim of preemption reduction
Today, due to the tendency to integrate different parts of a real-time system with different criticality levels, the concept of mixed-criticality systems has been considered. Applications of these systems include UAVs and smart police devices, in which different tasks of different importance are integrated together on a common platform. In order to provide the processing power required by mixed-criticality systems, multi-core architectures are a good option. One of the main challenges in multi-core architectures is task scheduling. Many researches in the field of task scheduling in mixed-criticality systems with multi-core architecture are assuming tasks are independent, but in reality, we are faced with many tasks that have a data dependency between them. Another aspect of task scheduling in lesser-known multi-core mixed-criticality systems is the reduction and control of the number of preemptions, which reduces time overhead during task execution. In this research, we schedule dependent tasks in a multi-core architecture in such a way that, firstly, the proposed schedule is correct and satisfies the limitations of the system, and secondly, it reduces the number of preemptions when assigning tasks to cores. Finally, the proposed scheduling algorithm is tested on a sample UAV and random tasks and then the scheduling rate and number of preemptions are compared. The results show that the proposed algorithm reduces the number of preemptions by about 96% without significantly changing the scalability rate.