Multicast Routing

63
Multicast Routing Algorithms

description

Multicast Routing. Algorithms. Outline. Introduction to Multi-point Communication Three approaches to Multi-cast Routing Steiner Tree Heuristics The MZQ algo The SCTF algo The Virtual Trunk algo for dynamic routing The BSMA algo. The KPP algo. Multipoint Communication. - PowerPoint PPT Presentation

Transcript of Multicast Routing

Page 1: Multicast Routing

Multicast Routing

Algorithms

Page 2: Multicast Routing

Multicast Routing Algorithms 2

Outline

Introduction to Multi-point Communication Three approaches to Multi-cast Routing Steiner Tree Heuristics The MZQ algo The SCTF algo The Virtual Trunk algo for dynamic routing The BSMA algo. The KPP algo

Page 3: Multicast Routing

Multicast Routing Algorithms 3

Multipoint Communication

Concept: Single Source, Multiple Destinations, Duplication only at branch points.

Present Day Support:– Communication satellites.– e-mail lists, internet news distribution.

Tomorrow's multimedia applications require:– efficient use of bandwidth.

– near simultaneous delivery.

Page 4: Multicast Routing

Multicast Routing Algorithms 4

Applications: Multicast & Multi-point

One to Many

Video Distribution Wide scale Information

dissemination.

Many to Many

Video Conferencing Computer Supported

Common Work. Distributed interactive

simulation. Large scale distributed

(super)computing. Distributed Games

Page 5: Multicast Routing

Multicast Routing Algorithms 5

Semantics of Multi-point Communication

Reliability– are different reliability models required for different classes of

applications?

Allowing dynamic join and leave– session has to be receiver controlled.

Addressing– how to address groups at each level?– Whether and how to identify groups in layers above the IP layer?

Directionality– one-to-many or many-to-many.– are the transmitters a subset of the receivers?

Page 6: Multicast Routing

Multicast Routing Algorithms 6

Requirements of Multipoint Routing Algorithms.

Support reliable transmission– link failure should not increase delay or reduce resource

availability.

Return optimal routes taking into consideration – price to be paid (bandwidth consumed)– end to end delay. (no. of links traversed)

Minimize network load.– Avoid loops.– Avoid traffic concentration on a few links or sub-nets.

Minimize the state stored in routers.

Page 7: Multicast Routing

Multicast Routing Algorithms 7

Multipoint Routing algos

Performance Metrics

Quality of a tree is judged according to the following three dimensions

Low Delay:– End to end delay between source and receiver relative to the shortest

unicast path delay.

Low Cost :– Cost of total bandwidth consumption– Cost of tree state info

Light Traffic Concentration :– Maximum number of flows on a unidirectional link.– How evenly the routes are distributed.

Page 8: Multicast Routing

Multicast Routing Algorithms 8

Routing Algorithms

All multi-point services use some kind of a distribution tree.

Multicast trees can be

Shared across sources. (shared trees)– Only one tree needs to be established for each group, which is

shared by all the sources within that group.

Source specific. (shortest path trees).– A shortest path tree rooted at each sending node needs to be

established

Page 9: Multicast Routing

Multicast Routing Algorithms 9

SOURCE BASED MULTIPOINT ROUTING

The Technique.

A Source Rooted Shortest Path Tree (SRSPT) algo:– Computes the shortest paths between the source and each of the

receivers within the group.– Eliminates duplicate data copies on common links.– Maintains one SRSPT per sender.

Concept: All receiving nodes compute path towards the source independently.

Used by: current day IP multicast protocols as applications are still– small scale.– local area.

Page 10: Multicast Routing

Multicast Routing Algorithms 10

SOURCE BASED MULTIPOINT ROUTING

Merits vs Demerits

Advantages.

SRSPTs are easy to compute. Use the classic unicast routing tables.

Efficient distributed implementations are possible Entire global topology not

required. There can be no loops in the

path returned.

Disadvantages

Does not minimize total cost of distribution

Does not scale well. One piece of state

