Presentation is loading. Please wait.

Presentation is loading. Please wait.

Synthesis of Communication Schedules for TTEthernet-based Mixed-Criticality Systems Domițian Tămaș-Selicean 1, Paul Pop 1 and Wilfried Steiner 2 1 Technical.

Similar presentations


Presentation on theme: "Synthesis of Communication Schedules for TTEthernet-based Mixed-Criticality Systems Domițian Tămaș-Selicean 1, Paul Pop 1 and Wilfried Steiner 2 1 Technical."— Presentation transcript:

1 Synthesis of Communication Schedules for TTEthernet-based Mixed-Criticality Systems Domițian Tămaș-Selicean 1, Paul Pop 1 and Wilfried Steiner 2 1 Technical University of Denmark 2 TTTech Computertechnik AG

2 2 Outline  Motivation  TTEthernet  ARINC 664p7 “Aircraft Data Network”  TT and RC Traffic Transmission  Problem Formulation  Motivational Example  Optimization Strategy  RC End-to-End Analysis  Experimental results  Conclusions

3 3 Point-to-point connection Motivation  Real time applications implemented using distributed systems PE Application A 1 -- highly critical Application A 2 -- critical Application A 3 -- non-critical Bus connection  Reduces wiring and weight  Mixed-criticality applications share the same network

4 4 ARINC 664 p7 “Aircraft Data Network” ES 1 ES 2 NS 1 NS 2 ES 3 ES 4  Full-Duplex Ethernet-based data network for safety-critical applications End System Network Switch

5 5 ARINC 664 p7 “Aircraft Data Network” ES 1 ES 2 NS 1 NS 2 ES 3 ES 4 CPU RAM ROM NIC

6 6 ARINC 664 p7 “Aircraft Data Network” ES 1 ES 2 NS 1 NS 2 ES 3 ES 4 NS 1 to ES 1 ES 1 to NS 1 dataflow link

7 7 ARINC 664 p7 “Aircraft Data Network” NS 1 NS 2 vl 2 vl 1 ES 1 τ1τ1 ES 2 τ4τ4 ES 3 τ2τ2 τ5τ5 ES 4 τ3τ3  Highly critical application A 1 : τ 1, τ 2 and τ 3  τ 1 sends message m 1 to τ 2 and τ 3  Non-critical application A 2 : τ 4 and τ 5  τ 4 sends message m 2 to τ 5 virtual link

8 8 ARINC 664 p7 “Aircraft Data Network” NS 1 NS 2 dp 1 vl 1 dp 2 l1l1 l2l2 l3l3 l4l4 ES 1 τ1τ1 ES 2 τ4τ4 ES 3 τ2τ2 τ5τ5 ES 4 τ3τ3 dataflow path  Highly critical application A 1 : τ 1, τ 2 and τ 3  τ 1 sends message m 1 to τ 2 and τ 3  Non-critical application A 2 : τ 4 and τ 5  τ 4 sends message m 2 to τ 5

9 9 ARINC 664 p7 “Aircraft Data Network”  Deterministic Event Triggered communication  Separation of traffic enforced through “bandwidth allocation”  Bandwidth Allocation Gap (BAG) – minimum time interval between two consecutive instances of a frame on a virtual link f x,1 f x,2 BAG x  Maximum bandwidth assigned to virtual link vl i BW (vl i ) = f i.size/BAG i

10 10 TTEthernet  ARINC 664p7 compliant  Traffic classes:  synchronized communication  Time Triggered (TT)  unsynchronized communication  Rate Constrained (RC) – ARINC 664p7 traffic class  Best Effort (BE) – no timing guarantees  Standardized as SAE AS 6802  Marketed by TTTech Computertechnik AG  Implemented by Honeywell on the NASA Orion Constellation

11 11 TTEthernet  Composed of clusters  Each cluster has a clock synchronization domain  Inter-cluster communication using RC traffic ES 1 ES 2 NS 1 ES 3 ES 4 ES 5 ES 6 NS 2 ES 7 ES 8 Cluster 1 Cluster 2

