a benchmark for techniques and tools used in the design of automotive communication systems...
TRANSCRIPT
A Benchmark for Techniques and Tools used in the Design of
Automotive Communication Systems
Christelle BRAUN
Lionel HAVET
Nicolas NAVET
FeT‘ 2007, 9th November 2007, Toulouse, France
LORIA-INRIA
Campus Scientifique, B.P. 239
54506 Vandoeuvre-les-Nancy, France
[email protected] {Lionel.Havet,Nicolas.Navet } @loria.fr
Netcarbench
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 2
Outline
Typical automotive communication networks today
The need for benchmarks
Our solution: Netcarbench
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 3
In-vehicle embedded systems
Several communication networks needed in a vehicle Body Chassis Powertrain
Typical configuration today A CAN (Controller Area Network) with 5-25 ECUs (Electronic Control
Units).
Subject to significant QoS: High performance Real-time capabilities Fault tolerance (not considered yet)
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 4
Issues
The complexity of these systems keeps increasing : Up to 70 ECUs and 2500 signals in luxury cars. Leads to an extensive use of electronics .
Necessity for algorithms and tools which automate and optimise the control of the communication
In-house Third-party suppliers
SymtaVision, 2007 RealTime-at-Work, 2007
With the software NETCAR-Analyzer (initially developed at LORIA)
Configuration problems : Frame packing
Guarantee the schedulability and minimize the bandwidth consumption. Setting offsets
May lead to double the global load in the network. Further information to be published soon in the Automotive embedded Handbook,
N. Navet, F. Simonot-Lion editors, CRC Press/Taylor and Francis, 2008.
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 5
System model
Inputs Set of N ECUs. For each Nj, a set Sj of signals. For each signal si=(Ni,Ti,Oi,Ci,Di)
Ni: the ECU it belongs to Ti: the period of production Oi: the offset Ci: the size in bits Di: the relative deadline (here Di=Ti)
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 6
Frame packing
Goal For each ECU Nj with the set Sj of signals, construct the set of frames Fj={fj1,...,fjk}, such
that: Fj is schedulable
None of the transmitted signal misses a deadline. The bandwidth consumption is minimized
Important for practical applications In LORIA, research on the optimisation method of offsets assignment (adding offsets to better distribute
the load) [Grenier 2008]
Complexity Frame packing is NP-hard [Norström, 2000] Exact complexity shows that no exhaustive approach is possible [Saket and Navet, 2006] Efficient heuristics are required.
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 7
……
ECU4ECU4ECU3ECU3ECU2ECU2ECU1ECU1F2F2F1F1 F3F3 F4F4 F5F5 F6F6 F7F7
Frame XFrame X Frame YFrame Y Frame Z Frame Z
Minimize bandwidth
consumption and respect
deadline constraints
Frame packing
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 8
Setting Offsets
Output of the frame packing algorithm Set of frames of the form fj=(Nj',Tj',Oj',Cj',Dj',Pj')
Nj',Tj',Oj',Cj',Dj': same meaning as before. Pj': (unique) priority of the frame.
Goal Compute the WCRT in order to check the schedulability of the messages (with
offsets). WCRT without offsets calculated in [Tindell and Burns, 1994] and revised in [Davis,
2007]. No solution whose complexity is not exponential. No reference for WCRT with offsets so far, but commercial softwares already
available (SymtaVision, NETCAR-Analyzer).
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 9
NETCAR-Analyzer
History Initially developed at LORIA in the authors' research group. Motivation: no tool available for the computation of response times with offsets
on large sets of messages. Taken over by the company RealTime-at-Work in 2007.
Goals Computes exact and very fast WCRT of messages with offsets in CANs. Includes a set of proprietary offset assignment algorithms, fine-tuned with the
experience gained in industrial use. Can be improved and extended according to the user's needs.
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 10
NETCAR-Analyser: screenshot
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 11
Benchmark
How to compare these algorithms and evaluate their efficiency? Need for a domain-specific benchmark.
Benchmark „Standard by which something is evaluated or measured.“
[Wiktionary] What we need here
Generation of workloads which simulate the data exchange between the ECUs.
3 challenges Standardization
Capture the typical properties of the workloads in today‘s automotive networks (CAN, FlexRay...)
Scalability Can be easily adapted to evolutions of the network model.
Customisation Let the user define the specific parameters of his application
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 12
Existing benchmarks
Why is so little information available? Confidentiality + competition between car manufacturers. Applications restricted to the brand under concern.
Only 2 published benchmarks SAE Benchmark
Society of Automotive Engineers, 1993. Initially developed for a point-to-point network. Adapted by Tindell and Burns to a CAN composed of 7 ECUs exchanging
53 messages (1994). Problem
obsolete PSA Benchmark
PSA Peugeot-Citroen, 2000. Powertrain network with 6 nodes and 12 different periodic messages. Problem
obsolete
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 13
Netcarbench
Our solution: Netcarbench A new benchmark for broadcast networks in automotive distributed
control systems. Outperforms existing solutions
Input User-defined configuration.
Output Sets of messages complying with the specification and whose
parameters are possibly completed by automatic randomisation. Implementation
XML format for the configuration (input file) and the generated message sets (output files).
Several examples of typical realistic networks already predefined for an immediate use.
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 14
Configuration file
Principles Constant parameters defined by the user. Variable parameters constrained by the user and instantiated by
Netcarbench.
Parameters for the overall network Type of messages (signals or frames)
<signals Value="False"> Bandwidth
<bandwidth Value="125"> Maximal load
<load Min="30" Max="35"> Number of ECUs
<ecu Min="15" Max="20">
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 15
Configuration file
Parameters for the ECUs Maximal load
<s Id="3" Load="0.10"> Parameters for the messages
Period <p Value="50" Weight="2" PrioLowRange="1" PrioHighRange="200" Margin="1">
Selects a message with a probability of (Weight±Margin)/SumWeights %. If the message is selected, it is assigned a period of 50ms and a (random)
unused priority between 1 and 200.
Length <m Length="8" Weight="10" Margin="2">
Selects a message with a probability of (Weight±Margin)/SumWeights %. If the message is selected, it is assigned a length of 8 bits.
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 16
Generated message sets
Network<msgset Busspeed="125" Name="set1.xml" Load="32.054">
Messages assigned sequentially to the ECUs<ecu Name="Ecu_0"> <frame Name="frame67" Priority="23" Period="100" Length="8"/> <frame Name="frame68" Priority="42" Period="50“ Length="4"/> ...</ecu>
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 17
Evaluation (on 100 message sets)
Lengths of the messages<messages_sizes>
<m Length="1" Weight="1" Margin="1" /> 6 ±6% <m Length="2" Weight="1" Margin="1" /> 6 ±6% <m Length="3" Weight="1" Margin="1" /> 6 ±6% <m Length="4" Weight="1" Margin="1" /> 6±6% <m Length="5" Weight="2" Margin="1" /> 12 ±6% <m Length="6" Weight="2" Margin="1" /> 12 ±6% <m Length="7" Weight="2" Margin="1" /> 12 ±6% <m Length="8" Weight="8" Margin="2" /> 44 ±12%
</messages_sizes>
Loads of the ECUs<loaded_stations>
<s Id="1" Load="0.30" /><s Id="2" Load="0.15" /> <s Id="3" Load="0.10" />
</loaded_stations>
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 18
Evaluation: lengths of messages
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 19
Evaluation: loads of the ECUs
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 20
Evaluation results
Lengths of the messages The assigned lengths are within the user-specified range. The average length is very close to the specified weight.
Loads of the ECUs The load assigned to a given ECU by Netcarbench may differ from
the value specified by the user, if provided. But the compliance is always verified in the average case. For unspecified loads, Netcarbench relies on a uniform distribution.
Conclusion Even on a relatively limited number of experiments, the message
sets are representatives of the user's specifications.
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 21
Conclusion
Netcarbench: a new approach Aimed at facilitating the design and comparison of configuration
algorithms and communication protocols. Genericity
Provides the main elements of today's mostly used automotive communication networks (CAN, FlexRAy...)
Customisation Supports a user-defined configuration following the specificities of
the application under concern. Scalability
Can easily be extended to new network designs. Automation
Performs automatically all remaining tasks, using randomization for the missing parameters.
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 22
Conclusion
Interoperability Uses for both input and output XML files, to ease the
interoperability with other software tools.
Availability The complete program and all accompanying material are licensed
under the GNU GPL v.2 and can be downloaded at:http://www.loria.fr/~nnavet/netcarbench
11/09/07 Netcarbench
C. Braun, L. Havet, N. Navet 23
Future work
Extension to the method of offsets/deadlines assignment
Extension to the FIBEX format (Field Bus Exchange Format, 2006) Standard available on the ASAM (Association for Standardisation of
Automation and Measuring Systems) website. On-going implementation at LORIA.
Participation of other research groups would be appreciated! Open repository of configuration files. Creation of a Sourceforge project. ...