information per source and per group is kept in each router.

May fail badly if the underlying unicast routing is asymmetric.

Page 11: Multicast Routing

Multicast Routing Algorithms 11

SHARED TREE APPROACH OF MULTIPOINT ROUTING

Characteristics of Steiner Tree based algorithms.

The Minimum Steiner Tree: The minimal cost subgraph spanning a given subset of nodes in a graph.

The Steiner Tree problem is NP-complete.– finding the minimum steiner tree in a graph has exponential cost.

The tree designed is undirected.– solution feasible only for symmetric links.

Monolithic algorithm.– has to be run each time group membership changes.

Page 12: Multicast Routing

Multicast Routing Algorithms 12

SHARED TREE APPROACH OF MULTIPOINT ROUTING

Characteristics of Steiner Tree based algorithms.

The SMT defines an absolute limit on the minimum tree cost to serve as a reference for gauging the cost-optimality of heuristic alternatives.

The SMT for all members of a multicast group is the same irrespective of the role of sender or receiver. only one state entry needs to be maintained per group. it scales well for larger groups.

The SMT may have unbounded delay. Worst case maximum end-to-end path length of a SMT can be the longest

acyclic path within the graph.

Page 13: Multicast Routing

Multicast Routing Algorithms 13

An example of a minimum Steiner Tree

AB

D G

H

I

C

F

K J

E

4

54

52

2

1

64

15

1

132

3

Mcast group members

Relay Nodes

AG = 6AE = 5AD = 3AC = 3AI = 8

Shortest Paths from Atotal distribution cost = 16

*

AG = 8AE = 5AD = 3AC = 3AI = 8

KMB Tree paths from Atotal distribution cost=13

Page 14: Multicast Routing

Multicast Routing Algorithms 14

SHARED TREE APPROACH OF MULTIPOINT ROUTING

Characteristics of Core Based Tree algorithms.

Concept:– Use the shortest Path Tree rooted at a node in the center of the network

Steps:– Choose an optimal center for the group. Multiple cores can be used for

better fault tolerance & delay characteristics.– Group members send a join message to the center.– Intermediate nodes mark interface from which the multicast info is

received and forward it to the center.

Choose the center to:– minimize max/avg delay for all members on the tree.– Minimize the sum of tree-link costs.

Page 15: Multicast Routing

Multicast Routing Algorithms 15

An example of a core based tree.

{A, B, C} = multi-cast group members

A

B

C

Page 16: Multicast Routing

Multicast Routing Algorithms 16

SHARED TREE APPROACH OF MULTIPOINT ROUTING

Advantages of Core Based Tree algorithms

Work well with multiple senders/receivers – state information is stored per group, therefore scalable.

Receiver based approach.– Supports dynamic group membership with relative ease.

Suitable for sparsely distributed receivers.– SPTs will not have many common links.

Do not have the unbounded delay problems of SMTs. Simple to implement

– used as the basis of PIM and of The CBT interdomain Routing Protocol.

Page 17: Multicast Routing

Multicast Routing Algorithms 17

SHARED TREE APPROACH OF MULTIPOINT ROUTING

Disadvantages of Core Based Tree algorithms

Incur extra delay as compared to the RPF approach.

Suffer from traffic concentration on links converging towards the center.

Choosing the optimal center is an NP complete problem.

Locating the center requires complete knowledge of the network topology.

Page 18: Multicast Routing

Multicast Routing Algorithms 18

MULTIPOINT ROUTING

TradeOffs between algos

Any single tree cannot achieve Minimal Cost and Minimal Delay both.

– Shortest Path Trees Minimize delay at expense of Cost.

– Steiner Minimal Trees Minimize cost at expense of Delay.

– Between these spectrum of different types of trees offering different tradeoffs.

Different strategies to place the routes results in different degrees of traffic concentration.

Page 19: Multicast Routing

Multicast Routing Algorithms 19

MULTIPOINT ROUTING

Ideals

Ideally multicast routing algorithms should

Compute trees with the desired cost and delay characteristics.