12 12 b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT b

13 13 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

14 14 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

15 15 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

16 16 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

17 17 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

18 18 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

19 19 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSR S A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

20 20 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

21 21 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

22 22 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSR S A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

23 23 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

24 24 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

25 25 b b TT Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 B 2,Tx B 1,Tx TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 TT a c d e f g h i j k l m SRSRS A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT a c d e f g h i j k l m Packing message m 2 into frame f 2 Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S TT S sends f 2 to NS 1 f 2 is sent on the dataflow link to NS 1 The Filtering Unit (FU) checks the frame f 2 Expected receive time specified in receive schedule S R TT R checks if f 2 arrives according to schedule Place f 2 in buffer B 1,Tx for transmission Send time specified in send schedule S S FU checks f 2 Store the frame into receive buffer B 2,Rx Task τ 4 reads f 2 from buffer b

26 26 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

27 27 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

28 28 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

29 29 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

30 30 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

31 31 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

32 32 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

33 33 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

34 34 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

35 35 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

36 36 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

37 37 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

38 38 RC Transmission CPU P 1,1 τ1τ1 P 1,2 τ2τ2 Q 1,Tx Q 2,Tx B 2,Tx B 1,Tx TR 2 TR 1 RC S TT S P 1,3 P 2,1 τ4τ4 P 2,2 τ3τ3 P 2,3 CPU FU Q 1,Rx Q 2,Rx B 1,Rx B 2,Rx ES 1 ES 2 NS 2 NS 3 FU TP TT R B 1,Tx B 2,Tx TT S NS 1 S f2f2 f3f3 f4f4 f1f1 RC TT Q Tx 1 23 4 5 6 7 89 1010 1 1212 1313 SRSRS 1 Packing message m 1 into frame f 1 2 Insert it in queue Q 1,Tx 3 Traffic Regulator (TR) ensures bandwidth for each VL 4 RC scheduler RC multiplexes frames coming from TRs 5 TT S transmits f 1 when there is no TT traffic 6 f 1 is sent on the dataflow link to NS 1 7 FU checks the validity of the frame 8 Traffic Policing (TP) checks that f2 arrives according to the BAG 9 Copy f 1 to outgoing queue Q Tx 1010 Send f 1 when there is no TT traffic 1 FU checks f 1 1212 Copy to receiving Q 2,Rx 1313 Task τ 3 reads f 1 from the queue A 1 : τ 1   m 1  τ 3, RC A 2 : τ 2   m 2  τ 4, TT

39 39 Problem formulation  Given  The topology of the network G  The set of TT and RC frames F TT and F RC  The set of virtual links VL  The assignment of frames to virtual links M  For each frame the size, the deadline and the period

40 40 Problem formulation  Given  The topology of the network G  The set of TT and RC frames F TT and F RC  The set of virtual links VL  The assignment of frames to virtual links M  For each frame the size, the deadline and the period  Determine  The set of TT schedules

41 41 Problem formulation  Given  The topology of the network G  The set of TT and RC frames F TT and F RC  The set of virtual links VL  The assignment of frames to virtual links M  For each frame the size, the deadline and the period  Determine  The set of TT schedules  Such that  The deadlines for the TT and RC frames are satisfied  The end-to-end delay of RC frames is minimized

42 42 Motivational Example ES 1 ES 2 NS 1 ES 3 vl 3 vl 1 vl 2 period (us)deadline (us)C i (us) M f1 ∈ F RC 300 75 vl 1 f2 ∈ F TT 200 50 vl 2 f3 ∈ F TT 300 50 vl 3

43 43 Motivational Example ES 1 ES 2 NS 1 ES 3 vl 3 vl 1 vl 2 period (us) deadline (us) C i (us) M f1 ∈ F RC 300 75 vl 1 f2 ∈ F TT 200 50 vl 2 f3 ∈ F TT 300 50 vl 3  Initial TT schedule

