Introduction of Flex Ray ChienChihPaul Chao ChihChiangMichael Chang

  • Slides: 41
Download presentation
Introduction of Flex. Ray Chien-Chih(Paul) Chao Chih-Chiang(Michael) Chang Instructor: Dr. Ann Gordon-Ross 1 of

Introduction of Flex. Ray Chien-Chih(Paul) Chao Chih-Chiang(Michael) Chang Instructor: Dr. Ann Gordon-Ross 1 of 41

Summary General Background Performance Analysis of Flex. Ray-based ECU Networks Motivations Basic framework Modeling

Summary General Background Performance Analysis of Flex. Ray-based ECU Networks Motivations Basic framework Modeling Flex. Ray Case Study Conclusion Flex. Ray Schedule Optimization of the Static Segment Background & Introduction Motivation 2 of 41 Problem definition Methodology

General Background What is Flex. Ray? A next generation automotive network communications protocol. When

General Background What is Flex. Ray? A next generation automotive network communications protocol. When was it released? First public release(Version 2. 0) on Jun 2004. The latest version 3. 0. 1 was released on Oct 2010. Why uses Flex. Ray? 1. 2. 3. 4. 3 of 41 High bandwidth Flexibility Fault-tolerance Reliability

General Background Flex. Ray 4 of 41 Controller Area Network(CAN) 10 Mbps x 2

General Background Flex. Ray 4 of 41 Controller Area Network(CAN) 10 Mbps x 2 bandwidth Bandwidth up to 1 Mbps Time-triggered for real- Contention resolved by time transmission Event-triggered for lowpriority data Synchronous Deterministic system design priority. Asynchronous Acknowledgment and retransmission when message is corrupted

General Background Who developed Flex. Ray? Where used Flex. Ray? BMW X 5 on

General Background Who developed Flex. Ray? Where used Flex. Ray? BMW X 5 on 2006, BMW 5 -Series, BMW 7 -Series Audi A 8, Bentley Mulsanne, Rolls-Royce Ghost 5 of 41

General Background How does it work? Dual channel - scalable system fault-tolerance Bus Guardian

General Background How does it work? Dual channel - scalable system fault-tolerance Bus Guardian Interconnect topologies: centralized or bus 6 of 41

General Background Macrotick- the node’s own internal clock or timer. Microtick- a cluster wide

General Background Macrotick- the node’s own internal clock or timer. Microtick- a cluster wide synchronized clock. NIT is stand for Network Idle Time which time corrections. 7 of 41

Performance Analysis of Flex. Ray-based ECU Networks Andrei Hagiescu, Unmesh D. Bordoloi, Samarjit Chakraborty

Performance Analysis of Flex. Ray-based ECU Networks Andrei Hagiescu, Unmesh D. Bordoloi, Samarjit Chakraborty Department of Computer Science, National University of Singapore Prahladavaradan Sampath, P. Vignesh V. Ganesan, S. Ramesh General Motors R&D – India Science Laboratory, Bangalore Design Automation Conference (DAC) 2007, 8 of 41 San Diego, California, USA

Motivation In a high-end car there are up to 70 electronic control units (ECUs)

Motivation In a high-end car there are up to 70 electronic control units (ECUs) exchanging up to 2500 signals. Commonly used protocols include CAN, local interconnection network(LIN). Previous implementations of Flex. Ray using only static segment, with the dynamic segment being unutilized. • Dynamic part of protocol is more complex. • The potential messages for dynamic segment is more irregular. Techniques for analyzing the static segment are known(TDMA scheme). 9 of 41

Flex. Ray Communication cycles The first cycle T 1, T 3, T 5, T

Flex. Ray Communication cycles The first cycle T 1, T 3, T 5, T 6, and T 7 have messages to send. The Second cycle T 2 have messages to send. 10 of 41

Difficulties in Modeling Flex. Ray A message cannot straddle two communication cycles. Once a

Difficulties in Modeling Flex. Ray A message cannot straddle two communication cycles. Once a task misses in the dynamic segment, it will wait till the next cycle. A task can send at most one message in each dynamic segment, where the maximum length of the message can be equal to the length of the dynamic segment. One minislot is consumed from the available service when a task is not ready to transfer a message. 11 of 41

