Effects of Task Priority Assignment in Embedded Multi-Core Real-Time Systems
This article addresses task priority optimization in static scheduling in a multi-core processor for improving timing behavior of tasks of an embedded real-time system. We hereby consider both, preemptive and cooperative scheduling in multi-core processors. In addition, we list multi-core effects in timing regarding priority optimization and we propose an approach for assigning priorities for minimizing these effects.
Task priority optimization is an old topic in embedded real-time systems theory. It started with single core processors where several heuristics and solutions are devised by different authors and problem was adequate solved. Nowadays, with the use of multi-core processor technology it became again an even more challenging topic.
Although, multi-core processors lead to enhanced performance, reduced power consumption and efficient parallel processing of multiple tasks, it leads to software architecture design challenges and multi-core effects. In embedded real-time systems the shift from single-core to multi-core processors leads especially to communication based effects on timing such as inter-core communication delays and blocking times. In the following we describe what drives the motivation for optimization of task priorities and why an old topic becomes up-to date again.
TO READ THE FULL STORY
Please note: That all fields marked with an asterisk (*) are required.