maximum reliability k-hop multicast strategy in tree networks mugurel ionut andreica, nicolae tapus...

17
Maximum Reliability Maximum Reliability K-Hop Multicast K-Hop Multicast Strategy in Tree Strategy in Tree Networks Networks Mugurel Ionut Andreica Mugurel Ionut Andreica , , Nicolae Tapus Nicolae Tapus Polytechnic University of Polytechnic University of Bucharest Bucharest Computer Science Department Computer Science Department

Upload: louisa-sherman

Post on 01-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Maximum Reliability K-Hop Maximum Reliability K-Hop Multicast Strategy in Tree Multicast Strategy in Tree

NetworksNetworks

Mugurel Ionut AndreicaMugurel Ionut Andreica, Nicolae Tapus, Nicolae TapusPolytechnic University of BucharestPolytechnic University of Bucharest

Computer Science DepartmentComputer Science Department

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 22

SummarySummary

Maximum Reliability K-Hop Multicast Maximum Reliability K-Hop Multicast in Directed Tree Networksin Directed Tree Networks

2 Dynamic Programming Solutions2 Dynamic Programming Solutions O(kO(k··nn22) and O(k) and O(k··nn33))

Extensions to General Directed Extensions to General Directed GraphsGraphs

A Max-Min Reliability MetricA Max-Min Reliability Metric 2 situations2 situations

ConclusionsConclusions

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 33

Maximum Reliability K-Hop Maximum Reliability K-Hop Multicast in Directed Trees (1/2)Multicast in Directed Trees (1/2)

directed tree – n vertices, n-1 edgesdirected tree – n vertices, n-1 edges edge u->v: redge u->v: ru,vu,v => cost(u,v)=-log(r => cost(u,v)=-log(ru,vu,v)) root of the tree -> distributes content to all root of the tree -> distributes content to all

the leavesthe leaves minimum total costminimum total cost any number of simultaneous connections any number of simultaneous connections

to nodes in the subtreeto nodes in the subtree at most k time unitsat most k time units intermediate nodesintermediate nodes

SS00={root}={root} during time unit i: Sduring time unit i: Si-1 i-1 -> S-> Sii SSkk={ x | x is a leaf }={ x | x is a leaf }

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 44

n=14, k=2, 11 messages sentn=14, k=2, 11 messages sent cost=10+12+3+11+17+1+3+5+3+12+1=75cost=10+12+3+11+17+1+3+5+3+12+1=75

Maximum Reliability K-Hop Maximum Reliability K-Hop Multicast in Directed Trees (2/2)Multicast in Directed Trees (2/2)

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 55

Existing SolutionsExisting Solutions

Galdi, Kaklamanis, Montangero, Galdi, Kaklamanis, Montangero, Persiano (2001): O(kPersiano (2001): O(k··nn··M(n))M(n))

M(n)=the time complexity of a min-M(n)=the time complexity of a min-cut algorithm (in graphs with n cut algorithm (in graphs with n vertices and O(n) edges)vertices and O(n) edges)

recently (Borradaile, Klein, 2006): recently (Borradaile, Klein, 2006): M(n)=O(nM(n)=O(n··log(n))log(n))

O(kO(k··nn22··log(n))log(n))

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 66

O(kO(k··nn33) Dynamic Programming ) Dynamic Programming Algorithm (1/3)Algorithm (1/3)

turn tree into binary tree (standard)turn tree into binary tree (standard) C(i,j,p)C(i,j,p) = the minimum cost of distributing = the minimum cost of distributing

the content to all the leavesthe content to all the leaves in in node i’s node i’s subtree (starting from i)subtree (starting from i) at most j (0≤j≤k) time unitsat most j (0≤j≤k) time units if 1<p≤nif 1<p≤n: : i is on the paths between an i is on the paths between an

intermediate node x above i and p intermediate node x above i and p (in(in11, ..., in, ..., inpp))• x sends messages to inx sends messages to in11, ..., in, ..., inpp

if p=1if p=1• i is an intermediate nodei is an intermediate node• i is not an intermediate node (set p=1 in the case i is not an intermediate node (set p=1 in the case

above)above)

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 77

O(kO(k··nn33) Dynamic Programming ) Dynamic Programming Algorithm (2/3)Algorithm (2/3)

C(i,C(i,-1-1,p)=+∞,p)=+∞ i is a leafi is a leaf

C(i,j,1)=0C(i,j,1)=0 C(i,j,p)=+∞C(i,j,p)=+∞

i has one son si has one son s

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 88

O(kO(k··nn33) Dynamic Programming ) Dynamic Programming Algorithm (3/3)Algorithm (3/3)

i has two sons: s1, s2i has two sons: s1, s2

root: special case for p=1 and only root: special case for p=1 and only one son (must be an intermediate one son (must be an intermediate node)node)

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 99

O(kO(k··nn22) Dynamic Programming ) Dynamic Programming Algorithm (1/2)Algorithm (1/2)

DFS traversal => assign a label to DFS traversal => assign a label to each leaf (starting from 1)each leaf (starting from 1)

[lmin(i),lmax(i)]=the interval of labels [lmin(i),lmax(i)]=the interval of labels of the leaves in node i’s subtree (STof the leaves in node i’s subtree (STii))