44 44 Motivational Example ES 1 ES 2 NS 1 ES 3 vl 3 vl 1 vl 2 period (us) deadline (us) C i (us) M f1 ∈ F RC 300 75 vl 1 f2 ∈ F TT 200 50 vl 2 f3 ∈ F TT 300 50 vl 3  Optimized TT schedule

45 45 Optimization Strategy  TTEthernet Schedule Optimization (TTESO) strategy:  Tabu Search meta-heuristic  The TT schedules S  Such that:  TT and RC frames are schedulable  The end-to-end delay of the RC frames is minimized  Tabu Search  Minimizes the cost function  Explores the solution space using design transformations

46 46 Optimization Strategy  Degree of schedulability  Captures the difference between the worst-case delay and deadline  Cost Function

47 47 Optimization Strategy: Design Transformations  TT frame moves  advance frame transmission time  advance frame predecessors transmission time  postpone frame transmission time  postpone frame successors transmission time  RC frame moves  reserve space for RC frame  resize reserved space for RC frame  remove reserved space for RC frame

48 48 Frame Representation for Moves ES 1 ES 2 NS 1 NS 2 ES 3 ES 4 vl 1 f 1,1 [ES 1, NS 1 ] f 1,1 [NS 1, NS 2 ] f 1,1 [NS 1, NS 2 ] f 1,1 [NS 1, NS 2 ]

49 49 Design transformations: Postpone move

50 50 Design transformations: Advance move

51 51 Design transformations: Reserve space for RC

52 52 Design transformations: Resize RC reserved space

53 53 RC Frame End-to-End Analysis  On a dataflow link, a RC frame can be delayed by:  scheduled TT frames  queued RC frames  technical latency  policy specific:  timely block  pre-emption

54 54 RC Frame End-to-End Analysis ES 1 NS 2 NS 1 ES 4 vl 3 vl 2 vl 1 NS 3 NS 2 → NS 1 f 3,j 0 100200300400500600 f 4,1 NS 3 → NS 1 NS 1 → ES 4 f 2,1 ES 1 → NS 1 f 1,i f 2,1 f 4,1 f 1,i f 3,j C [NS 1, ES 4 ] f1f1 Q TT [NS 1, ES 4 ] Q RC [NS 1, ES 4 ] Q TL NS 1 R f1f1 vl 4

55 55 RC Frame End-to-End Analysis  Approaches for analysis of ARINC 644p7 network traffic:  Network Calculus, (Boyer, 2008)  Finite State Machine, (Saha, 2007)  Timed Automata, (Adnan, 2010)  Trajectory Approach, (Bauer, 2009)  We use the method proposed in (Steiner, 2011)  it takes into account also the TT traffic  it is pessimistic:  does not ignore frames that already delayed a RC frame on a previous link  assumes uniformly distributed intervals of equal length reserved for RC traffic

56 56 Experimental Results  Benchmarks  17 synthetic  1 real life test cases based on the SAE Automotive benchmark  TTESO compared to:  Straightforward Solution (SS)  Builds TT schedules with the goal of minimizing the end-to-end delay of TT frames, without considering the RC frames

57 57 Experimental Results

58 58 Experimental Results

59 59 Experimental Results

60 60 Experimental Results

61 61 Experimental Results

62 62 Conclusions  TTEthernet is very well suited for mixed-criticality applications  Predictability is achieved using three classes of traffic: TT, RC and BE  Spatial separation is achieved trough virtual links  Temporal separation is enforced by schedule tables for TT traffic and bandwidth allocation for RC traffic  We have addressed the optimization of the TTEthernet protocol  The TT schedules are determined such that TT and RC frames are schedulable, and the end-to-end delay of the RC frames is minimized  Optimization tools are needed to support the designer in order to obtain schedulable solutions  We have proposed a Tabu Search-based optimization solution

63 63


Download ppt "Synthesis of Communication Schedules for TTEthernet-based Mixed-Criticality Systems Domițian Tămaș-Selicean 1, Paul Pop 1 and Wilfried Steiner 2 1 Technical."

Similar presentations


Ads by Google