Adapt to dynamic group behavior.– Algorithm should be incremental (like CBT) instead of

monolithic (like SMT).

Maintain properties of the original route. Not perturb ongoing data transfers. Be receiver driven.

Page 20: Multicast Routing

Multicast Routing Algorithms 20

STEINER TREE HEURISTICS

Problem Formulation

Given graph G = (V, E, c)

V= Set of vertices

E= Set of edges.

c= Cost function c: E Z0+ ( Edges Non Negative Integers)

Z-Vertices: Set of Terminals (sometimes referred to as M)

S-Vertices: Set of non-terminals

TO: Initial tree = {s}.

Q : Priority Queue of vertices in the tree.

Vt: Vertices in the tree.

At: Edges in the tree.

Page 21: Multicast Routing

Multicast Routing Algorithms 21

STEINER TREE HEURISTICS

Pruned Dijkstra Heuristic (PDH)---Networks v17 `92

Take an arbitrary node as source. Find the single source shortest path tree T for graph G

using Dijkstra’s algo. Delete from T, all S-vertices of degree 1.

Page 22: Multicast Routing

Multicast Routing Algorithms 22

Dijkstra’s Shortest Path Algorithm.

Begin. vV,

– add v to set U, – initialize Distance(v) = cost(s, v)

Distance(s) = 0; Remove s from U. while U is not empty do

– v any member of G with minimum distance.– Remove v from U.– For each neighbor w of v, do

if member(w, U)

distance(w) = min(distance(w), cost(w, v) + distance(v) );

Stop.

Page 23: Multicast Routing

Multicast Routing Algorithms 23

STEINER TREE HEURISTICS

Matsuyama’s Minimum Cost Path Heuristic (MPH)

---Math Japonica v24

Begin T1 : subtree of G containing one arbitrarily chosen Z vertex i .

k = 1;

Zk={i}.

Determine a Z-vertex i Z - Zk closest to Tk

Construct a tree Tk+1 by adding the minimum cost path from Tk to i

k = k+1. If k < p go-to step2. If k = p, output Tp as the solution

Stop.

Page 24: Multicast Routing

Multicast Routing Algorithms 24

Matsuyama’s Minimum Cost Path Heuristic

B

A

D E

F

C G

Tree built so far

Next Terminalto be added to the tree

Idea: For each iteration while M is not empty --Pick up that node from M which closest to the tree built so far.

Data Structure Needed: All pair shortest paths (Floydd Warshall’s algo O(n3)a)

Page 25: Multicast Routing

Multicast Routing Algorithms 25

STEINER TREE HEURISTICS

KMB - A Fast Algo for Steiner Trees. ---Acta Informatica 1981

Output A Stiener Tree Th for G and the Z-vertices.– Step 1: Construct a complete directed distance graph G1=(V1,E1,c1) from G and

Z.

– Step 2: Find the minimum spanning tree T1 of G1. (pick any to break ties)

– Step3: Construct a subgraph GS of G by replacing each edge in T1 by its corresponding shortest path in G. (break ties arbitrarily).

– Step 4: Find the minimum spanning tree TS of GS (break ties arbitrarily).

– Step 5: Construct a Steiner tree TH from TS by deleting edges in TS if necessary, so that all the leaves in TH are Steiner points.

Worst case time complexity O(|S||V|2). Cost no more than 2(1 - 1/l) *optimal cost

where l = number of leaves in the steiner tree.

Page 26: Multicast Routing

Multicast Routing Algorithms 26

Working of KMB

A

C

D4

4

444 4

B

A

C

D4

4

4

B

A

B

C D

EF

G

HI

10

1

1

2

9

8

1 1

1/2

2

1/2

1

B

C D

EF

G

HI

1

1

2

1 1

1/2

2

1/2

1

A

Page 27: Multicast Routing

Multicast Routing Algorithms 27

Working of KMB

B

C D

EF

G

HI

1

1

2

1 1

1/2

2

1/2

A

B

C D

EF

I

1

1

2

1 1

2

A

Destination Nodes

Intermediate Nodes

Page 28: Multicast Routing

Multicast Routing Algorithms 28

Multicast Tree Generation Algorithms

The MZQ Algorithm for multicasting in all optical networks -- Malli, Zhang, Qiao

Limited wavelength conversion : every node is capable of converting an input wavelength to only a subset of output wavelengths.

Sparse wavelength conversion : an input wavelength can be converted to any output wavelength, but only a few nodes posses this capability.

Sparse Splitting : only a fraction of nodes can forward as many copies as needed, and the rest of the nodes have no splitting capability.

MZQ assumes there are always enough wavelengths on each link.

Constructs multi-cast trees based on splitting capability of the nodes.

Nodes without splitting capability can have at-most one child in the tree.

Page 29: Multicast Routing

Multicast Routing Algorithms 29

Multicast Tree Generation Algorithms

The MZQ Algorithm: Routing

-- Malli, Zhang, Qiao

Algorithm maintains three sets of nodes– V: nodes in the tree through which the tree can grow .

(nodes with splitting capability).– V`: nodes in the tree through which the tree cannot grow.