C(i,j,p)C(i,j,p)=the minimum cost =the minimum cost of of distributing the content to the first p distributing the content to the first p leaves in leaves in STSTii

at most j time unitsat most j time units i is an intermediate nodei is an intermediate node

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 1010

O(kO(k··nn22) Dynamic Programming ) Dynamic Programming Algorithm (2/2)Algorithm (2/2)

L(i,p)=L(i,p)=a list a list withwith all the nodes x in ST all the nodes x in ST ii with with

lmax(x)=lmin(i)+p-1lmax(x)=lmin(i)+p-1 for a pair(i,j): O(n) for all the values of pfor a pair(i,j): O(n) for all the values of p can get to O(1) amortized time for each can get to O(1) amortized time for each

tuple (i,j,p)tuple (i,j,p) O(kO(k··nn22) overall) overall

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 1111

Extensions to General Directed Extensions to General Directed Graphs (1/2)Graphs (1/2)

directed graph: n vertices, ndirected graph: n vertices, n··(n-1) directed (n-1) directed edgesedges

src=source of the contentsrc=source of the content D=set of destinationsD=set of destinations C(i,j,S)C(i,j,S)=the minimum cost of distributing =the minimum cost of distributing

the content to all the nodes in S, starting the content to all the nodes in S, starting from node from node ii at most j time unitsat most j time units S is a subset of nodes from D.S is a subset of nodes from D.

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 1212

Extensions to General Directed Extensions to General Directed Graphs (2/2)Graphs (2/2)

O(kO(k··nn22··33|D||D|) ) can also extend the O(kcan also extend the O(k··nn33) algorithm => ) algorithm =>

O(kO(k··nn33··33|D||D|) )

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 1313

A Max-Min Reliability Metric (1/3)A Max-Min Reliability Metric (1/3)

directed graph – n verticesdirected graph – n vertices edge u->v:edge u->v:

reliability: rreliability: ru,vu,v

duration: duduration: duu,vu,v

transmission processing time (lag): tptransmission processing time (lag): tpu,vu,v

src=source of the contentsrc=source of the content D=set of destinations – {dD=set of destinations – {d11,d,d22,...,d,...,dCC}} maximize the minimum reliability of maximize the minimum reliability of

the traversed edgesthe traversed edges

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 1414

A Max-Min Reliability Metric (2/3)A Max-Min Reliability Metric (2/3)

binary search R (the minimum reliability) => binary search R (the minimum reliability) => feasibility testfeasibility test minimum time multicast strategyminimum time multicast strategy

the general case:the general case: Tmin(i,S)=the minimum duration of distributing Tmin(i,S)=the minimum duration of distributing

the content to all the the content to all the destinationsdestinations in in SS, starting , starting from the node from the node ii

S is the set of nodes in node i’s subtreeS is the set of nodes in node i’s subtree O(nO(n22·3·3nn)) – similar to the directed graph optimal – similar to the directed graph optimal

k-hop multicast strategyk-hop multicast strategy

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 1515

A Max-Min Reliability Metric (3/3)A Max-Min Reliability Metric (3/3)

A particular case: dA particular case: du,vu,v=tp=tpu,vu,v=1=1 OOs,us,u, O, Or,ur,u, O, Os+r,us+r,u operations per time unit for node u (send, operations per time unit for node u (send,

receive, send+receive) => Oreceive, send+receive) => Os,us,u=O=Or,ur,u=O=Os+r,us+r,u=1 in this case=1 in this case C=|D| - bounded by a constantC=|D| - bounded by a constant Tmin[(vTmin[(v11,v,v22,…,v,…,vCC)])]==the minimum time after which the the minimum time after which the

message destined to each node dmessage destined to each node d ii reache reachess the node v the node vii.. transitions from a state Stransitions from a state S11 to another state S to another state S22 (1 time unit)(1 time unit)

• every node uevery node uii in S in S11 sends the message to the receiving node sends the message to the receiving node vvii in S in S22 (if v (if vii≠u≠uii) or does not send anything (v) or does not send anything (vii=u=uii))

• for every node u: count the number of send and receive for every node u: count the number of send and receive operations => invalidate transition if the numbers are too operations => invalidate transition if the numbers are too large large

a queue of states Qa queue of states Q O(CO(C··nn22··CC) algorithm) algorithm

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 1616

ConclusionsConclusions

O(kO(k··nn22) and O(k) and O(k··nn33) DP solutions for the ) DP solutions for the maximum reliability k-hop multicast strategy in maximum reliability k-hop multicast strategy in directed treesdirected trees

O(kO(k··nn22··33|D||D|) extension to general directed graphs) extension to general directed graphs max-min reliability metric => minimum time max-min reliability metric => minimum time

multicastmulticast general and particular casegeneral and particular case

applications to:applications to: design of multicast strategies in distributed systems design of multicast strategies in distributed systems

(e.g. peer-to-peer systems)(e.g. peer-to-peer systems) performance evaluation of other multicast strategies (by performance evaluation of other multicast strategies (by

comparison)comparison)

Maximum Reliability K-Hop Multicast Strategy in Tree NetworksMaximum Reliability K-Hop Multicast Strategy in Tree Networks 1717

Thank You !Thank You !