Performance Modeling of Heterogeneous Automotive Systems

Performance Modeling of Heterogeneous Automotive Systems
Dirk Ziegenbein (Bosch)

The AMPERE ecosystem will be demonstrated by developing and executing two real-world use cases upon which the capabilities of the AMPERE software architecture will be evaluated. These will take place in the automotive and railway sectors. Specifically, the automotive use-case will be developed on Intelligent Predictive Cruise Control (PCC).

Currently, automotive E/E architectures are undergoing a radical shift in the way they are designed, implemented and deployed [1]. Especially, the computational power and communication bandwidth required for new functionalities, such as automated driving or connected vehicle functions (e.g. path planning, object recognition, predictive cruise control), exceed the capabilities of current compute nodes (mainly micro-controller SoCs); this is leading to a reorganization of automotive systems following the paradigm of so-called centralized E/E architectures that are based on a new class of computing nodes featuring more powerful micro-processors and accelerators such as GPUs.

One consequence of these centralized E/E architectures is that heterogeneous applications will be co-existing on the same HW platform, heterogeneous not only in their model of computation (ranging from classical periodic control over event-based planning to stream-based perception applications) but also in their criticality, in terms of real-time and safety requirements. In comparison to the previous practice to integrate mono-functional ECUs on the network level, the burden of integration is shifted from the network to the ECU level and in this regard typically from the vehicle manufacturer to the supplier of the control unit.

In order to master the aforementioned design and integration use case, an important prerequisite is the need for expressive performance models capturing the heterogeneity of the hardware-software system. These performance models can be fed into simulation tools to replicate different execution scenarios and predict the performance at design time. 

 

Intelligent Predictive Cruise Control (PCC)
Automotive use-case: Intelligent Predictive Cruise Control (PCC).

 

System modelling

The AMALTHEA system model was developed to describe classical real-time multi-core systems like an engine control management system [3]. The semantics are focused on non-functional performance characteristics and the execution semantics are aligned with AUTOSAR/OSEK-based multi-core systems. The focus were classical µController systems, with parallelism expressed explicitly between tasks and interrupts service routines (ISRs). The tasks call a fixed call sequence of runnables which are rather simple void- void-functions exchanging data over global variables. Implicit parallelism between runnables inside one task can be exploited by analyzing the data dependencies between them and the call sequence [4]. Driver assistant functions relying not only on rather simple sensor values but on streams of input data from video or radar-based systems and feature rather DAG-like task graphs can be expressed using data-driven task chains in AMALTHEA [5]. 

To address modern advanced driver assistant systems (ADAS), we demonstrated how a heterogeneous platform can be modeled using AMALTHEA [5]. With the Nvidia Tegra X2 platform featuring CPUs and an accelerator (GPU) we used a typical ADAS platform as an example. As a case study, we considered a prototypical autonomous driving application deployed on the aforementioned platform. We showed how we can capture aspects of the application and the hardware in AMALTHEA, at a level of abstraction; that is, from our point-of-view, sufficient to derive sensible performance predictions for the presented use-case.

Modeling Extensions within AMPERE

Up until now we used some simplified assumptions to express modern automotive systems to express parallelism in heterogeneous platforms and we have not yet tackled modern pub-sub middleware architectures. We will address these topics together with our partners in the AMPERE project.

References

[1] S. Saidi, S. Steinhorst, A. Hamann, D. Ziegenbein and M. Wolf, "Future Automotive Systems Design: Research Challenges and Opportunities", International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), Turin, Italy, 2018.

[2] Eclipse APP4MC. https://www.eclipse.org/app4mc/

[3] S. Kramer, D. Ziegenbein, and A. Hamann, “Real world automotive benchmark for free,” International Workshop on Analysis Tools and Methodologies for Embedded Real-time Systems (WATERS), 2015.

[4] M. Lowinski, D. Ziegenbein and S. Glesner, "Splitting Tasks for Migrating Real-Time Automotive Applications to Multi-Core ECUs", 11th IEEE Symposium on Industrial Embedded Systems (SIES), 2016.

[5] WATERS Industrial Challenge 2019. Autonomous Driving Application. https://www.ecrts.org/forum/viewtopic.php?f=43&t=124