(nodes without splitting capability)– UV: set of Terminals not included in any tree so far.

Pick that node from UV which is nearest to the tree Include as many destinations as possible in one multicasting tree. For nodes not included in the preceding tree(s), algorithm called

recursively to construct another multicasting tree.

Page 30: Multicast Routing

Multicast Routing Algorithms 30

Multicast Tree Generation Algorithms

The MZQ Algorithm: Wavelength Assignment -- Malli, Zhang, Qiao

Performance Metrics:– Number of Wavelengths– Total amount of Bandwidth (Total number of Channels)

Two counters maintained on each link– I highest wavelength index being used.

– N number of wavelengths being used.

Unlimited wavelengths on each link.

First-Fit algorithm used for wavelength assignment.

Page 31: Multicast Routing

Multicast Routing Algorithms 31

The MZQ Algorithm

Multicasting forest in a NSF-NET like network

1

2

3

4

97

5

8

6

Source

Node with full Splitting Capability

Node with no splitting capability

Page 32: Multicast Routing

Multicast Routing Algorithms 32

Multicast Tree Generation Algorithms

The MZQ Algorithm for multicasting in all optical networks -- Malli, Zhang, Qiao

Results: The bandwidth savings from using multicasting saturate at

50%. Multicasting reduces number of wavelengths required by as

much as 60%. Even when the network does not have any nodes that have

the splitting capability, multicasting reduces the bandwidth consumed by 43% to 45%.

No more than 75% of the nodes need to have the splitting capability to obtain the same effect as having the splitting capability in all the nodes.

Page 33: Multicast Routing

Multicast Routing Algorithms 33

Multicast Tree Generation Algorithms

SCTF-Algo (Selective Closest Terminal First) S. Ramanathan, ---IEEE Infocom 1996

Initially Tree T = {source}. Repeat until M is empty

– Extend one branch from T to a terminal in M.– remove that terminal from M.

Stop

Vertices in Tree are maintained as a priority queue with priority(source) > priority(terminals) > priority(non-terminals).

Bin B holds first vertices of the queue. Choose the path of least cost from all vertices in B to all non-

terminals not in the Tree.

Page 34: Multicast Routing

Multicast Routing Algorithms 34

Multicast Tree Generation Algorithms

SCTF-Algo: Formal Description. ---IEEE Infocom 1996

Init Q {s}, Vt {s}, At { }.

While M not empty do– B first min( , |Q| ) vertices in Q. – Initialize PATH to any path from B to M.– For each v in B do

