Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 5 Group Communication. Point to Multipoint Communication Single source, Multiple Destinations Broadcast – All nodes in the network are destinations.

Similar presentations


Presentation on theme: "Lecture 5 Group Communication. Point to Multipoint Communication Single source, Multiple Destinations Broadcast – All nodes in the network are destinations."— Presentation transcript:

1 Lecture 5 Group Communication

2 Point to Multipoint Communication Single source, Multiple Destinations Broadcast – All nodes in the network are destinations Multicast –Some nodes in the network are destinations Only one copy of the information travels along common edges Message replication along forking points only. 1 2

3 Normally, route of a session is a tree –A tree is a portion of the graph without a cycle (acylcic subgraph) A spanning tree is a tree which has all vertices of the graph There may be multiple spanning trees We need to choose the minimum weight tree for broadcast.

4 5 4 4 5 Blue edge spanning tree is the minimum weight spanning tree

5 Properties of a Tree A tree has V-1 edges There exists a unique path between any two vertices of a tree. Adding any edge to a tree creates a unique cycle. Breaking any edge on this cycle restores a tree.

6 Minimum Spanning Tree Construction We maintain a set of edges A, which is initially empty. Edges are added to A one at a time such that finally A becomes a minimum spanning tree. Edges are never removed from A. So ``safe’’ edges must be added to A, i.e., at any stage A must be a part of a spanning tree.

7 Safe Edge Addition Consider a cut in a graph (a cut consists of 2 sets which partition the vertex set). A cut respects set A if no edge in A crosses the cut. A minimum weight edge crossing a cut is denoted a light weight edge in the cut.

8 Let A be a subset of a MST (minimum weight spanning tree). Let (S, V – S) be any cut that respects A Let edge (u, v) be a light edge crossing the cut Then A  (u, v) is subset of a MST

9 Assume that all the edge weights are distinct. Let no MST containing A contain edge (u, v). Add the edge (u, v) to T Consider a MST T containing A Since (u, v) is not in T, T  (u, v) contains a cycle, and (u, v) is in the cycle. Edge (u, v) are in the opposite sides of the cut. Since any cycle must cross the cut even number of times, there exists at least one other edge (x, y) crossing the cut. Clearly, w(x, y) > w(u, v).

10 The edge (x, y) is not in A because (x, y) crosses the cut, and the cut respects A. Removing (x, y) from the cycle, breaks the cycle and hence creates a spanning tree, T’, s.t. T’ = T  (u, v) – (x, y) w(T’) = w(T) + w(u, v) – w(x, y)  w(T) (as w(u, v) < w(x, y)) This contradicts the fact that T is a MST.

11 So we always find a cut that respects A, And add a light edge across the cut to A. Kruskals and Prims algorithms find the cut differently.

12 Kruskals Algorithm A =  1.For each vertex u in V, Create_Set(u) 2.Sort E in increasing order by weight w 3.For each edge (u,v) in the sorted list –If Set(u)  = Set(v) Add (u,v) to E Union Set(u) and Set(v) Return A;

13 Complexity Analysis The operations create set, testing whether set(u) == set(v), union operations can be done in log V operations, using Union find data structure. Step 1 can be done in Vlog V Step 2 can be done in Elog E Step 3 can be done in Elog V Overall complexity is O(Vlog V + Elog E + Elog V) or O((V + E)log V)

14 5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7 5 1 0 2 2 8 5 7

15 Prims Algorithm Maintains a set of vertices S already in the spanning tree. Initially, S consists of one vertex r, selected arbitrarily. For every vertex u in V – S, maintain the weight of the lightest edge between u and any vertex in S. If there is no edge between u and S, then this weight associated with u is infinity.

16 Add the vertex with the least weight to S. This is in effect adding the light weight edge crossing the cut S and V-S. Whenever a vertex is added to S, the weights of all its neighbors are reduced, if necessary.

17 Pseudo-Code For each u in V, key[u] =  S =  Pred[r] = NULL Key[r] = 0 While V  = S u = Extract_Min(V-S) For each (v in Adj(u)) if (v not in S) key(v) = min(w(u, v), key(v)) and pred(v) = u Add u in S

18 For each v in Adj[u]…. can be done in E complexity Rest of the loop can be done in V 2 complexity So, overall O(V 2 ) Using heaps we can solve in O((V + E)logV)

19 Example 0 s 7 5 7 2 1 8 5 3 2 5 3 1 s 0 2 8 5 7 2 8 5 s 0 7 3 1 52 3 5 8 0 3 25 s 7 2 1 8 5 5 3 1 8 5 s 0 7 2 3 1 5 2 3 5 1 3 8 5 s 0 7 2 1 5 2 3 5 1

20 Multicast Destination for a session is a subset of the node set Need to find a minimum weight tree spanning the source and the destinations Such a minimum weight tree is a steiner tree This is a NP-complete problem

21 We first consider the following decision problem. Given a multicast group, find whether there is a tree spanning the group of weight less than a certain amount B Clearly the problem is NP We need to show that the problem is NP- hard

