RunPar: An allocation algorithm for automotive applications exploiting runnable parallelism in multicores

Automotive applications increasingly rely on AUTOSAR for their design and execution. AUTOSAR applications comprise functions, called runnables, that are grouped into AUTOSAR tasks. Tasks are the unit of scheduling (UoS) of the AUTOSAR operating system as the legacy of the single-core platforms. However, on multi-core platforms using tasks as UoS considerably reduces the available parallelism due to communication dependencies, which in turn reduces the potential average and guaranteed performance obtainable with multi-cores. Furthermore, running tasks in parallel requires re-validating the functional correctness of the application, since current AUTOSAR applications are designed following a sequential execution model of tasks. In this paper, we propose a new allocation algorithm, RunPar, that considers runnables and not tasks as the UoS and assigns runnables that form tasks to different cores. RunPar improves the application performance, while keeping the sequential execution of tasks, hence not requiring any extra validation effort when migrating AUTOSAR applications from single-core to the multi-core platforms. We evaluate RunPar with a real automotive application, an Engine Management System (EMS) for which we observe an average WCET reduction on EMS' tasks of 26% and 30% in a two-core and four-core ECU.

[1]  Francisco J. Cazorla,et al.  Deconstructing bus access control policies for Real-Time multicores , 2013, 2013 8th IEEE International Symposium on Industrial Embedded Systems (SIES).

[2]  Klaudia Frankfurter Computers And Intractability A Guide To The Theory Of Np Completeness , 2016 .

[3]  Sang Hyuk Son,et al.  Allocating fixed-priority periodic tasks on multiprocessor systems , 1995, Real-Time Systems.

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

[5]  Pascal Sainrat,et al.  Automatic WCET Analysis of Real-Time Parallel Applications , 2013, WCET.

[6]  Federico Silla,et al.  Enabling High-Performance Crossbars through a Floorplan-Aware Design , 2012, 2012 41st International Conference on Parallel Processing.

[7]  Francisco J. Cazorla,et al.  Hardware support for WCET analysis of hard real-time multicore systems , 2009, ISCA '09.

[8]  Francisco J. Cazorla,et al.  Merasa: Multicore Execution of Hard Real-Time Applications Supporting Analyzability , 2010, IEEE Micro.

[9]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[10]  Sudarshan K. Dhall,et al.  On a Real-Time Scheduling Problem , 1978, Oper. Res..

[11]  Pascal Sainrat,et al.  OTAWA: An Open Toolbox for Adaptive WCET Analysis , 2010, SEUS.

[12]  Jan Reineke,et al.  Memory Hierarchies, Pipelines, and Buses for Future Architectures in Time-Critical Embedded Systems , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Thomas Nolte,et al.  Towards a communication-efficient mapping of AUTOSAR runnables on multi-cores , 2013, 2013 IEEE 18th Conference on Emerging Technologies & Factory Automation (ETFA).

[14]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

[15]  Frode Eika Sandnes,et al.  Toward a realistic task scheduling model , 2006, IEEE Transactions on Parallel and Distributed Systems.

[16]  Francisco J. Cazorla,et al.  Timing effects of DDR memory systems in hard real-time multicore architectures , 2013, ACM Trans. Embed. Comput. Syst..

[17]  Michael Bohn Migration of Automotive Real-Time Software to Multicore Systems: First Steps towards an Automated Solution , 2010 .

[18]  Françoise Simonot-Lion,et al.  Multisource Software on Multicore Automotive ECUs—Combining Runnable Sequencing With Task Scheduling , 2012, IEEE Transactions on Industrial Electronics.