for each m in M do– if cost( shortestPath( v, m) < cost (PATH) PATH P.

– Branch subpath ( w z ) : only w is in Vt.

– Insert vertices in Branch into Q.– Vt Vt {vertices in Branch} , At At {edges in Branch}.

– M M { terminals in Branch}. Return T.

Page 35: Multicast Routing

Multicast Routing Algorithms 35

Multicast Tree Generation Algorithms

SCTF-Algo: Subsuming three other algorithms ---IEEE Infocom 1996

PDH, MPH, and KMB are special cases of the R-algo. = 1. SCTF equivalent to PDH. = |M|+1 & Ignore non-terminals in B.

SCTF equivalent to KMB. = |V|. SCTF equivalent to MPH.

As from 1 to n, Tree_Cost , and Running_Time .– Running_Time linearly.– Tree_cost very rapidly.

Low = good operating point.

Page 36: Multicast Routing

Multicast Routing Algorithms 36

Multicast Tree Generation Algorithms

R-Algo. Performance Characteristics ---IEEE Infocom 1996

Running Time of R-Algo : O(m2 + e)– Assumption: Shortest Paths from every vertex to every

terminal are available. ( takes O( m . n . log(e) ) time )

Performance Guarantee A = max{ A(I)/OPT(I) }

– Tree cost 2 . m. Optimal_Cost m = MAX[u, v] max(cost(u,v), cost(v, u))/ min(cost(u,v), cost(v, u))

m = 1 for symmetric graphs.

A = O ( m).

Page 37: Multicast Routing

Multicast Routing Algorithms 37

Multicast Tree Generation Algorithms

Features of the SCTF-Algo ---IEEE Infocom 1996

Controlling knob enables use of the SCTF-algo for both– Delay Optimization. ( = 1)– Cost optimization. ( = n)

Advantageous for MultiMedia applications– select the right tradeoff & operating point to accommodate the

differing requirements of voice, video and data.

Page 38: Multicast Routing

Multicast Routing Algorithms 38

Multicast Tree Generation Algorithms

VTDM - A Dynamic Multicast Routing AlgorithmH.C.Lin & S.C. Lai ---IEEE Infocom 1998

Problem Formulation.. Source node s.

Sequence of requests R = {r1, r2, …... rm}

Each request ri either adds a destination node to

or removes a destination from the multicast group.

The DMRP: Find a sequence of multicast trees

{Ti, i = 1 .. m} such that certain overall cost is minimum.

This does not allow re-routing of existing connections as the

sequence of requests proceeds.

Page 39: Multicast Routing

Multicast Routing Algorithms 39

Cost Modelling

w(e, i ): Cost of using wavelength i on edge e.

– Infinite if i is not available on edge e.

cv(p , q ): Cost of wavelength conversion at node v, from p to q .

– Infinite if p cannot be converted to q at node v.

– If p = q, then cv(p , q ) is zero.

C(T) = v T w(p(v), v), (v)) +

v T-{s} C p(v) ( (p(v)), (v))

where p(v) means parent of v in the tree.

Page 40: Multicast Routing

Multicast Routing Algorithms 40

The VTDM algo

Concept of a Virtual Trunk ---Infocom 1998

A virtual trunk is a tree of the underlying graph. Spans nodes which have the greatest probability of being a

part of the multi-casting tree. Used as a template for building the multicasting tree. Nodes which have a greater number of shortest paths

passing through them, have a greater probability of being a part of the multi-cast tree.

Weight W(vi) of vertex vi = number of shortest paths passing through vi.

Page 41: Multicast Routing

Multicast Routing Algorithms 41

The VTDM algo

Building the Virtual Trunk ---Infocom 1998

Find the shortest paths for all pairs of nodes in G. Assign weights to the vertices in G. Find the set of trunk nodes F. Construct a complete graph for the set of trunk nodes. Find the minimum spanning tree for the complete graph. Convert edges in min. span. Tree back to the corres shortest

paths in graph G. Run the minimum spanning tree algo and remove

unnecessary nodes and links to obtain the virtual trunk.

Page 42: Multicast Routing

Multicast Routing Algorithms 42

The VTDM algo

The VTDM routing algorithm ---Infocom 1998

Build the virtual trunk. Adding a node to the multicast group

– establish shortest route from the node to the virtual trunk. is established. – Route along virtual trunk to source node also established if not yet