22 Reduction We will show that a known NP-hard problem can be solved in polynomial complexity if the steiner decision problem can be solved in polynomial complexity Exact cover by 3-sets is NP-hard X = {x 1, x 2,……, x 3p }, C={C 1, C 2,….. C q }, C i  X, | |C i |=3, i=1,…..q Is it possible to select some mutually disjoint subsets from C such that their union is X? This decision problem is NP-hard

23 We will show that if we have a subroutine to find out in polynomial complexity whether a graph G has a tree of weight less than 4p, then we can use the subroutine to answer whether there is an exact 3-cover for the above problem in polynomial complexity. Construct a graph with vertices v, C 1, C 2,….. C q, x 1, x 2,……, x 3p Multicast group has source v and destinations x 1, x 2,……, x 3p Every edge has weight 1 There is an edge from v to each of C 1, C 2,….. C q, and from C i to x j if x j is in C i

24 v C1C1 C2C2 C3C3 C4C4 x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 x8x8 x9x9 x 10 C 1 = {x 1 x 2 x 3 }, C 2 = {x 4 x 5 x 8 }, C 3 = {x 6 x 9 x 10 }, C 4 = {x 3 x 7 x 10 }

25 Let there be an exact 3-cover Clearly it uses p C i s, C 1, C 2, …..C p (wlog) The tree consisting of edges (v, C 1 ), (v, C 2 ), ….. (v, C p ), and the edges from C i to its constituents is a tree spanning the multicast group. This tree has weight 4p So, if there is an exact 3-cover, then there is a steiner tree of weight 4p

26 Let there be not be an exact 3-cover. Consider the minimum weight multicast tree connecting the source and the destinations. Since the tree must span x 1, x 2,……, x 3p, the intermediate vertices C i s in the tree must represent overlapping sets, else these sets will constitute an exact 3-cover. Also, none of these intermediate vertices have degree more than 3. It follows that there are at least p + 1 of them. Thus the weight of the tree is at least 3p + p + 1 or 4p + 1 So there is no tree of weight 4p or less.

27 Thus the set has an exact 3-cover iff there is a tree of weight 4p or less. So, if we have a subroutine to find out in polynomial time whether any graph has steiner tree of weight B or less for any B, then we can use it to decide whether a set has an exact 3-cover or not in polynomial time. Hence, the steiner tree problem is NP-hard.

28 Approximation Algorithms Suppose, we are trying to minimize a quantity. An approximation algorithm is one which guarantees a solution which is at most k times the minimum value, where k is a constant. This constant is the approximation ratio. Approximation algorithms are used for providing approximate solutions to NP-hard problems in polynomial complexity.

29 An approximation algorithm for Steiner Tree Start with any vertex in the multicast group. Choose another vertex in the multicast group, which is closest to the first vertex and add the shortest path between the two to the tree (which is now empty). Choose that vertex of the multicast group which is closest to the tree (distance between a vertex and a tree is the minimum distance between the vertex and a node in the tree). Augment the tree by the shortest path between the vertex and the tree.

30 Repeat this procedure till all vertices of the multicast group are in the tree. The resulting tree has weight at most (2 – 2/n) times the minimum weight tree, where n is the number of vertices in the tree.

31 Intuitive Argument Consider a walk around the steiner tree travelling every edge twice. Remove the longest terminal to terminal path Weight of the walk is 2 times that of the steiner tree

32 z7z7 z1z1 z6z6 z5z5 z4z4 z3z3 z2z2 z8z8 Weight of the remaining portion of the walk is at most (2 – 2/n) the weight of the steiner tree. Weight of the longest terminal to terminal path is at least 2/n the weight of the steiner tree, n is the number of members in the multicast group (source + destination)

33 Weight of the approximate tree is at most the weight of the remaining part of the tree It is possible to partition this portion into disjoint paths L k, connecting terminals of index less than k to terminals of index greater than or equal to k Clearly, L k is not less than the shortest path to index k. Given any , there exists a graph for which the algorithm will give a tree greater than 2 -  times the weight of the steiner tree.

34 Counter Example 222 1 +  The algorithm chooses the red tree and hence has n – 1 edges of weight 2. Total weight is 2n - 2 Green vertices are in the multicast group The optimal tree consists of only the 1 +  edges, and hence has weight n(1 +  ) As  goes to 0, the ratio goes to 2-2/n, greater than 2 -  for sufficiently small .

35 There are approximation algorithms which give an approximation ratio of 11/6 or 16/9 However, the approximation ratio is a worst case ratio. Generally, the minimum path heuristic performs much better than the approximation ratio of 2. ``The Steiner Tree Problem’’, F. Hwang, D. Richards and P. Winter

36 Internet Multicast Routing Multicast groups –All multicast receivers constitute the multicast group Every group has a unique IP address Source sends packets to the group address Multicast capable routers forward on appropriate links Receivers join and leave groups dynamically Source may not know the constitution of the group

