Multi-Core Technology for the Car IndustryAdd bookmark
Dr. Michael Deubzer is the CTO and Co-Founder of Timing-Architects Embedded Systems GmbH. Automotive IQ editor Will Hornick recently discussed the driving forces behind the move to multi-core processors and the challenges that the industry will face.
"Multi-core Technology is no longer just a field of research, it’s here, now…."
Please give us some information about your background and your role with TA.
Timing-Architects (TA) emerged from a joint research project between Continental Automotive AG, the Technical University of Munich and the University of Applied Sciences in Regensburg. The project focused on migration of engine management software to multi-core processors and I personally did my PhD in multicore real-time scheduling. I analysed how to allocate software dynamically during runtime to the different cores. This is quite an advanced approach that might be used in the industry in about five or 10 years’ time. However, we gained a lot of insight in this project as to how multi-core systems behave because it was conducted directly with Continental Automotive AG in the powertrain field so we did not only research on the theoretical side but also on the practical side. At TA I am responsible for the technical division.
Why does the industry need a meeting bringing together multiple parties focused on multi-core processors at this point in time? What is driving that need?
Multi-core Processor Technology is a kind of paradigm change, not only a small step into a new processor improvement but a radically new approach. This requires all parties in the industry to work together.
• Applicators of multi-core technology, meaning OEMs and Tier1s
• Providers of multi-cores, i.e. semiconductor vendors,
• As well as tool vendors, beginning with design-tool solutions, continuing with operating system providers and ending with target measurement tools.
Why now? . We at TA support many mass production projects using multi-core processors and we see there is a lot to do. This meeting is necessary to synchronize all affected parties, to inform each other and to synchronize strategies in respect to facing the new challenges together.
There are two main drivers: Performance and Safety
Performance: A lot of current systems are at their limit of achievable processing power. Improvements have been made to software applications for maximal efficiency; systems that run at maximal processor speed and are often utilizing 95% of capacity. There is no space anymore for new functions and innovation. Single-core processor technology is a critical "Dead End" for most advanced control units.
Safety: In order to fulfill safety regulations such as ISO26262 there is the need to implement redundant calculations which can be compared to each other during runtime in order to increase reliability of the systems and finally deliver products which are state-of-the-art. Implementing redundancy concepts on one chip of course is tricky, because of single hardware, but calculations have shown that many failures happening in software can be detected and handled by redundancy concepts in multi-core systems.
So in your view what are the main challenges then for the industry to implement this and start getting used to having these more powerful and hopefully faster processors?
The main challenge is to migrate the existing software to the new processors. The software is so complex and often millions of man-hours are spent developing a generic function library which is then adapted to the different projects. This requires that the investment for this software, which has been developed in the past, can be reused also for multi-core systems. And here is the big problem: The software that was used for the single-core system is based on certain assumptions.
The assumptions require sequential execution of software and these assumptions allow the programmer to develop quite efficient system software, which is quite important for embedded systems.
When migrating to multi-core, of course there is more computation power. However, the software which once executed in a sequential order now executes in parallel. This implies the assumptions don’t hold true anymore and existing software has to be modified. This starts with data consistency needs because of simultaneous production and consumption of data on different cores and ends at deciding which part of the software is allowed to execute in parallel as well as which part has to execute before another and on which core, of course. All these steps are not considered in single-core processor software but now have to be implemented in the multi-core software. I believe this is the biggest challenge.
These facts result in massive changes of development process and for the automotive domain it results in a need for collaborative development between Tier1, OEM and additional engineering companies. They have to be synchronized and work together in order to manage the multi-core challenge as a union.
So what can the industry learn from other industries where multi-core processors have already been in use for a period of time?
There are some good constructs and ideas in programming standards and object oriented programming which would help a lot. These constructs are already made for at least some kind of processing. The problem with these constructs is that they are often developed for desktop systems with resources where memory capacity, for example, is not really a big deal, so this construct can only be used in a limited way.
In automotive systems, there is also collaborative development. So it's not just one company that develops its own software. It's a big pool of companies working together. In other areas like desktop computing, for example, this was not a problem. So the automotive industry has to start from the beginning.
AUTOSAR for example was made exactly for such collaboration. Of course there are some limits within AUTOSAR because it is a static architecture description of the software which was used mostly to integrate the software together. But now with multi-core, the dynamic architecture part of AUTOSAR has to be enhanced. However, any machine-readable description of the static and dynamic software architecture is extremely helpful for the multi-core challenge.
Do you have a sense of the timeline in which it would become possible for the open source projects to establish something for at least the more dynamic processes?
Three years ago, when we talked to customers regarding multi-core projects they assumed it would still take five to ten years. Two years ago, many customers started with pre-development projects, focusing on multi-core and last year, spontaneously, the first mass production projects started. This year, we have a lot of requests from companies asking for a validated multi-core solution. Our customers want to have multi-core processors in their projects as there is no alternative.
In two years, I personally assume, single-core projects will be the exception.
Could you tell us about the solutions that your company provides and how they fit into the overall development of the vehicle?
Based on our experience, we know that the first step to master the multi-core challenges is to reduce the complexity caused by the new technology. We use a model-based approach, which describes the software with all its resource needs and dependencies. Based on this information, we apply cutting edge technology regarding analysis and optimisation algorithms in order to automatically improve the software architecture design.
Working with our customers, we realized that there is also the need to support throughout the whole development process. Therefore our Tool Suite covers the system design phase, simulation and analysis, architecture and module development, as well as target verification. As all modules are connected, I can say we offer a closed loop solution for the whole development process.
Besides tool support, we also provide consultancy support for multi-core system development. This is how we ensure that the projects being supported with our tools stay on track and generate the most possible value from the new technology.