Multicore scheduling in automotive ECUs

As the demand for computing power is quickly increasing in the automotive domain, car manufacturers and tier-one suppliers are gradually introducing multicore ECUs in their electronic architectures. Additionally, these multicore ECUs offer new features such as higher levels of parallelism which eases the espect 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 complexity in the design, development and verification of the software applications. Hence, OEMs and suppliers will require new tools and methodologies for eployment and validation. In this paper, we present the main use-cases for multicore ECUs and then focus on one of them. Precisely, we address the problem of scheduling numerous elementary software components (called runnables) on a limited set of identical cores. In the context of an automotive design, we assume the use of the static task partitioning scheme which provides simplicity and better 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 complexity heuristics to partition and build a schedule of the runnable set on each core before discussing schedulability verification methods. Finally, we assess the performance of our approach on realistic case-studies.

[1]  Bertrand Delord,et al.  Virtualization in Automotive Embedded Systems : an Outlook , 2010 .

[2]  Yingfeng Oh,et al.  Fixed-Priority Scheduling of Periodic Tasks on Multiprocessor Systems , 1995 .

[3]  Yingfeng Oh,et al.  Tight Performance Bounds of Heuristics for a Real-Time Scheduling Problem , 1993 .

[4]  Mathieu Grenier,et al.  Pushing the limits of CAN - scheduling frames with offsets provides a major performance boost , 2008 .

[5]  Sanjoy K. Baruah,et al.  Static-priority scheduling of multiframe tasks , 1999, Proceedings of 11th Euromicro Conference on Real-Time Systems. Euromicro RTS'99.

[6]  Sang Hyuk Son,et al.  New Strategies for Assigning Real-Time Tasks to Multiprocessor Systems , 1995, IEEE Trans. Computers.

[7]  Bernard Bavoux,et al.  Multi-source and multicore automotive ECUs - OS protection mechanisms and scheduling , 2010, 2010 IEEE International Symposium on Industrial Electronics.

[8]  Aloysius K. Mok,et al.  A Multiframe Model for Real-Time Tasks , 1997, IEEE Trans. Software Eng..

[9]  Irene A. Stegun,et al.  Handbook of Mathematical Functions. , 1966 .

[10]  Alan Burns,et al.  Exact Response Time Scheduling Analysis of Accumulatively Monotonic Multiframe Real Time Tasks , 2008, ICTAC.

[11]  Thomas Rothvoß,et al.  An Average-Case Analysis for Rate-Monotonic Multiprocessor Real-Time Scheduling , 2009, ESA.

[12]  Rami G. Melhem,et al.  An Improved Rate-Monotonic Admission Control and Its Applications , 2003, IEEE Trans. Computers.

[13]  Joël Goossens,et al.  Scheduling of Offset Free Systems , 2003, Real-Time Systems.