Dr. Jochen Härdtlein | 10/7/2013 | © Robert Bosch GmbH 2013. All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial property rights.
Multicore Application Debugging
Multicore Debugging Challenges for the
Automotive Domain
1. International Workshop on
Multicore Application Debugging (MAD 2013)
Nov 14 -15, 2013
Technische Universität München, Germany
1
Dr. Jochen Härdtlein | 10/7/2013 | © Robert Bosch GmbH 2013. All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial property rights.
Multicore Application Debugging
1. The automotive context
2. Failure Modes and Debugging Needs
Overview
2
Multicore Application Debugging
Automotive Technology: an overview
Powertrain systems Safety systems Comfort systems
Dr. Jochen Härdtlein | 10/7/2013 | © Robert Bosch GmbH 2013. All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial property rights. 3
Dr. Jochen Härdtlein | 10/7/2013 | © Robert Bosch GmbH 2013. All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial property rights.
Multicore Application Debugging
Engine Control Domain
Engine Control Unit for Diesel and Gasoline Engines
Challenges: Real-Time computation of several injections for up to 12
cylinders @ 8,000 RPM, reading and processing of up to 50 sensor
signals, …
Hardware: typically 1-2 MB internal flash
(optional 2-4 MB external flash), 64-144
kByte internal data-RAM, CAN,
TT-CAN, Flexray, up to 48 A/D
converters
Software: > 500,000 LOC,
> 1,000 components,
> 2000 variant points
4
5 Dr. Jochen Härdtlein | 10/7/2013 | © Robert Bosch GmbH 2013. All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial property rights.
Multicore Application Debugging
Generic View: The System Setup
Time-Triggered & Event-
Triggered tasks
High degree of internal and
external communication
Time-Critical Cause-Effect
Chains
Safety & Security
Number of variants
Number of developers
SW sharing Increasing
complexity of systems
Calibration
Dr. Jochen Härdtlein | 10/7/2013 | © Robert Bosch GmbH 2013. All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial property rights.
Multicore Application Debugging
Source
http://www.autosar.org
Legend
6
Dr. Jochen Härdtlein | 10/7/2013 | © Robert Bosch GmbH 2013. All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial property rights.
Multicore Application Debugging
AUTOSAR 4.0: From Single-Core to Multi-Core
Underlying Assumptions
Shared Memory
Unrestricted accesses
Static Distribution
Se
qu
en
tia
l
Injection
System
Diagn
ostics
Air
System Vehicle
dynamics
. . . Driver
7
Dr. Jochen Härdtlein | 10/7/2013 | © Robert Bosch GmbH 2013. All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial property rights.
Multicore Application Debugging
1. The automotive context
2. Failure Modes and Debugging Needs
Overview
8
Dr. Jochen Härdtlein | 10/7/2013 | © Robert Bosch GmbH 2013. All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial property rights.
Multicore Application Debugging
Sequential failure modes
Remain same for parallel systems
Established methods are sufficient
Concurrency-related failure modes
Are present in preemptive systems
already
Probabilities change in parallelized
systems
Intrusive debugging mechanisms
change real-time behaviors
Debugging of several cores
extremely difficult
The Different Failure Modes
Interleaving
Synchronization
Ordering
Timing
Byzantine
Sequential
Failures
9
From: Henrik Thane, Monitoring, Testing and Debugging of Distributed Real-
Time Systems, Doctoral Thesis
Mechatronics Laboratory, Department of Machine Design Royal Institute of
Technology, KTH S-100 44 Stockholm, Sweden
The failure modes
Dr. Jochen Härdtlein | 10/7/2013 | © Robert Bosch GmbH 2013. All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial property rights.
Multicore Application Debugging
Debugging Needs
10
• Reasonably usable parallel debugging tooling
• Intrusive-free debugging alternatives
• Dealing with heterogeneous hardware architectures
Code Level Debugging
• Capable for usage in real-time operation
• Addressing of singular events and corner cases
• Tool-based support of detecting source of failures
• Debugging of system level assumptions (e.g. deadlines, scheduling orders)
System Level Debugging
11
Multicore Application Debugging
Dr. Jochen Härdtlein | 10/7/2013 | © Robert Bosch GmbH 2013. All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial property rights.
Thank you for your attention.