A Real-Time Multicast Routing Scheme for Multi-Hop Switched - - PowerPoint PPT Presentation

a real time multicast routing scheme for multi hop
SMART_READER_LITE
LIVE PREVIEW

A Real-Time Multicast Routing Scheme for Multi-Hop Switched - - PowerPoint PPT Presentation

A Real-Time Multicast Routing Scheme for Multi-Hop Switched Fieldbuses Lixiong Chen*, Xue Liu , Qixin Wang , Yufei Wang *Dept. of ECE, School of CS, McGill Univ. Dept. of Computing, The Hong Kong Polytechnic Univ. March 30,


slide-1
SLIDE 1

A Real-Time Multicast Routing Scheme for Multi-Hop Switched Fieldbuses

Lixiong Chen*, Xue Liu†, Qixin Wang‡, Yufei Wang‡ *Dept. of ECE, †School of CS, McGill Univ.

‡Dept. of Computing, The Hong Kong Polytechnic Univ.

March 30, 2011

slide-2
SLIDE 2

Content

Demand Background Problem Definition and Complexity Heuristic Algorithm Evaluation Related Work

slide-3
SLIDE 3

Specialized networks used in industrial, mining, medical, vehicular, avionic environments

Fieldbus is fundamentally different from the Internet, hence requires different solutions. Fieldbus:

Hard Real-Time Periodic Stable Traffic Bounded w/ Global Info

The Internet:

Best Effort Random Bursty Traffic Unbounded w/o Global Info

slide-4
SLIDE 4

Fieldbus is evolving from shared medium to multi-hop switched due to scalability needs.

Concord 1976

slide-5
SLIDE 5

Fieldbus is evolving from shared medium to multi-hop switched due to scalability needs.

A380 2007, Several Hundreds

  • f

computing nodes

slide-6
SLIDE 6

Fieldbus is evolving from shared medium to multi-hop switched due to scalability needs.

Tele-robotic underground mining saves lives

2000ft (609.6m) 2000ft (609.6m) > 5000 annual death toll

slide-7
SLIDE 7

Fieldbus is evolving from shared medium to multi-hop switched due to scalability needs.

Telepresence

slide-8
SLIDE 8

Fieldbus is evolving from shared medium to multi-hop switched due to scalability needs.

Robotic Manufacturing

slide-9
SLIDE 9

Shared medium  multi-hop switched: real- time multicast becomes a problem.

