A resource efficient framework to run automotive embedded software on multi-core ECUs

Abstract The increasing functionality and complexity of automotive applications requires not only the use of more powerful hardware, e.g., multi-core processors, but also efficient methods and tools to support design decisions. Component-based software engineering proved to be a promising solution for managing software complexity and allowing for reuse. However, there are several challenges inherent in the intersection of resource efficiency and predictability of multi-core processors when it comes to running component-based embedded software. In this paper, we present a software design framework addressing these challenges. The framework includes both mapping of software components onto executable tasks, and the partitioning of the generated task set onto the cores of a multi-core processor. This paper aims at enhancing resource efficiency by optimizing the software design with respect to: 1) the inter-software-components communication cost, 2) the cost of synchronization among dependent transactions of software components, and 3) the interaction of software components with the basic software services. An engine management system, one of the most complex automotive sub-systems, is considered as a use case, and the experimental results show a reduction of up to 11.2% total CPU usage on a quad-core processor, in comparison with the common framework in the literature.

[1]  Giuseppe Lipari,et al.  On the energy-aware partitioning of real-time tasks on homogeneous multi-processor systems , 2013, 2013 4th Annual International Conference on Energy Aware Computing Systems and Applications (ICEAC).

[2]  Alberto L. Sangiovanni-Vincentelli,et al.  Optimization of task allocation and priority assignment in hard real-time distributed systems , 2012, TECS.

[3]  R. Suganya,et al.  Data Mining Concepts and Techniques , 2010 .

[4]  Kang G. Shin,et al.  Assignment and Scheduling Communicating Periodic Tasks in Distributed Real-Time Systems , 1997, IEEE Trans. Software Eng..

[5]  Francisco J. Cazorla,et al.  RunPar: An allocation algorithm for automotive applications exploiting runnable parallelism in multicores , 2014, 2014 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[6]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[7]  Paolo Gai,et al.  Time and memory tradeoffs in the implementation of AUTOSAR components , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[8]  Reinder J. Bril,et al.  Best-Case Response Times and Jitter Analysis of Real-Time Tasks , 2004, J. Sched..

[9]  Patrick Meumeu Yomsi,et al.  Schedulability Analysis for non Necessarily Harmonic Real-Time Systems with Precedence and Strict Periodicity Constraints using the Exact Number of Preemptions and no Idle Time , 2008 .

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

[11]  Alan Burns,et al.  Allocating hard real-time tasks: An NP-Hard problem made easy , 1992, Real-Time Systems.

[12]  Julien Forget,et al.  Minimizing a real-time task set through Task Clustering , 2014, RTNS.

[13]  Thomas Stützle,et al.  MAX-MIN Ant System , 2000, Future Gener. Comput. Syst..

[14]  Ragunathan Rajkumar,et al.  AUTOSAR Extensions for Predictable Task Synchronization in Multi-Core ECUs , 2011 .

[15]  Sébastien Gérard,et al.  An optimization approach for the synthesis of AUTOSAR architectures , 2013, 2013 IEEE 18th Conference on Emerging Technologies & Factory Automation (ETFA).

[16]  J. Javier Gutiérrez,et al.  Schedulability Analysis and Optimization of Heterogeneous EDF and FP Distributed Real-Time Systems , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[17]  Giuseppe Lipari,et al.  Minimizing memory utilization of real-time task sets in single and multi-processor systems-on-a-chip , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[18]  Huimin Zhang,et al.  Approximate optimal AUTOSAR software components deploying approach for automotive E/E system , 2017 .

[19]  Giuseppe Lipari,et al.  Deadline assignment for component-based analysis of real-time transactions , 2009 .

[20]  Günter Schäfer,et al.  Parallel execution of AUTOSAR legacy applications on multicore ECUs with timed implicit communication , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[21]  Jan Carlson,et al.  The Impact of Intra-core and Inter-core Task Communication on Architectural Analysis of Multicore Em , 2013, ICSEA 2013.

[22]  Julien Forget,et al.  A heuristic to minimize the cardinality of a real-time task set by automated task clustering , 2014, SAC.

[23]  Rolf Ernst,et al.  System Level Performance Analysis for Real-Time , 2009 .

[24]  Ola Redell,et al.  Exact best-case response time analysis of fixed priority scheduled tasks , 2002, Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002.

[25]  Anthony A. Maciejewski,et al.  Robust static resource allocation of DAGs in a heterogeneous multicore system , 2013, J. Parallel Distributed Comput..

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

[27]  Chenyang Lu,et al.  Multi-core Real-Time Scheduling for Generalized Parallel Task Models , 2011, RTSS.

[28]  Yang Yang Software Synthesis for Distributed Embedded Systems , 2012 .

[29]  El-Ghazali Talbi,et al.  Metaheuristics - From Design to Implementation , 2009 .

[30]  Joseph Y.-T. Leung,et al.  On the complexity of fixed-priority scheduling of periodic, real-time tasks , 1982, Perform. Evaluation.

[31]  Hannu Tenhunen,et al.  Exploration of heuristic scheduling algorithms for 3D multicore processors , 2012, Map2MPSoC/SCOPES.

[32]  Nico Feiertag,et al.  A Compositional Framework for End-to-End Path Delay Calculation of Automotive Systems under Different Path Semantics , 2008, RTSS 2009.

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

[34]  Thomas Nolte,et al.  A communication-aware solution framework for mapping AUTOSAR runnables on multi-core systems , 2014, Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA).

[35]  Li Ran,et al.  Design method of CAN BUS network communication structure for electric vehicle , 2010, International Forum on Strategic Technology 2010.

[36]  Francisco J. Cazorla,et al.  Supertask: Maximizing runnable-level parallelism in AUTOSAR applications , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[37]  Hao Wu,et al.  Best-Harmonically-Fit Periodic Task Assignment Algorithm on Multiple Periodic Resources , 2016, IEEE Transactions on Parallel and Distributed Systems.

[38]  Ragunathan Rajkumar,et al.  Energy-efficient allocation of real-time applications onto Heterogeneous Processors , 2014, 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications.

[39]  Massoud Pedram,et al.  Codex-dp: co-design of communicating systems using dynamic programming , 1999, DATE '99.

[40]  Wolfgang Müller,et al.  Timing modeling and analysis for AUTOSAR-based software development - a case study , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[41]  Susmita Saha,et al.  Blocking time analysis of Multiprocessor Priority Ceiling Protocol in real-time multiprocessor system , 2014, 2014 IEEE International Conference on Advanced Communications, Control and Computing Technologies.

[42]  Mohammad Amin Keshtkar,et al.  Optimal task allocation for maximizing reliability in distributed real-time systems , 2013, 2013 IEEE/ACIS 12th International Conference on Computer and Information Science (ICIS).

[43]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[44]  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).

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

[46]  John A. Clark,et al.  Holistic schedulability analysis for distributed hard real-time systems , 1994, Microprocess. Microprogramming.

[47]  Thomas Nolte,et al.  Independently-Developed Real-Time Systems on Multi-cores with Shared Resources , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[48]  Alberto L. Sangiovanni-Vincentelli,et al.  Period Optimization for Hard Real-time Distributed Automotive Systems , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[49]  Kang G. Shin,et al.  Static allocation of periodic tasks with precedence constraints in distributed real-time systems , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.