Modeling Flex. Ray Step 1: Extract k 1 minislots of service during each communication

Modeling Flex. Ray Step 1: Extract k 1 minislots of service during each communication cycle from l. Step 2: Discretize the service bound obtained from step 1. Step 3: The resulting service bound is shifted by d time units. Step 4: A minislot is lost even when a task does not transmit any message. 12 of 41

Modeling Flex. Ray The service available to the lower priority tasks (i. e. T

Modeling Flex. Ray The service available to the lower priority tasks (i. e. T 2 …)is made up of two components The service that was unavailable to T 1. The service that was unutilized by T 1. The procedure is remaining for the rest tasks. 13 of 41

Case Study Adaptive Cruise Control application. Implemented framework using Matlab as a front- end.

Case Study Adaptive Cruise Control application. Implemented framework using Matlab as a front- end. Using Java to handle all the function transformation. m 1 14 of 41 m 2 m 3 m 4

Results 15 of 41

Results 15 of 41

Conclusion Present a compositional performance model for a network of ECUs communicating via Flex.

Conclusion Present a compositional performance model for a network of ECUs communicating via Flex. Ray bus. Formal model of the protocol governing the dynamic segment of Flex. Ray. The framework can also be used for deriving the parameters of the Flex. Ray protocol. Help in resource dimensioning and determining optimal scheduling policies for multitasking ECUs. 16 of 41

Flex. Ray Schedule Optimization of the Static Segment Martin Lukasiewycz, Michael Glaß, and Jürgen

Flex. Ray Schedule Optimization of the Static Segment Martin Lukasiewycz, Michael Glaß, and Jürgen Teich University of Erlangen-Nuremberg, Germany Paul Milbredt I/EE-81, AUDI AG, German CODES+ISSS 2009, Grenoble, France 17 of 41

Quick View Presenting a Scheduling Optimization scheme for the static segment of the Flex.

Quick View Presenting a Scheduling Optimization scheme for the static segment of the Flex. Ray bus in compliance with the AUTOSAR specification. What is AUTOSAR? 18 of 41

Background & Introduction AUTOSAR AUTomotive Open System ARchitecture Flex. Ray An Automotive Communication System

Background & Introduction AUTOSAR AUTomotive Open System ARchitecture Flex. Ray An Automotive Communication System Protocol Data Units (PDUs) 19 of 41

Background – AUTOSAR AUTomotive Open System Architecture Open and Standardized automotive software architecture Partnership

Background – AUTOSAR AUTomotive Open System Architecture Open and Standardized automotive software architecture Partnership for automotive E/E (Electrics/Electronics) architectures Standardization Basic systems functions, Scalability to different vehicle Transferability throughout the network Maintainability throughout the entire product life-cycle Etc. 20 of 41

Background – Flex. Ray Static Segment Time-triggered Enable a guaranteed real-time transmission of critical

Background – Flex. Ray Static Segment Time-triggered Enable a guaranteed real-time transmission of critical data Periodic and Safety-critical data Reserved slots for deterministic data that arrives at a fixed period Dynamic Segment Even-triggered For low priority data Maintenance and Diagnosis data 21 of 41 does not require determinism

Background – Flex. Ray (Cont. ) Communication Cycle 5 Symbol Window Typically used for

Background – Flex. Ray (Cont. ) Communication Cycle 5 Symbol Window Typically used for network maintenance and signaling for starting the network. Network Idle Time 22 of 41 A known "quiet" time used to maintain synchronization between node clocks.

Background – Flex. Ray – Static Segment 23 of 41

Background – Flex. Ray – Static Segment 23 of 41

Background – Flex. Ray – Static Seg. Made up of n equally sized slots

Background – Flex. Ray – Static Seg. Made up of n equally sized slots each slots is uniquely assigned to one node Node may occupy more than one slot 1 24 of 41 2 3

Background – Flex. Ray – Static Seg. Each slot: header, trailer, and payload segment

Background – Flex. Ray – Static Seg. Each slot: header, trailer, and payload segment PDU PDU 25 of 41 PDU PDU

Background – PDUs The mechanism for communicating information between protocols, they are most generally

Background – PDUs The mechanism for communicating information between protocols, they are most generally called protocol data units (PDUs). 26 of 41 OSI Layer PDU Name Application Data Presentation Data Session Data Transport Segment Network Packet Data Link Frame Physical Bits

Motivation To minimize the number of used slots in order to maximize the utilization

Motivation To minimize the number of used slots in order to maximize the utilization of the bus Scheduling optimization scheme for the static segment of the Flex. Ray bus 27 of 41

Problem definition Scheduling Problem: Scheduling Requirements the static time-triggered segment Why optimization? high flexibility

Problem definition Scheduling Problem: Scheduling Requirements the static time-triggered segment Why optimization? high flexibility for incremental schedule changes for future automotive networks with a higher data volume fast scheduling techniques are necessary to allow for an effective parameter exploration 28 of 41 AUTOSAR Interface Specification cycle multiplexing for a single slot maximizes the utilization of the static segment in compliance with the high requirements for reliability and robustness

Methodology 29 of 41

Methodology 29 of 41

Methodology Slot 30 of 41 Bin Optimal

Methodology Slot 30 of 41 Bin Optimal

Methodology Problem Transformation Transform the scheduling problem into a special two- dimensional bin packing

Methodology Problem Transformation Transform the scheduling problem into a special two- dimensional bin packing problem 1 slot 1 bin 31 of 41

Methodology Bin Packing The Heuristic Approach “Fast Greedy Heuristic” Better with Unconstrained Problems ILP

Methodology Bin Packing The Heuristic Approach “Fast Greedy Heuristic” Better with Unconstrained Problems ILP Approach Better with Constrained Problems: Enhanced ILP Mutex Packing Add Mutual Exclusion to the bin packing Reordering For Extensibility of a bin and a slot 32 of 41

Fast Greedy Heuristic “Greedy” implies: Local Optimal � Global Optimal To put “elements” into

Fast Greedy Heuristic “Greedy” implies: Local Optimal � Global Optimal To put “elements” into “bins” The Order of the elements (by height and weight) Allocated new empty bin 33 of 41

Integer Linear Programming (ILP) Placing the elements starting from the highest element to the

Integer Linear Programming (ILP) Placing the elements starting from the highest element to the most left void space in the bin s at the level l results in a feasible solution of the bin packing problem. Enhanced ILP This constraint improves the runtime of the ILP: If the optimal solution is reached and equals the lower bound, the optimization process terminates immediately. 34 of 41

Experimental Results Schedule Optimization Incremental Scheduling Scalability Analysis ILP & Heuristic Slot Size Exploration

Experimental Results Schedule Optimization Incremental Scheduling Scalability Analysis ILP & Heuristic Slot Size Exploration Supportive Test Case 35 of 41

Results - Schedule Optimization Intel Pentium 4 3. 20 GHz machine with 512 MB

Results - Schedule Optimization Intel Pentium 4 3. 20 GHz machine with 512 MB RAM highly heterogeneous in terms of their period and size the only approach currently, TTX Plan 36 of 41

Results - Incremental Scheduling In contrast to the ILP approach, the heuristic scheduling method

Results - Incremental Scheduling In contrast to the ILP approach, the heuristic scheduling method allows an incremental scheduling. An incremental scheduling might be favored if the number of allocated slots is still not critical since integration tests are time-consuming and expensive. 37 of 41

Results – Scalability 38 of 41

Results – Scalability 38 of 41

Results - Supportive Test Case BMW series 7 Overall 15 nodes 91 slots each

Results - Supportive Test Case BMW series 7 Overall 15 nodes 91 slots each having a payload of 16 bytes 237 random PDUs were generated 39 of 41

Conclusion There exists no publication regarding the Flex. Ray bus scheduling in compliance with

Conclusion There exists no publication regarding the Flex. Ray bus scheduling in compliance with the industrial AUTOSAR Interface Specification. The case study show that the heuristic and ILP approach are superior to a commercial tool in runtime and quality. A supportive case study shows the flexibility and robustness of the proposed algorithms 40 of 41

Thank you! 41 of 41

Thank you! 41 of 41