1 Introduction
1.1 Contributions
1.2 Organization
2 Related work
2.1 AVB related research
2.2 Timing analysis approaches for Ethernet AVB
3 Ethernet AVB basics
3.1 The Ethernet AVB
3.2 Ethernet AVB ST
3.3 Overview of the IEEE 802.1Qbv standard and differences with AVB ST
-
According to the IEEE 802.1Qbv standard the idleSlope increases only if the gate is open, i.e., the idleSlope does not increase during the guard band and ST transmission. However, according to the design in Alderisi et al. (2013), the idleSlope for the SR classes increases even during the guard band and ST transmission (see Fig. 3).
-
The idleSlope increases in higher rate than when there is no ST transmission enabled. The duty cycle for the transmission gate is multiplied by the idleSlope according to Clause 8.6.8.2 in the IEEE 802.1Qbv standard (2015).
-
Unlike the IEEE 802.1Qbv standard the AVB ST provides scheduled windows, which consider the period and the length of each transmitted message. Therefore, ST Windows are scheduled only when there are ST messages to be transmitted and they are sized according to the frame length of the specific ST message, thus entailing a more efficient bandwidth utilization.
4 System model
4.1 Network model
4.2 Traffic model
Notation | Description |
---|---|
\(m_i\)
| Message index i
|
\(C_i\)
| The transmission time of \(m_i\)
|
\(T_i\)
| The period of \(m_i\)
|
\(D_i\)
| The relative deadline of \(m_i\)
|
\(J_i\)
| The queuing jitter of \(m_i\)
|
\(P_i\)
| The class of \(m_i\)
|
\(\mathcal {L}_i\)
| The set of links that \(m_i\) crosses from its source node |
to its destination node | |
l
| link in the network |
\(n_i\)
| The number of links in the route of \(m_i\)
|
N
| The total number of messages in the set |
\(F_i\)
| The length of \(m_i\)
|
R
| The network bandwidth |
\(\epsilon \)
| The switch fabric latency |
\(\alpha _{X,l}^+\)
| The replenishment rate (idleSlope) of the credit class X on link l
|
\(\alpha _{X,l}^-\)
| The consumption rate (sendSlope) of the credit class X on link l
|
\(\textit{lp}(m_i)\)
| The set of messages with lower priority than \(m_i\)
|
\(\textit{sp}(m_i)\)
| The set of messages with the same priority as \(m_i\)
|
\(\textit{hp}(m_i)\)
| The set of messages with higher priority than \(m_i\)
|
\(w_i^l(q)\)
| The queuing delay of \(m_i\) in its \(q^{th}\) instance crossing link l
|
\(w_i(q)\)
| The queuing delay of \(m_i\) in its \(q^{th}\) instance |
\(\textit{RT}_i^l\)
| The response time of \(m_i\) crossing link l
|
\(\textit{RT}_i\)
| The response time of \(m_i\)
|
5 AVB response time analysis recap
5.1 Response time of messages belonging to class A
5.1.1 Blocking by lower priority messages
5.1.2 Interference from the same priority messages
5.1.3 Traffic shaper effect
5.2 Response time of messages belonging to class B
6 Response time analysis for AVB ST networks
6.1 Response time of messages in class A
6.1.1 Interference from higher priority messages
6.1.2 Blocking by lower priority messages
6.1.3 Interference from the same priority messages
6.1.4 Traffic shaper effect
6.2 Response time of messages in class B
6.3 Transmission delay of messages in class ST
6.4 Multi-switch response time
6.5 Jitter of the higher priority interference
Class | C | T | D | |
---|---|---|---|---|
\(m_A\)
| A | 2 | 10 | 10 |
\(m_B\)
| B | 2 | 14 | 14 |
\(m_{\textit{BE}}\)
| BE | 4 | – | – |
7 Bandwidth reservation for AVB networks
7.1 Problem formulation
7.1.1 Lower priority blocking
7.1.2 Same priority interference
7.2 Proposed solution
7.2.1 Solution for class B
7.2.2 7Solution for class A
7.3 Over-reservation in the AVB networks
7.4 Evaluation of bandwidth over-reservation
8 Experiments
8.1 Industrial case study
Message ID | Talker | Payload (B) | Period (\(\upmu \)s) | Class |
---|---|---|---|---|
1 | N1 | 500 | 2875 | A |
2 | N2 | 500 | 3500 | B |
3 | N2 | 46 | 4000 | ST |
4 | N3 | 46 | 4000 | ST |
5 | N4 | 500 | 1875 | A |
6 | N5 | 500 | 1500 | A |
7 | N6 | 500 | 3000 | B |
8 | N7 | 200 | 1250 | A |
Link |
\(\alpha ^+_A\)
|
\(\beta ^+_A\)
|
\(\alpha ^+_B\)
|
\(\beta ^+_B\)
|
---|---|---|---|---|
L1<N1-SW1> | 1.51 | 1.51 | 0 | 0 |
L2<SW1-SW2> | 1.51 | 1.51 | 0 | 0 |
L3<N2-SW2> | 0 | 0 | 1.24 | 1.24 |
L4<N3-SW2> | 0 | 0 | 0 | 0 |
L5<SW2-SW3> | 1.51 | 1.51 | 1.24 | 1.24 |
L6<N4-SW3> | 2.31 | 2.31 | 0 | 0 |
L7<SW3-SW4> | 3.82 | 53.31 | 1.24 | 1.24 |
L8<N5-SW4> | 2.89 | 2.89 | 0 | 0 |
L9<SW4-SW5> | 6.71 | 50.11 | 1.24 | 1.24 |
L10<N7-SW5> | 1.55 | 1.55 | 0 | 0 |
L11<SW5-SW6> | 8.26 | 46.69 | 1.24 | 1.24 |
L12<N6-SW6> | 0 | 0 | 1.44 | 1.44 |
L13<N8-SW6> | 0 | 0 | 0 | 0 |
L1<SW1-N1> | 0 | 0 | 0 | 0 |
L2<SW2-SW1> | 0 | 0 | 0 | 0 |
L3<SW2-N2> | 0 | 0 | 0 | 0 |
L4<SW2-N3> | 0 | 0 | 0 | 0 |
L5<SW3-SW2> | 0 | 0 | 0 | 0 |
L6<SW3-N4> | 0 | 0 | 0 | 0 |
L7<SW4-SW3> | 0 | 0 | 0 | 0 |
L8<SW4-N5> | 0 | 0 | 0 | 0 |
L9<SW5-SW4> | 0 | 0 | 0 | 0 |
L10<SW5-N7> | 0 | 0 | 0 | 0 |
L11<SW6-SW5> | 0 | 0 | 0 | 0 |
L12<SW6-N6> | 0 | 0 | 0 | 0 |
L13<SW6-N8> | 8.26 | 45.54 | 2.68 | 36.10 |
ID | Talker | Listener | Payload | Period (ms) | Class |
---|---|---|---|---|---|
1 | CAM1 | DACAM | 400 | 0.750 | A |
2 | CAM2 | DACAM | 400 | 0.750 | A |
3 | CAM3 | DACAM | 400 | 0.750 | A |
4 | DACAM | Head Unit | 400 | 0.750 | A |
5 | DACAM | CU | 46 | 1000 | ST |
6 | DACAM | CU | 46 | 200 | ST |
7 | DACAM | Head Unit | 46 | 1000 | ST |
8 | DACAM | Head Unit | 46 | 200 | ST |
9 | Head Unit | CU | 46 | 5 | ST |
10 | Head Unit | CU | 46 | 50 | ST |
11 | Head Unit | CU | 46 | 100 | ST |
12 | Head Unit | CU | 46 | 200 | ST |
13 | Head Unit | CU | 46 | 500 | ST |
14 | Head Unit | CU | 46 | 700 | ST |
15 | Head Unit | CU | 46 | 1000 | ST |
16 | Head Unit | CU | 46 | 150 | ST |
17 | Head Unit | DACAM | 46 | 100 | ST |
18 | Head Unit | DACAM | 46 | 150 | ST |
19 | Head Unit | DACAM | 46 | 200 | ST |
20 | CU | Head Unit | 46 | 100 | ST |
21 | CU | Head Unit | 46 | 200 | ST |
22 | CU | Head Unit | 46 | 500 | ST |
23 | CU | Head Unit | 46 | 700 | ST |
24 | CU | Head Unit | 46 | 1000 | ST |
25 | CU | DACAM | 46 | 10 | ST |
26 | CU | DACAM | 46 | 1000 | ST |
27 | DVD | RSE | 600 | 1 | B |
28 | CD Audio | RSE | 600 | 6 | B |
29 | Telematics | Head Unit | 400 | 5 | B |
30 | Telematics | RSE | 600 | 0.625 | A |
Link |
\(\alpha ^+_A\)
|
\(\beta ^+_A\)
|
\(\alpha ^+_B\)
|
\(\beta ^+_B\)
|
---|---|---|---|---|
L1<CAM1-SW1> | 4.71 | 4.71 | 0 | 0 |
L2<DACAM-SW1> | 4.71 | 4.71 | 0 | 0 |
L3<CAM2-SW1> | 4.71 | 4.71 | 0 | 0 |
L4<HeadUnit-SW1> | 0 | 0 | 0 | 0 |
L5<CAM3-SW1> | 4.71 | 4.71 | 0 | 0 |
L6<SW1-SW2> | 0 | 0 | 0 | 0 |
L7<CD Audio-SW2> | 0 | 0 | 0.85 | 0.85 |
L8<DVD-SW2> | 0 | 0 | 5.14 | 5.14 |
L9<RSE-SW2> | 0 | 0 | 0 | 0 |
L10<CU-SW2> | 0 | 0 | 0 | 0 |
L11<Telematics-SW2> | 8.22 | 8.22 | 0.70 | 0.70 |
L1<SW1-CAM1> | 0 | 0 | 0 | 0 |
L2<SW1-DACAM> | 14.14 | 30.12 | 0 | 0 |
L3<SW1-CAM2> | 0 | 0 | 0 | 0 |
L4<SW1-HeadUnit> | 4.71 | 4.71 | 0.70 | 0.70 |
L5<SW1-CAM3> | 0 | 0 | 0 | 0 |
L6<SW2-SW1> | 0 | 0 | 0.70 | 0.70 |
L7<SW2-CD Audio> | 0 | 0 | 0 | 0 |
L8<SW2-DVD> | 0 | 0 | 0 | 0 |
L9<SW2-RSE> | 8.22 | 8.21 | 6.00 | 19.07 |
L10<SW2-CU> | 0 | 0 | 0 | 0 |
L11<SW2-Telematics> | 0 | 0 | 0 | 0 |