Multicore scheduling in automotive ECUs

Aurélien Monot, Nicolas Navet, Bernard Bavoux, Françoise Simonot‐Lion · 2010

Abstract: As the demand for computing power is quickly increasing in the automotive domain, car manufactur-ers and tier-one suppliers are gradually introducing mul-ticore ECUs in their electronic architectures. Addition-ally, these multicore ECUs offer new features such as higher levels of parallelism which eases the respect of the safety requirements introduced by the ISO 26262 and can be taken advantage of in various other automotive use-cases. These new features involve also more com-plexity in the design, development and verification of the software applications. Hence, OEMs and suppliers will require new tools and methodologies for deployment and validation. In this paper, we present the main use cases for multicore ECUs and then focus on one of them. Pre-cisely, we address the problem of scheduling numerous elementary software components (called runnables) on a limited set of identical cores. In the context of an au-tomotive design, we assume the use of the static task partitioning scheme which provides simplicity and bet-ter predictability for the ECU designers by comparison with a global scheduling approach. We show how the global scheduling problem can be addressed as two sub-problems: partitioning the set of runnables and building the schedule on each core. At that point, we prove that each of the sub-problems cannot be solved optimally due to their algorithmic complexity. We then present low com-plexity heuristics to partition and build a schedule of the runnable set on each core before discussing schedula-bility verification methods. Finally, we assess the perfor-mance of our approach on realistic case-studies.

Read the paper · More papers on PaperTik