Netcarbench A Benchmark for Techniques and Tools used in the Design of Automotive Communication Systems Christelle BRAUN Lionel HAVET Nicolas NAVET LORIA-INRIA Campus Scientifique, B.P.
Download ReportTranscript Netcarbench A Benchmark for Techniques and Tools used in the Design of Automotive Communication Systems Christelle BRAUN Lionel HAVET Nicolas NAVET LORIA-INRIA Campus Scientifique, B.P.
Netcarbench A Benchmark for Techniques and Tools used in the Design of Automotive Communication Systems Christelle BRAUN Lionel HAVET Nicolas NAVET LORIA-INRIA Campus Scientifique, B.P. 239 54506 Vandoeuvre-les-Nancy, France [email protected] {Lionel.Havet,Nicolas.Navet } @loria.fr FeT‘ 2007, 9th November 2007, Toulouse, France Outline Typical automotive communication networks today The need for benchmarks Our solution: Netcarbench Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 2 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) Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 3 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. Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 4 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) Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 5 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 The bandwidth consumption is minimized None of the transmitted signal misses a deadline. 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. Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 6 Frame packing … Minimize bandwidth consumption and respect deadline constraints F1 F2 ECU1 Frame X F3 F4 F5 F6 ECU2 Frame Y F7 ECU3 ECU4 Frame Z Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 7 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). Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 8 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, finetuned with the experience gained in industrial use. Can be improved and extended according to the user's needs. Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 9 NETCAR-Analyser: screenshot Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 10 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 Scalability Capture the typical properties of the workloads in today‘s automotive networks (CAN, FlexRay...) Can be easily adapted to evolutions of the network model. Customisation Let the user define the specific parameters of his application Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 11 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 Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 12 Netcarbench Our solution: Netcarbench A new benchmark for broadcast networks in automotive distributed control systems. Outperforms existing solutions Input Output User-defined configuration. 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. Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 13 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) Bandwidth <bandwidth Value="125"> Maximal load <signals Value="False"> <load Min="30" Max="35"> Number of ECUs <ecu Min="15" Max="20"> Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 14 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. Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 15 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> Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 16 Evaluation (on 100 message sets) Lengths of the messages <messages_sizes> <m Length="1" <m Length="2" <m Length="3" <m Length="4" <m Length="5" <m Length="6" <m Length="7" <m Length="8" </messages_sizes> Weight="1" Weight="1" Weight="1" Weight="1" Weight="2" Weight="2" Weight="2" Weight="8" Margin="1" Margin="1" Margin="1" Margin="1" Margin="1" Margin="1" Margin="1" Margin="2" /> /> /> /> /> /> /> /> 6 ±6% 6 ±6% 6 ±6% 6±6% 12 ±6% 12 ±6% 12 ±6% 44 ±12% 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> Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 17 Evaluation: lengths of messages Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 18 Evaluation: loads of the ECUs Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 19 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. Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 20 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. Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 21 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 Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 22 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. ... Netcarbench 11/09/07 C. Braun, L. Havet, N. Navet 23