there. – Add node to the multicast group.

Removing a node from the multi-cast group– First remove the node from the multicast group. – If it is a leaf node, remove the node from the tree. – Prune the excess branch, if the node did not have any downstream

nodes.

Page 43: Multicast Routing

Multicast Routing Algorithms 43

The VTDM algo

Node Addition (adding node B) ---Infocom 1998

Step1: – If node B on the virtual trunk, denote it as node A & go to step2. – Else, find the shortest route from node B to the virtual trunk.

– Add portion of the shortest route not yet included in the multicast tree to the

multicast tree. – Let node A be the node on the virtual trunk which attaches node B to the virtual

trunk via the selected shortest route.

Step2: – If node A is already on the multicast tree go to step 3. – Else add portion of route from node A to source node that has not yet been

included in the multicast tree to the multicast tree.

Step3: – Add node B to the multicast group.

Page 44: Multicast Routing

Multicast Routing Algorithms 44

The VTDM algo

Node Removal (removing node B) ---Infocom 1998

Step1:– Remove node B from the multicast group.

Step2:– If node B has downstream nodes the procedure is done. – Else, if node B is a leaf, remove node B and it’s upstream link to the

multicast tree.

Step3:– If the upstream node of node B is in the multicast group, the

procedure is done.– Else denote this node as node B and go to step 2.

Page 45: Multicast Routing

Multicast Routing Algorithms 45

The VTDM algo

Simulation Results ---Infocom 1998

Mean Inefficiency = TreeCost using AlgoA/ TreeCost using AlgoB.

KMB is taken as the reference algorithm.

VTDM compared against dynamic greedy (DG), Shortest Path (SP).

Mean Inefficiency versus Number of nodes

– significant improvement over SP, better than DG.

Mean Inefficiency versus Size of multicast group.– significant improvement over SP, better than DG for large grps.

Max Degree of nodes in the multicast trees. (no. of data copies). – Much lesser degree than SP, less than DG algorithm.

Page 46: Multicast Routing

Multicast Routing Algorithms 46

Multicast Tree Generation Algorithms

BSMA - Bounded Shortest Multicast Algorithm Zhu, Parsa & Aceves---IEEE Infocom 1995

Problem : Minimize the tree cost. Guarantee all delays are less than predetermined bounds.

Feasible region :

the set of all delay bounded Steiner trees.

Steps:

– Construct minimum delay steiner tree T0 using Dijkstra’s shortest path algorithm

– Refine T0 iteratively for lower cost while staying within feasible region.

Page 47: Multicast Routing

Multicast Routing Algorithms 47

Multicast Tree Generation Algorithms

BSMA - Definition of the cost function. ---IEEE Infocom 1995

Utilization Driven CostMinimizes sum of link costs along the path.

Congestion Driven CostMinimizes maximal link cost requirement along paths.

Link cost functionCost of the link associated with the utilization of the link.

Link delay functionQueuing, Transmission, and Propagation delays on the link.

Destination Delay Bound Function (DDF)Upper bound to the delay along path from the source to each of the destinations.

Page 48: Multicast Routing

Multicast Routing Algorithms 48

Multicast Tree Generation Algorithms

BSMA - Refinement of the tree for lower costs. ---IEEE Infocom 1995

Path Switching:

refinement of Tj to Tj+1.

– Choosing a path p to be taken out of Tj.

Tj = Tj1 + Tj

2 p

– Choosing the new path ps in G not in Tj that replaces the path to be deleted from Tj.

Tj+1 = Tj1 + Tj

2 ps. Tj+1 is delay bounded.

Page 49: Multicast Routing

Multicast Routing Algorithms 49

Multicast Tree Generation Algorithms

BSMA - Refinement of the tree for lower costs. ---IEEE Infocom 1995

From Tj get Tj/.

– Tj/ has the source, all destination nodes, and all relay nodes of

degree more than 2.– Tj

/. Edges of Tj/ are called super_edges.

– All nodes between the two end_nodes of a super_edge are relay nodes of degree 1.

