Closing the gap between industry and research: Industrial challenges proposed by Bosch
When looking at the current state-of-the-art in real-time systems, an observation is that there is risk of divergence between academic research and systems deployed in industry. For instance, many system models that research is based on are not expressive enough to capture the intricacies and complexity of contemporary hardware-software systems. As a consequence, many results from real-time research are not directly applicable to real industrial systems.
This crucial problem has been acknowledged by industry and academia and both have sought to solve different pieces of the puzzle that seem relevant to them in their own limited view. However, as systems get more complex and untamable, both, on the hardware and software front, it has become evident that a coordinated effort between industry and research is the only way out. While the industry needs to tap into the “brain” of the research community to leverage its formal and analytical capabilities, the research community strongly needs realistic use-cases and insights into actual problems of real systems to build meaningful solutions that can be deployed.
The argument where industry distances itself from disclosing important information citing reasons of IP protection must change, and new channels to broadly share information while promoting the interests of all involved parties must be explored. At Bosch we realized this need for open communication, and since 2015 we have closely interacted with academia by publishing performance models capturing key characteristics of existing automotive applications. These models have been the basis for Industrial Challenges presented by Bosch during the ECRTS satellite workshop WATERS .
Industrial challenges 2016 and 2017: Addressing complex µC-based multi-core systems
Initially, we published performance models focusing on “classical real-time systems” featuring µC-based multi-core hardware platforms. Accordingly, the first two industrial challenges (2016, 2017) were based on a full-blown modern engine management system and were described using the open-source Eclipse project APP4MC.
The goal of these initial industrial challenges was to display the complexity of industrial real-time systems stemming from a mix of around 20 period- and interrupt-driven tasks as well as functionalities spread across over 1250 runnables which are called sequentially within the tasks. Moreover, data is accessed and shared using over 10000 global variables.
The system complexity is not only highlighted by these numbers, but also by the variety of the involved real-time constraints, spanning from classical period equals deadline requirements, over dynamic deadlines of interrupt-driven angle-synchronous tasks, to complex cause-effect chains involving multiple runnables mapped to different tasks with different activations patterns (from interrupt-driven to periodic activation and vice-versa). Especially the end-to-end latency analysis along cause-effect chains in a multi-core setting with complex data sharing and concurrent execution turned out to be quite challenging. The response to the industrial challenges was fantastic. The challenge model was (and still is) used in many papers (currently ~120 citations) for evaluating formal, simulation, and hybrid approaches on a real-world example.
Industrial challenge 2019: Moving towards heterogeneous µP-based hardware platforms
The industrial challenge of 2019 was proposed to address newer trends in automotive hardware-software systems.
In fact, automotive E/E architectures are currently undergoing a radical shift in the way they are designed, implemented and deployed. 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 the µC-based compute nodes that were in focus of the first two industrial challenges. For this reason, automotive systems are currently reorganized following the paradigm of so-called centralized E/E architectures that are based on a new class of computing nodes featuring more powerful µP cores and specialized accelerators such as GPUs. Hence, we proposed in cooperation with Marko Bertogna’s group at Modena an industrial challenge describing the problem of executing an autonomous driving application on a Nvidia Tegra X2 platform.
The purpose of this industrial challenge was to explore the fit of state-of-the-art real-time modeling and analysis techniques for an automated driving application executed on a heterogeneous hardware platform where time critical cause-effect chains span across general purpose µP cores and special accelerators like GPUs. It was expected that an overall analysis incorporating all aspects (CPU scheduling, GPU scheduling, task mapping, interference on the memory hierarchy, synchronous and asynchronous offloading, response time analysis, end-to-end latency analysis) would be challenging using the available toolbox of real-time research.
The results, however, showed that this is only partially true. While each of the proposed solutions made some simplifying assumptions for parts of the overall problem, they nevertheless proposed accurate methods for other parts. In summary, it can be concluded that the toolbox of real-time research in general fits the proposed challenge. However, still much work remains to be done to develop a holistic approach that covers all the above-mentioned aspects in more detail.
It’s getting even more interesting: The industrial challenge 2021
In order to “smoothly transition” from classical to high-performance real-time systems, the industrial challenge 2019 contained several simplifying assumptions on hardware and software level. Due to the interesting results obtained in the first round of solution proposals, it makes sense to introduce extensions to obtain a more realistic and complete model as basis for a new industrial challenge that we are currently preparing for ECRTS 2021. Again, the purpose of such an updated and more realistic industrial challenge will be to evaluate the extent to which methods from real-time research can answer various analytical questions for real-world systems.
In 2021’s industrial challenge, we will relax some simplifying assumptions that were made in our original formulation and discuss extensions to describe in more detail the GPU architecture, to incorporate newer schedulers like the QNX Adaptive Partitioning Scheduler, and to capture the semantics of publish-subscribe middleware systems that are used to integrate different applications on the same hardware platform.
You see, it’s getting even more interesting! Stay tuned for the industrial challenge 2021 @ECRTS 2021!
Authors: Arne Hamann obtained his PhD in Computer Science in 2008 from the Technical University of Braunschweig, Germany. He is Chief Expert for “Distributed Intelligent Systems” at Bosch Corporate Research. Like the Bosch product portfolio, his range of activities is broad, encompassing complex embedded systems where the interaction between physical processes, hardware and software plays a major role, through to distributed IoT systems with elements of (edge) cloud computing. In the academic context, he is member of the editorial board of the ACM journal “Transactions on Cyber Physical Systems”, and regularly serves as program committee member for international conferences such as ECRTS, RTSS, RTAS, DAC, EMSOFT, and ICCPS.
Michael Pressler received his diploma degree in computer science in 2008 from the University of Karlsruhe, Germany. Until 2015, he worked at the FZI Research Center for Information Technology in multiple public funded projects. He joined Bosch Cooperate Research in 2015. His focus is to develop and apply methods, mechanisms, and tools to support the design of real-time critical embedded systems in an industrial context.
Dakshina Dasari is a researcher at the Corporate Research Center, Robert Bosch GmbH. She received her Ph.D. in 2014 in the area of timing analysis of real-time embedded systems on multi-cores from the University of Porto. Her research interests include predictable execution and performance of embedded systems, design, modelling, implementation and analysis of real-time systems and computer architecture. Prior to her Ph.D. she worked in the area of networking for around 5 years with Sun Microsystems and Citrix R&D in India.
Disclaimer: Any views or opinions represented in this blog are personal, belong solely to the blog post authors and do not represent those of ACM SIGBED or its parent organization, ACM.