Lecture 5 Group Communication. Point to Multipoint Communication Single source, Multiple...

53
Lecture 5 Group Communication
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    0

Transcript of Lecture 5 Group Communication. Point to Multipoint Communication Single source, Multiple...

Lecture 5

Group Communication

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

• 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.

54

45 Blue edge spanning tree is the minimum weight spanning tree

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.

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.

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.

• 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

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).

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.

• 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.

Kruskals Algorithm

• A = 1. For each vertex u in V, Create_Set(u)2. Sort E in increasing order by weight w3. 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;

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)

5

1

0 2

28

5

75

1

0 2

28

5

7

5

1

0 2

28

5

7

5

1

0 2

28

5

7

5

1

0 2

28

5

7

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.

• 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.

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

For each v in Adj[u]…. can be done in E complexity

Rest of the loop can be done in V2 complexity

So, overall O(V2)

Using heaps we can solve in O((V + E)logV)

Example

0

s

7

5

7

2

1

8

5

3

2

53

1

s

0 2

8

5

7

2

85s

0

73

1

52

3

5

8

0

3

2 5

s7

2

1

85

5

3 1

85

s

0

7

2

3

1

52

3

5

1

3 85

s

0

7

2

1

52

3

5

1

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

• 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

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 = {x1, x2,……, x3p}, C={C1, C2,….. Cq}, Ci X , | |Ci|=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

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, C1, C2,….. Cq , x1, x2,……, x3p

Multicast group has source v and destinations x1, x2,……, x3p

Every edge has weight 1

There is an edge from v to each of C1, C2,….. Cq , and from Ci to xj if xj is in Ci

v

C1

C2

C3

C4

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

C1 = {x1 x2 x3}, C2 = {x4 x5 x8}, C3 = {x6x9 x10 }, C4 = {x3x7x10}

Let there be an exact 3-cover

Clearly it uses p Ci s, C1, C2, …..Cp (wlog)

The tree consisting of edges (v, C1), (v, C2), ….. (v, Cp), and the edges from Ci 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

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 x1, x2,……, x3p , the intermediate vertices Ci 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.

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.

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.

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.

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.

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

z7

z1

z6

z5

z4

z3

z2

z8

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)

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 Lk, connecting terminals of index less than k to terminals of index greater than or equal to k

Clearly, Lk 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.

Counter Example

2 2 2

1 + 1 +

1 + 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 .

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

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

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

• 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

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)

• 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.

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

• 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

• 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.

Multicast specific Issues

• Heterogeneity– Different receivers of the same session have

different QoS requirements and different pah bandwidths

• Scalability– Routing – Reliable Multicast– Multicast Security

• Varying path capacities, e.g.• Varying receiver processing capabilities

Ethernet (100Mbps)u

(28.8 kbps)Modem

T3 (45 Mbps) 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

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.

Multirate Multicast Transmission

r1

r2

r3

r4 = max (r1,, r2)

r = max (r3,, r4)

S

L1

L2

L3

L4

r3

r1r2

Fractional layer reception meaningful: Continuous bandwidth reception

Multirate Multicast Transmission

r1

r2

r3

r4 = max (r1,, r2)

r = max (r3,, r4)

S

L1

L2

L3

L4

r3

r1r2

Fractional layer reception not meaningful: Discrete bandwidth reception

• 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) T3 (45 Mbps)

ISDN (128 kbps)

v

u

u

u

1

2

3

4

Virtual sessions: (v, u1), (v,u2), (v,u3), (v,u4)

NETWORK MODEL

• Minimum rate requirements of virtual sessions– QOS requirements

• Maximum rate constraints of virtual sessions

Feasible Set• rj

i is the rate allocated to the jth virtual session of the ith session

• Rate allocation vector: (r11,….rt

1,....,r1N,…ru

N)

• Feasible Set:

Cli: session i traverses link l

max

j: virtual session j of session i traverses link l

rji

(Capacity Constraint)prm

i

j

i

j

i

j (minimum, maximum rate constraint)

= {(r11,….rt

1,....,r1N,…ru

N):

Good operating point in the feasible region

Capacity Constraint For Unicast Case

Cli: session i traverses link l

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