Multi-core CPUs are quickly gaining importance in automotive ECUs. While using multi-core architectures for application integration is meanwhile reasonably well understood, parallelization of existing task sets and partitioning of future computation intensive tasks still shows performance limitations and challenges portability and flexibility. The logical execution time (LET) paradigm has been proposed to control core-to-core communication timing which is one of the bottlenecks for automotive system parallelization. We show how to improve the predictability and performance of core-to-core communication by applying only minor modifications to the currently used partitioned static scheduling strategy. The basic idea is to guarantee better response times for low-priority tasks by boosting its priority, thereby using higher priority system slack. It can be selectively applied to individual tasks, and can implement the LET paradigm on all or on a subset of the tasks of a system. It is applicable to lower granularities down to individual runnables which is highly important in automotive applications with large container tasks. We show correctness of the approach and evaluate its performance in a microkernel implementation where it exhibits high performance.
['Matthias Beckert', 'Mischa Möstl', 'Rolf Ernst']
Zero-time communication for automotive multi-core systems under SPP scheduling