Software Parallelization in Automotive Multi-Core Systems 2015-01-0189
In the context of the ARAMiS project, AUDI AG contributed the development of a multi-core demonstrator based on car functions already in production. For this demonstrator, these legacy car functions were ported from single-core platforms to a multi-core platform to gain real world close-to-production experience while utilizing the new technology.
For complex functions with high demands for computational resources, it may be necessary to distribute computation over several cores. In this context, we investigated the parallelization of a legacy sequential AUTOSAR function. A main contribution of this work is an analysis of mechanisms provided by AUTOSAR, their limitations and, possible remedy.
This paper will point out observations and experiences during the development of this demonstrator and show practical solutions for parallelization in an AUTOSAR environment.
In our work, we analyze a sequential algorithm of an automotive chassis function and identify independent computations for a distribution of the algorithm onto two cores of a multi-core microcontroller. We consider two distributions of the parallel work load. Our results emphasize that parallelization is a complex task and in the context of real time applications implies additional requirements for the schedule design. Furthermore, optimizing speedup requires a fine tuning of timing as well as workload distribution.
If the schedule and workload is optimized accordingly, optimal speedup was obtained for the system under consideration, while another schedule-configuration resulted in speeding down the overall computation.