– Every super_edge represents a candidate path in Tj for switching.

**

Page 50: Multicast Routing

Multicast Routing Algorithms 50

Multicast Tree Generation Algorithms

BSMA - Algorithm Details ---IEEE Infocom 1995

Initially all super_edges are unmarked.

Step1:Among all unmarked super_edges, BSMA selects the super_edge Ph with the highest path cost.

Exchange it with another super_edge of lesser cost, such that resulting tree is delay bounded..

One of the two cases must happen:

– The delay bounded shortest path is the same as Ph.

Mark that super edge. Go to Step1.

– The delay bounded shortest path is a path other than Ph.

Do The replacement. Unmark all super_edges. Go to Step 1.

Stops when all super edges are marked.

Page 51: Multicast Routing

Multicast Routing Algorithms 51

Multicast Tree Generation Algorithms

BSMA - Algorithm Details ---IEEE Infocom 1995

BSMA incrementally calculates k shortest paths between subtrees T j1 and

Tj2.

K is determined only after a shortest path is found which has resulted in a delay bounded tree. So the shortest path incremental construction stops when one of the following two conditions is satisfied.

– The shortest path found does not result in the new tree violating the delay bound.

– The shortest path found has equal path length to the one just deleted. Dijkstra’s algo is extended to construct shortest path between two subtrees

instead of two nodes– A pseudo source node s is connected to all nodes in Tj1 and a pseudo

destination node d is connected to all nodes in Tj2.– The shortest path algo starts from s and ends at d.

Page 52: Multicast Routing

Multicast Routing Algorithms 52

The BSMA algo …cont

6,2

5,5

1,1

1,14,5

3,3

6,2

5,5

1,1

1,14,5

3,3

Delay Bound = 12, end-end delay = 12

6,2

5,5

1,1

1,14,5

3,3

*

6,2

5,5

1,1

1,14,5

3,3

End-end delay = 9

A B

CD

Page 53: Multicast Routing

Multicast Routing Algorithms 53

The BSMA algo

Greedy Path switching---IEEE Infocom 95

Gain = cost reduction after a round of path switching if c = cost of Tj and c_prime = cost of Tj+1, then

gain = c - c_prime. BSMA computes gains of all pairs of possible path

switchings in Tj and then selects one with the maximum gain.

BSMA continues the greedy switching and terminates when the maximum gain is zero.

The time complexity of this greedy approach is more.

Page 54: Multicast Routing

Multicast Routing Algorithms 54

The BSMA algo Simulation Results

Time complexity of BSMA O(kn3log(n)). Using the tightest possible delay bound, as determined by the min.

delay tree, the cost of the BSMA tree is substantially better than the cost of the min. delay tree.

A Range of min. cost solutions can be obtained between the two

extremes of the KMB and the min. delay solution.

Compared to KMB the relative quality of results improve with the

number of destinations in the multicast group. A tighter bound results in a larger value for k, and hence increases

the computation time required by the algo, a slight relaxation of the bound often results in considerably fewer computations.

Page 55: Multicast Routing

Multicast Routing Algorithms 55

Multicast Tree Generation Algorithms

KPP algorithm for a delay constrained Steiner Tree Kompella, Pasquale, Polyzos ---IEEE Infocom 1995

Problem : Minimize the tree cost. is minimized. Bounded end-to-end delay.

Features: Edge_Cost and Delay are different functions. Delay constraints are on individual path delay.