1 1 1 1 1

) ( ) ( ) ( ) ( ) (

       

   

n n m m m m n n n n n

t x K t u t u B t x A t x 

Modern control assumes MIMO  Real-Time Multicast btw Sensors-Controllers-Actuators/Observers

slide-10
SLIDE 10

Shared medium  multi-hop switched: real- time multicast becomes a problem.

1 1 1 1 1

) ( ) ( ) ( ) ( ) (

       

   

n n m m m m n n n n n

t x K t u t u B t x A t x 

Shared Medium Real-Time Multicast: Easy Multi-Hop Switched Real-Time Multicast: ?

slide-11
SLIDE 11

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

slide-12
SLIDE 12

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3

Input Ports

slide-13
SLIDE 13

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

Output Ports

slide-14
SLIDE 14

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

Per-Flow-Queueing

slide-15
SLIDE 15

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

cells

slide-16
SLIDE 16

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 O1 O2 O3 I2 I3

cell cell cell cell cell cell

slide-17
SLIDE 17

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

Synchronous periodic cell forwarding Cell-Time

slide-18
SLIDE 18

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

Matching

slide-19
SLIDE 19

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

Why Matching? An input/output can only send/receive one cell per cell-time

slide-20
SLIDE 20

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

Internal Matching: if an input has multiple per-flow-q for the same output, only one is picked every cell-time.

slide-21
SLIDE 21

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

slide-22
SLIDE 22

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

slide-23
SLIDE 23

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

slide-24
SLIDE 24

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

Fit all real-time flows’ periods into frame, e.g., (11, 3)  (5, 2), i.e., (10, 4)

Cell time: 1 2 3 4 5 I1: I2: I3: I4:

Demand

a cell to send to O1 a cell to send to O2 a cell to send to O3 a cell to send to O4

TDMA scheduling frame of M cell-time, e.g., M = 5

slide-25
SLIDE 25

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

Demand

Cell time: 1 2 3 4 5 I1: I2: I3: I4:

Schedule

Scheduling Algorithm

Theorem 1: If demand matrix’ every color ≤ M cell, then have config. time scheduler with O(N4) time cost [wang10].

Cell time: 1 2 3 4 5 I1: I2: I3: I4: a cell to send to O1 a cell to send to O2 a cell to send to O3 a cell to send to O4

slide-26
SLIDE 26

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

Support for Multicast c

slide-27
SLIDE 27

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

I1 I2 I3 O1 O2 O3

c c c Support for Multicast

slide-28
SLIDE 28

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

slide-29
SLIDE 29

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

slide-30
SLIDE 30

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

Graph of the switched real-time network (fieldbus)

slide-31
SLIDE 31

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

Graph of the switched real-time network (fieldbus) Switches (nodes) of the network

slide-32
SLIDE 32

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

Graph of the switched real-time network (fieldbus) Switches (nodes) of the network Edges of the network

slide-33
SLIDE 33

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

slide-34
SLIDE 34

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

A (real-time) multicast group

slide-35
SLIDE 35

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

A (real-time) multicast group Source End

slide-36
SLIDE 36

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

A (real-time) multicast group Source End Destination Ends

slide-37
SLIDE 37

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

A (real-time) multicast group Source End Destination Ends Cells to multicast every period

slide-38
SLIDE 38

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

A (real-time) multicast group Source End Destination Ends Cells to multicast every period Period (unit: cell-time)

slide-39
SLIDE 39

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

A (real-time) multicast group Source End Destination Ends Cells to multicast every period Period (unit: cell-time) Deadline (relative, unit: cell-time)

slide-40
SLIDE 40

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

slide-41
SLIDE 41

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

The set of all real-time multicast groups

slide-42
SLIDE 42

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

The set of all real-time multicast groups The ith real-time multicast group

slide-43
SLIDE 43

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

slide-44
SLIDE 44

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

An instance of RTMS problem

slide-45
SLIDE 45

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

An instance of RTMS problem The network(fieldbus) topology

slide-46
SLIDE 46

Real-Time Multicast Scheduling (RTMS) problem in multi-hop switched fieldbuses

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

An instance of RTMS problem The network(fieldbus) topology The set of RT multicast groups that user demands

slide-47
SLIDE 47

RTMS Problem: Given a q, how to schedule each switch s.t. every mi meets needs?

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

slide-48
SLIDE 48

RTMS Problem: Given a q, how to schedule each switch s.t. every mi meets its needs?

) , ( E V G  

) , , , , ( H T w D s m 

} {

i

m  M ) ), , ( ( M E V G q   

Theorem 2: RTMS Problem is NP-Hard.

slide-49
SLIDE 49

M-slot Periodic RTMS: a subset of RTMS problems.

} | { instance RTMS an is q q  Q } , ), , , , , ( }, { , ) , ( ' | ' { M T i H T w D s m m G q q '

i i i i i i i i

       and M Q M Q 

slide-50
SLIDE 50

M-slot Periodic RTMS: a subset of RTMS problems.

} | { instance RTMS an is q q  Q } , ), , , , , ( }, { , ) , ( ' | ' { M T i H T w D s m m G q q '

i i i i i i i i

       and M Q M Q 

Proposition 1: M-slot Periodic RTMS is NP-Hard.

slide-51
SLIDE 51

M-slot Periodic RTMS: a subset of RTMS problems.

} | { instance RTMS an is q q  Q } , ), , , , , ( }, { , ) , ( ' | ' { M T i H T w D s m m G q q '

i i i i i i i i

       and M Q M Q 

Proposition 1: M-slot Periodic RTMS is NP-Hard. Search for Heuristic Solutions.

slide-52
SLIDE 52

Transform an M-slot Periodic RTMS instance into a Real-Time Multicast Routing (RTMR) instance.

. , 1 max ~ )}, ~ ), ( , , , {( } ~ { ~ ), ~ , ( ~ )}, ), ( , , , {( } { , ' ) , ( '                         M M H H H M T w D s m G q H M T w D s m G q

i i i i i i i i i i i i i i

and where define where Given M M M Q M  

slide-53
SLIDE 53

Transform an M-slot Periodic RTMS instance into a Real-Time Multicast Routing (RTMR) instance.

. , 1 max ~ )}, ~ ), ( , , , {( } ~ { ~ ), ~ , ( ~ )}, ), ( , , , {( } { , ' ) , ( '                         M M H H H M T w D s m G q H M T w D s m G q

i i i i i i i i i i i i i i

and where define where Given M M M Q M  

M-slot Periodic RTMS instance

slide-54
SLIDE 54

Transform an M-slot Periodic RTMS instance into a Real-Time Multicast Routing (RTMR) instance.

. , 1 max ~ )}, ~ ), ( , , , {( } ~ { ~ ), ~ , ( ~ )}, ), ( , , , {( } { , ' ) , ( '                         M M H H H M T w D s m G q H M T w D s m G q

i i i i i i i i i i i i i i

and where define where Given M M M Q M  

M-slot Periodic RTMS instance RTMR instance

slide-55
SLIDE 55

Transform an M-slot Periodic RTMS instance into a Real-Time Multicast Routing (RTMR) instance.

. , 1 max ~ )}, ~ ), ( , , , {( } ~ { ~ ), ~ , ( ~ )}, ), ( , , , {( } { , ' ) , ( '                         M M H H H M T w D s m G q H M T w D s m G q

i i i i i i i i i i i i i i

and where define where Given M M M Q M  

M-slot Periodic RTMS instance Max Multicast Tree Height RTMR instance

slide-56
SLIDE 56

Transform an M-slot Periodic RTMS instance into a Real-Time Multicast Routing (RTMR) instance.

. , 1 max ~ )}, ~ ), ( , , , {( } ~ { ~ ), ~ , ( ~ )}, ), ( , , , {( } { , ' ) , ( '                         M M H H H M T w D s m G q H M T w D s m G q

i i i i i i i i i i i i i i

and where define where Given M M M Q M  

). , ( ' ) ~ , ( ~ M M G q G q     to solution a is to solution A

slide-57
SLIDE 57

Transform an M-slot Periodic RTMS instance into a Real-Time Multicast Routing (RTMR) instance.

. , 1 max ~ )}, ~ ), ( , , , {( } ~ { ~ ), ~ , ( ~ )}, ), ( , , , {( } { , ' ) , ( '                         M M H H H M T w D s m G q H M T w D s m G q

i i i i i i i i i i i i i i

and where define where Given M M M Q M  

). , ( ' ) ~ , ( ~ M M G q G q     to solution a is to solution A

RTMScheduling problem becomes a Routing problem.

slide-58
SLIDE 58

Heuristic Routing Algorithm Existing mainstream internet multicast routing algorithms become Dijkstra when network is static and global info is available Dijkstra’s short-coming: only cares about # of hops, ignores congestion. s s d

slide-59
SLIDE 59

Heuristic Routing Algorithm Existing mainstream internet multicast routing algorithms become Dijkstra when network is static and global info is available Dijkstra’s short-coming: only cares about # of hops, ignores congestion. s s d

slide-60
SLIDE 60

Heuristic Routing Algorithm Existing mainstream internet multicast routing algorithms become Dijkstra when network is static and global info is available We want a heuristic routing algorithm that considers both (hops and congestion). s s d

slide-61
SLIDE 61

Heuristic Routing Algorithm Existing mainstream internet multicast routing algorithms become Dijkstra when network is static and global info is available We want a heuristic routing algorithm that considers both (hops and congestion). s s d

slide-62
SLIDE 62

Heuristic Routing Algorithm Grow the multiple trees simultaneously with multiple iterations. In each iteration, ≤1 link is added to each tree. When multiple tree contends in a same switch, we carry out a job-hunting-like negotiation to let only ≤1 contending tree grow through an output in this iteration.

slide-63
SLIDE 63

The job-hunting-like contention negotiation is itself an iterative algorithm.

I1 I2 I3 O1 O2 O3

different colors for different trees

slide-64
SLIDE 64

The job-hunting-like contention negotiation is itself an iterative algorithm.

I1 I2 I3 O1 O2 O3

Each tree ranks all

  • utputs and only apply

to its favorite output different colors for different trees

slide-65
SLIDE 65

The job-hunting-like contention negotiation is itself an iterative algorithm.

I1 I2 I3 O1 O2 O3 I1 I2 I3 O1 O2 O3

Each tree ranks all

  • utputs and only apply

to its favorite output Each output offers job to the most loyal applicant different colors for different trees

slide-66
SLIDE 66

The job-hunting-like contention negotiation is itself an iterative algorithm.

I1 I2 I3 O1 O2 O3 I1 I2 I3 O1 O2 O3 I1 I2 I3 O1 O2 O3

Each tree ranks all

  • utputs and only apply

to its favorite output Each output offers job to the most loyal applicant Accept job by reserving corresponding frame slots. different colors for different trees updated demand matrix

slide-67
SLIDE 67

Ranking function design: considers both E2E delay (hops) and congestion.

slide-68
SLIDE 68

Ranking function design: considers both E2E delay (hops) and congestion. rank of o to tree t

slide-69
SLIDE 69

Ranking function design: considers both E2E delay (hops) and congestion. rank of o to tree t routing flexibility: slack to reaching max hop (max e2e delay) bound

slide-70
SLIDE 70

Ranking function design: considers both E2E delay (hops) and congestion. rank of o to tree t routing flexibility: slack to reaching max hop (max e2e delay) bound shortest distance to target end

slide-71
SLIDE 71

Ranking function design: considers both E2E delay (hops) and congestion. rank of o to tree t congestion  routing flexibility: slack to reaching max hop (max e2e delay) bound shortest distance to target end

slide-72
SLIDE 72

Definition of “favorite”, a.k.a., “loyalty”. t ’s loyalty to o(t,1)

slide-73
SLIDE 73

Evaluation Setup. 4x4 port real-time switches 15x15 square grid network topology Per port capacity: 1Gbps, M = 2000 (cell/frame), 1 cell = 500 bit 10000 Trials, in each trial: Random number of multicast groups, wi = 1~20 cell/frame (500K~10Mbps)

slide-74
SLIDE 74

Evaluation Setup. 4x4 port real-time switches 15x15 square grid network topology Per port capacity: 1Gbps, M = 2000 (cell/frame), 1 cell = 500 bit 10000 Trials, in each trial: Random number of multicast groups, wi = 1~20 cell/frame (500K~10Mbps)

slide-75
SLIDE 75

Evaluation Setup. Network Demanded Utilization (Application Layer E2E Utilization)

slide-76
SLIDE 76

Evaluation Results: =3

slide-77
SLIDE 77

Evaluation Results: =9

slide-78
SLIDE 78

Mainstream Internet multicast routing algorithms mainly concern about dynamic distributed group management. Reverse Path Broadcasting/Multicasting (RPB/RPM) [semeria97] Truncated Reverse Path Broadcasting (TRPB) [semeria97] Distance Vector Multicast Routing Protocol (DVMRP) [waitzman88] Multicast Extension to Open Shortest Path First (MOSPF) [moy94a][moy94b] Protocol Independent Multicast (PIM) [fenner06][adams05] Core-Based Tree Multicast Routing (CBT) [ballardie97]

slide-79
SLIDE 79

Mainstream Internet multicast routing algorithms become Dijkstra for static network with global info. Reverse Path Broadcasting/Multicasting (RPB/RPM) [semeria97] Truncated Reverse Path Broadcasting (TRPB) [semeria97] Distance Vector Multicast Routing Protocol (DVMRP) [waitzman88] Multicast Extension to Open Shortest Path First (MOSPF) [moy94a][moy94b] Protocol Independent Multicast (PIM) [fenner06][adams05] Core-Based Tree Multicast Routing (CBT) [ballardie97]

slide-80
SLIDE 80

Others

P2P and Overlay Network Multicast are concerned with statistical performance instead of hard real-time E2E delay bound.

slide-81
SLIDE 81

Thank You!

slide-82
SLIDE 82

References

[adams05] A. Adams, J. Nicholas, and W. Siadak, Protocol Independent Multicast– Dense Mode (PIM-DM): Protocol Specification (Revised), RFC 3973, Jan., 2005. [ballardie97] A. Ballardie, Core Based Tees (CBT) Multicast Routing Architectre, RF 2201, Spe., 1997. [fenner06] B. Fenner, M. handley, H. Holbrook, and I. Kouvelas, Protocol Independent Multicast – Sparse Mode (PIM-SM): Protocol Specification (Revised), RFC 4601, Aug., 2006. [moy94a] J. Moy, Multicast Extensions to OSPF, RFC 1584, Mar., 1994. [moy94b] J. Moy, MOSPF: Analysis and Experience, RFC 1585, Mar., 1994. [semeria97] C. Semeria and T. Maufer, Introduction to IP Multicast Routing, IETF draft-ietf-mboned-intro-multicast-03.txt, Jul., 1997. [waitzman88] D. Waitzman, C. Partridge, and S. Deering, Distance Vector Multicast Routing Protocol, RFC 1075, Nov., 1988. [wang10] Q. Wang and S. Gopalakrishnan, Adapting a Main-Steam Internet Switch Architecture for Multi-Hop Real-Time Industrial Networks, in IEEE Transactions on Industrial Informatics, v6, n3, May, 2010.

slide-83
SLIDE 83

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

slide-84
SLIDE 84

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

slide-85
SLIDE 85

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

slide-86
SLIDE 86

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

slide-87
SLIDE 87

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA

slide-88
SLIDE 88

De facto standard (real-time) fieldbus switch architecture: crossbar per-flow-q TDMA