1 / 63

Multicast Routing

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.

merle
Download Presentation

Multicast Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 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. Multicast Routing Algorithms

  4. 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 Applications: Multicast & Multi-point 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? 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. Multicast Routing Algorithms

  7. Multipoint Routing algosPerformance 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. 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 Multicast Routing Algorithms

  9. SOURCE BASED MULTIPOINT ROUTINGThe 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. Multicast Routing Algorithms

  10. 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. SOURCE BASED MULTIPOINT ROUTINGMerits vs Demerits Multicast Routing Algorithms

  11. SHARED TREE APPROACH OF MULTIPOINT ROUTINGCharacteristics 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. Multicast Routing Algorithms

  12. SHARED TREE APPROACH OF MULTIPOINT ROUTINGCharacteristics 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. Multicast Routing Algorithms

  13. An example of a minimum Steiner Tree 5 Mcast group members 4 4 K J B A Relay Nodes F 2 1 2 5 3 5 E 2 1 C H 3 * 1 1 4 6 I D G AG = 6 AE = 5 AD = 3 AC = 3 AI = 8 Shortest Paths from A total distribution cost = 16 AG = 8 AE = 5 AD = 3 AC = 3 AI = 8 KMB Tree paths from A total distribution cost=13 Multicast Routing Algorithms

  14. SHARED TREE APPROACH OF MULTIPOINT ROUTINGCharacteristics 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. Multicast Routing Algorithms

  15. An example of a core based tree. • {A, B, C} = multi-cast group members C A B Multicast Routing Algorithms

  16. SHARED TREE APPROACH OF MULTIPOINT ROUTINGAdvantages 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. Multicast Routing Algorithms

  17. SHARED TREE APPROACH OF MULTIPOINT ROUTINGDisadvantages 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. Multicast Routing Algorithms

  18. MULTIPOINT ROUTINGTradeOffs 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. Multicast Routing Algorithms

  19. MULTIPOINT ROUTINGIdeals 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. Multicast Routing Algorithms

  20. STEINER TREE HEURISTICSProblem 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. Multicast Routing Algorithms

  21. STEINER TREE HEURISTICSPruned 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. Multicast Routing Algorithms

  22. Dijkstra’s Shortest Path Algorithm. • Begin. •  vV, • 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. Multicast Routing Algorithms

  23. STEINER TREE HEURISTICSMatsuyama’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. Multicast Routing Algorithms

  24. A G B C Next Terminal to be added to the tree D E F Tree built so far Matsuyama’s Minimum Cost Path Heuristic 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) Multicast Routing Algorithms

  25. STEINER TREE HEURISTICSKMB - 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. Multicast Routing Algorithms

  26. Working of KMB A D 4 A A 4 1 1 4 4 4 10 4 H H 1/2 I B C 1/2 I 1/2 1/2 1 G G 1 1 A D 1 4 1 1 E F 1 1 B B F E 4 2 2 8 2 2 C D C 9 D 4 B C Multicast Routing Algorithms

  27. Working of KMB A A 1 1 H I 1/2 I 1/2 1 1 G 1 1 E 1 1 E F F B B 2 2 2 2 C D C D Destination Nodes Intermediate Nodes Multicast Routing Algorithms

  28. Multicast Tree Generation AlgorithmsThe 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. Multicast Routing Algorithms

  29. Multicast Tree Generation AlgorithmsThe 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. Multicast Routing Algorithms

  30. Multicast Tree Generation AlgorithmsThe MZQ Algorithm: Wavelength Assignment -- Malli, Zhang, Qiao • PerformanceMetrics: • 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. Multicast Routing Algorithms

  31. The MZQ AlgorithmMulticasting forest in a NSF-NET like network 8 3 6 9 7 4 Source 1 5 2 Node with full Splitting Capability Node with no splitting capability Multicast Routing Algorithms

  32. Multicast Tree Generation AlgorithmsThe 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. Multicast Routing Algorithms

  33. Multicast Tree Generation AlgorithmsSCTF-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. Multicast Routing Algorithms

  34. Multicast Tree Generation AlgorithmsSCTF-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. Multicast Routing Algorithms

  35. Multicast Tree Generation AlgorithmsSCTF-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. Multicast Routing Algorithms

  36. Multicast Tree Generation AlgorithmsR-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). Multicast Routing Algorithms

  37. Multicast Tree Generation AlgorithmsFeatures 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. Multicast Routing Algorithms

  38. Multicast Tree Generation AlgorithmsVTDM - A Dynamic Multicast Routing Algorithm H.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. 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 Tw(p(v), v), (v)) + v  T-{s}C p(v) ( (p(v)), (v)) where p(v) means parent of v in the tree. Multicast Routing Algorithms

  40. The VTDM algoConcept 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. Multicast Routing Algorithms

  41. The VTDM algoBuilding 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. Multicast Routing Algorithms

  42. The VTDM algoThe 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. Multicast Routing Algorithms

  43. The VTDM algoNode 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. Multicast Routing Algorithms

  44. The VTDM algoNode 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. Multicast Routing Algorithms

  45. The VTDM algoSimulation 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. Multicast Routing Algorithms

  46. Multicast Tree Generation AlgorithmsBSMA - 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. Multicast Routing Algorithms

  47. Multicast Tree Generation AlgorithmsBSMA - Definition of the cost function. ---IEEE Infocom 1995 Utilization Driven Cost Minimizes sum of link costs along the path. Congestion Driven Cost Minimizes maximal link cost requirement along paths. Link cost function Cost of the link associated with the utilization of the link. Link delay function Queuing, 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. Multicast Routing Algorithms

  48. Multicast Tree Generation AlgorithmsBSMA - 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 + Tj2 p • Choosing the new path ps in G not in Tj that replaces the path to be deleted from Tj. Tj+1 = Tj1 + Tj2 ps. Tj+1 is delay bounded. Multicast Routing Algorithms

  49. * * Multicast Tree Generation AlgorithmsBSMA - 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. Multicast Routing Algorithms

  50. Multicast Tree Generation AlgorithmsBSMA - 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. Multicast Routing Algorithms

More Related