37 Multicast Routing Protocols Source based Protocols –Multicast trees consist of shortest paths between source and the receivers Distance vector multicast routing protocols(DVMRP) –Shortest paths are constructed based on unicast distance vector algorithms –S. Deering, C. Patridge, and D. Waitzman, ``Distance Vector Multicast Routing Protocol’’, RFC 1075, Nov. 1988

38 Multicast open shortest path protocols (MOSPF) –Shortest paths are constructed based on link state protocols –J. Moy, ``OSFP version 2’’, Internet RFC 1247, p. 189, July 1991

39 Group Shared Trees Source based trees suffer from scalability problem. A multicast group may consist of several members. Each member may potentially be a source and a receiver (video teleconferencing) Intermediate routers need to maintain separate trees for every source (O(n) memory, where n is the number of members in the group)

40 Instead, there can be a single tree per group (group shared tree) There is a core node in the tree Every source sends its packet towards the core node. The core node sends the packets towards all the receivers. The core node uses shortest paths to all the receivers. Memory scales with number of groups and not ``that much’’ with the number of group members.

41 Group Shared Protocols Core Based Trees –T. Ballardie, ``Core Based tree (CBT) multicast: Architectural Overview and specification,’’ Internet Draft RFC, July 1994 Protocol Independent Multicast (PIM) –S. Deering, D. Estrin, D. Farinacci, V. Jacobson, C. Liu and L. Wei, ``Protocol Independent Multicast (PIM): Protocol Specification,’’ Internet Draft, RFC, Jan 11, 1995

42 Group shared trees are scalable, but they suffer from congestion because the entire traffic is concentrated in the core node, and the protocol stops functioning if the core fails. PIM switches between group shared and source based trees on an ``on demand’’ basis

43 PIM starts with group shared trees. Particular receivers may request source specific trees In the event of request, PIM switches to source based trees for the requesting receivers. Both PIM and CBT are ``protocol independent’’ as they can acquire distance information from any underlying unicast protocol, e.g., OSPF, Distance vector protocols etc.

44 Multicast specific Issues Heterogeneity –Different receivers of the same session have different QoS requirements and different pah bandwidths Scalability –Routing –Reliable Multicast –Multicast Security

45 Varying path capacities, e.g. Varying receiver processing capabilities Ethernet (100Mbps) u (28.8 kbps) Modem T3 (45 Mbps) ISDN (128 kbps) v u u u 1 2 3 4 A single rate of transmission for all members of the session is not sufficient

46 Multirate Transmission Normally used for loss tolerant real traffic like audio, video transmission. Different receivers of the same session can receive different rates Transmission rate of a session in a link is the maximum of the rates of the receivers downstream Layered transmission of loss tolerant traffic in the internet –Source encodes signal into multiple layers. –Lowest layer gives basic information. –Reception of subsequent layers gives better reception quality.

47

48 Multirate Multicast Transmission r1r1 r2r2 r3r3 r 4 = max (r 1,, r 2 ) r = max (r 3,, r 4 ) S L1L1 L2L2 L3L3 L4L4 r3r3 r1r1 r2r2 Fractional layer reception meaningful: Continuous bandwidth reception

49 Multirate Multicast Transmission r1r1 r2r2 r3r3 r 4 = max (r 1,, r 2 ) r = max (r 3,, r 4 ) S L1L1 L2L2 L3L3 L4L4 r3r3 r1r1 r2r2 Fractional layer reception not meaningful: Discrete bandwidth reception

50 N sessions One predetermined route for each session M virtual sessions –Every receiver of every session is a distinct virtual session Ethernet (100Mbps) u (28.8 kbps) Modem T3 (45 Mbps) ISDN (128 kbps) v u u u 1 2 3 4 Virtual sessions: (v, u 1 ), (v,u 2 ), (v,u 3 ), (v,u 4 ) NETWORK MODEL

51 Minimum rate requirements of virtual sessions –QOS requirements Maximum rate constraints of virtual sessions

52 Feasible Set r j i is the rate allocated to the jth virtual session of the ith session Rate allocation vector: (r 1 1,….r t 1,....,r 1 N,…r u N ) Feasible Set: C l i: session i traverses link l max j: virtual session j of session i traverses link l rji rji (Capacity Constraint) (minimum, maximum rate constraint) = {(r 1 1,….r t 1,....,r 1 N,…r u N ): Good operating point in the feasible region

53 Capacity Constraint For Unicast Case C l i: session i traverses link l ri ri (Capacity Constraint) Homework! Formulate the feasible set for a single rate multicast problem, under the assumption that there is a single predetermined tree for every session Show that given any multicast network with M virtual sessions, there exists a unicast network with M sessions such that every feasible vector in the multicast network, is a feasible vector in the unicast network


Download ppt "Lecture 5 Group Communication. Point to Multipoint Communication Single source, Multiple Destinations Broadcast – All nodes in the network are destinations."

Similar presentations


Ads by Google