Assumption: Source has all the info necessary for tree construction.

),(

)(vsPe

eD

Te

eC )(

Page 56: Multicast Routing

Multicast Routing Algorithms 56

Multicast Tree Generation Algorithms

KPP algorithm for a delay constrained Steiner Tree ---IEEE Infocom 1995

Constrained Cheapest Path between v and w

Least cost path between v and w that has delay less than .

Cost of such a path is PC(v, w).

Delay on this path is PD(v, w).

Closure graph G/

A complete graph on the nodes in N, with PC(v, w) as edge costs PD(v, w) as the edge delay.

To compute Closure graph G/

Calculate all-pair-constrained-cheapest-paths using Floyd’s

algorithm. ( is bounded, so possible in poly-time)

Page 57: Multicast Routing

Multicast Routing Algorithms 57

Multicast Tree Generation Algorithms

KPP algorithm details ---IEEE Infocom 1995

Cd(v, w) = minuV { Cd-D(u, w)(v, u) + C(u, w) }

– Cost of cheapest path from v to w with delay exactly d.

PC(v, w) = min d< { Cd(v, w) }

Compute all-pair-constrained-cheapest-paths.

From these, compute G/.

Constructing graph G/ takes O(n3 ) time.

Page 58: Multicast Routing

Multicast Routing Algorithms 58

Multicast Tree Generation Algorithms

KPP algorithm details ---IEEE Infocom 1995

Compute the closure graph G/ of G.

Construct a constrained spanning tree T/of G/, using one of the two selection functions fC or fCD as the selection function.

Expand the edges in the constrained spanning tree T/ into the constrained cheapest paths they represent, and remove any loops that may be caused by this expansion.

Page 59: Multicast Routing

Multicast Routing Algorithms 59

Multicast Tree Generation Algorithms

KPP algorithm - Two Source Based Heuristics ---IEEE Infocom 1995

CSTCD

– Tries to choose low cost edges but modulates the choice to pick edges that maximize the residual delay.

– This increases the chances of extending the path along this edge, and beyond to another destination.

– Has a tendency to optimize on delay.– May find trees with delay far lower than at the expense

of added cost to the tree.

Uses fCD= if P(v) + D(v, w) <

fCD = infinity otherwise)),()((

),(

wvDvP

wvC

Page 60: Multicast Routing

Multicast Routing Algorithms 60

Multicast Tree Generation Algorithms

KPP algorithm - Two Source Based Heuristics ---IEEE Infocom 1995

CSTC

– minimizes fC.

– Constructs cheapest tree possible, while remaining within delay bounds.

– Minimizes cost, without unduly minimizing delay.

fc = C(v, w) if P(v) + D(v, w) <

fc = infinity otherwise.

Page 61: Multicast Routing

Multicast Routing Algorithms 61

Multicast Tree Generation Algorithms

KPP algorithm - Performance Evaluation. ---IEEE Infocom 1995

CSTC and OPT have comparable performance.

CSTCD performs marginally worse than CSTC.

For large group sizes the heuristics converge to the optimal solution.

When delay-tolerance increases, the performance of both source based heuristics converges.

SPT gives trees with consistently high costs (70%-80%) more than CSTC.

Page 62: Multicast Routing

Multicast Routing Algorithms 62

List of References

KMB Algorithm : L Kou, G Markowski, L. Berman

A Fast algorithm for Steiner Trees.

Acta Informatica 15, 1981, pages 141-145 Minimum Cost Path Heuristic: H. Takahashi and A. Matsuyama

An Approximate Solution for Steiner Problem in Graphs

Math Japonica vol 24, pp 573-577. MZQ: Rajkumar Malli, Xijun Zhang, Chunming Qiao

Benefit of Multicasting in All-Optical Networks. SCTF: S. Ramanathan

Multicast Tree Generation in Networks with Asymmetric Links.

IEEE/ACM Transactions on Networking 1996 v4, 558-568

Page 63: Multicast Routing

Multicast Routing Algorithms 63

List of References….continued

BSMA: Qing Zhu, Mehrdad Parsa, J.J. Gracia-Luna-Aceves

A source based algo. for delay constrained minimum cost multicasting.

IEEE Infocom 1995 pp 377-385 VTDM: Hwa-Chun Lin Shou-Chuan Lai

A dynamic Multicast Routing Algorithm

IEEE Infocom 1998, pp 1426-1432 KPP: V. P. Kompella, J. C. Pasquale, G. C. Polyzos

Multicast Routing for Multimedia Communication.

IEEE /ACM Transactions on Networking, vol 1, June 1993.