pushing the limits of can - scheduling frames with offsets provides a major performance boost

24
Pushing the limits of CAN - Pushing the limits of CAN - Scheduling frames with offsets Scheduling frames with offsets provides a major performance provides a major performance boost boost Nicolas NAVET INRIA / RealTime-at-Work http://www.loria.fr/~nnavet http://www.realtimeatwork.com [email protected] m ERTS – 30/01/2008 Joint work with Mathieu GRENIER and Lionel HAVET

Upload: mackensie-short

Post on 31-Dec-2015

18 views

Category:

Documents


1 download

DESCRIPTION

Pushing the limits of CAN - Scheduling frames with offsets provides a major performance boost. Nicolas NAVET INRIA / RealTime-at-Work http://www.loria.fr/~nnavet http://www.realtimeatwork.com [email protected] ERTS – 30/01/2008. - PowerPoint PPT Presentation

TRANSCRIPT

Pushing the limits of CAN -Pushing the limits of CAN -Scheduling frames with offsets Scheduling frames with offsets

provides a major performance boostprovides a major performance boost

Nicolas NAVETINRIA / RealTime-at-Work

http://www.loria.fr/~nnavet

http://www.realtimeatwork.com [email protected]

ERTS – 30/01/2008

Joint work with Mathieu GRENIER and Lionel HAVET

2

In-vehicle networking : In-vehicle networking : will CAN be able to keep up the pace?will CAN be able to keep up the pace?

Typically max. bus load is set to 35% Not enough wrt to short/medium term bandwidth

needs … Solution 1: multiple CAN networks … but

gateways induce heavy overhead Solution 2: switch to FlexRay … expensive for

bandwidth alone Solution 3: optimize the scheduling of CAN

frame .. Offsets provide a solution to make CAN predictable at higher network load (≥60%)

3

Scheduling frames with offsets ?!Scheduling frames with offsets ?!

000

1050

1555

0 10 20 30 40 50 60 70 80 90 100 110

Periods 20 ms 15 ms 10 ms

0 10 20 30 40 50 60 70 80 90 100

52,50

110

52,50

Periods 20 ms 15 ms 10 ms

Principle: desynchronize transmissions to avoid load peaks

Algorithms to decide offsets are based on arithmetical properties of the periods and size of the frame

4

System model (1/2) System model (1/2)

ECUFrame Transmission request

task

Frame response time

Performance metric: worst-case response time

CANHigher prio. frames

frame

5

System model (2/2) System model (2/2) The offset of a message stream is the time at which

the transmission request of the first frame is issued

Complexity: best choosing the offsets is exponential in the task periods → approximate solutions

Middleware task imposes a certain granularity Without ECU synchronisation, offsets are local to ECUs

6

But task scheduling has to be But task scheduling has to be adapted… adapted…

ECUFrame Transmission request

task

Frame response time

In addition, avoiding consecutive frame constructions on an ECU allows to reduce latency

CANHigher prio. frames

frame

7

Time 0 2 4 6 8 10 12 14 16 18

Frame

Offsets Algorithm (1/3)Offsets Algorithm (1/3) Ideas:

assign offsets in the order of the transmission frequencies release of the first frame is as far as possible from adjacent

frames identify “least loaded interval”

Ex: f1=(T1=10), f2=(T2=20), f3(T3=20)

f1,1 f1,2f2,1 f3,1

8

Offsets Algorithm applied on a typical Offsets Algorithm applied on a typical body networkbody network

21 ms

65 ms

9

Offsets Algorithm (3/3)Offsets Algorithm (3/3)

Low complexity and efficient as is but further improvements possible: add frame(s) / ECU(s) to an existing design user defined criteria : optimize last 10 frames,

a specific frame, take into account priorities optimization algorithms: tabu search, hill

climbing, genetic algorithms …

10

Efficiency of offsets : Efficiency of offsets : some insight (1/2)some insight (1/2)

Almost a straight line, suggests that our algorithm is near-optimal

Work = time

to transmit the CAN

frames sent

by the station

s

11

Efficiency of offsets : Efficiency of offsets : some insight (2/2)some insight (2/2)

A larger workload waiting for transmission implies larger response times for the low priority frames ..

Computing worst-case response times with offsets

13

Computing frame worst-case Computing frame worst-case response time with offsetsresponse time with offsets

CAN Controller

buffer Tx

CAN Bus

AUTOSAR COM

Frame-packing task5ms

9 6 8

1

2

Waiting queue:

-FIFO

-Highest Priority First (HPF - Autosar)

-Carmaker specific

Requirements :

- handle 100+ frames

- very fast execution times

- ≠ waiting queue policy at the microcontroller level

- limited number of transmission buffers

14

WCRT : State of the art WCRT : State of the art

Scientific literature: Complexity is exponential No schedulability analysis with offsets in the

distributed non-preemptive case Offsets in the preemptive case : not suited for

> 10-20 tasks WCRT without offsets: infinite number of Tx

buffers and no queue at the microcontroller level

Our software: NETCAR-Analyzer

15

NETCAR-Analyzer : developed at INRIA, then RealTime-at-Work

16

NETCAR-Analyzer : an overview Worst-case response time on CAN with and without offsets Proven near-optimal offsets assignments with user-defined performance criteria (e.g. WCRT of the 10 lowest prio. frames)

Exhibit the situations leading to the worst-case (results can be checked by simulations/testing)

Enable to dimension transmission/reception buffers (RAM) Handle both FIFO and prioritized ECUs Fast multi-core implementation (<1mn for 100 frames) Industrial use since December 2006

Experimental Setup WCRT of the frames wrt random offsets and lower bound WCRT reduction ratio for chassis and body networks Load increase : add new ECUs / add more traffic

Performance evaluation :

18

Experimental SetupExperimental Setup

Body and chassis networks

Network #ECUs #M essages Bandwidth Frame periodsBody 15-20 ¼70 125Kbit/ s 50ms-2s

Chassis 5-15 ¼60 500Kbit/ s 10ms-1s

Set of frames generated with NETCARBENCH (GPL-licenced)

With / without load concentration: one ECU generates 30% of the load

19

Offsets in practice : large response Offsets in practice : large response time improvements (1/2)time improvements (1/2)

21

17

32

65 ms

20

WCRT Reduction RatioWCRT Reduction Ratio

Body Networks Chassis Networks

Results are even better with loaded stations

21

Offsets allow higher network loadsOffsets allow higher network loads

Typically: WCRT at 60% with offsets WCRT at 30% without offsets

22

Partial offset usagePartial offset usage

34

17

42

65 ms

23

ConclusionsConclusions

Offsets provide an cost-effective short-term solution to postpone multiple CANs and FlexRay

Tradeoff between Event and Time Triggered

Further large improvements are possible by synchronizing the ECUs …

ET CAN CAN with offsets TT-CAN

+ Complexity+ Determinism

24

Questions, feedback? Questions, feedback? please contact me atplease contact me at

[email protected]@realtimeatwork.com