Download presentation

Presentation is loading. Please wait.

Published byCruz Roff Modified about 1 year ago

1
ROMaN: Revenue driven Overlay Multicast Networking Varun Khare

2
Agenda Problem Statement Dynamic Programming Application to ROMaN

3
Problem Statement Dedicated Server farm placed strategically over the Internet ISP Cost: ISP charge for bandwidth consumption at Server sites ISP

4
Problem Statement Distribute users in a meaningful fashion: »Optimize user delay performance OR »Minimize the ISP cost of servicing the end-users ISP Origin

5
Problem Statement Given »ISP charging function c i and »available bandwidth B i of all K servers deployed Find the user distribution u i at each server SRV i for N users where each user consumes b bandwidth, such that »Σu i = N; u i. b ≤ B i and »Σc i.(u i. b) the ISP cost of deploying group is minimized

6
Dynamic Programming Dynamic Programming is an algorithm design technique for optimization problems: often minimizing or maximizing. DP solves problems by combining solutions to subproblems. Idea: Subproblems are not independent. »Subproblems may share subsubproblems, »However, solution to one subproblem may not affect the solutions to other subproblems of the same problem. DP reduces computation by »Solving subproblems in a bottom-up fashion. »Storing solution to a subproblem the first time it is solved. »Looking up the solution when subproblem is encountered again. Key: determine structure of optimal solutions

7
Steps in Dynamic Programming 1.Characterize structure of an optimal solution. 2.Define value of optimal solution recursively. 3.Compute optimal solution values either top- down with caching or bottom-up in a table. 4.Construct an optimal solution from computed values. We’ll apply the above steps to our problem.

8
Optimal Substructure Let cost(n,k) = Cost of distributing n users amongst k servers 1. If k =1, then cost(n,1) = c 1 (n) 2. If k >1 then distribute i users on k-1 servers cost(n-i, k-1) + n-i users on k th server c k (i) Let cost(n,k) = Cost of distributing n users amongst k servers 1. If k =1, then cost(n,1) = c 1 (n) 2. If k >1 then distribute i users on k-1 servers cost(n-i, k-1) + n-i users on k th server c k (i) Optimal solution to distribute N users amongst K servers contain optimal solution to distribute i users amongst j servers (i ≤ N and j ≤ K)

9
Recursive Solution cost[i, j] = Optimal ISP Cost of distributing i users amongst j servers We want cost[N,K]. This gives a recursive algorithm and solves the problem.

10
Example Start by evaluating cost(n,1) where n = 0,1 … N Since k=1 there is no choice of servers Thereafter evaluate cost(n,2) where n = 0,1 … N K0K0 K1K1 K2K ServersCost Function K0K0 C 0 (x) = x K1K1 C 1 (x) = x/2 K2K2 C 2 (x) = x/4

11
Example K0K0 K1K1 K2K /2 2 22/2 3 33/2 ServersCost Function K0K0 C 0 (x) = x K1K1 C 1 (x) = x/2 K2K2 C 2 (x) = x/4 cost(3,2) = min { cost(3,1) + C 2 (0) = 3 cost(2,1) + C 2 (1) = 2 + ½ cost(1,1) + C 2 (2) = 1 + 2/2 cost(0,1) + C 2 (3) = 0 + 3/2 } = 3/2

12
Example Eventually evaluating cost(N,K) gives optimized cost of deploying multicast group Runtime O(K.N 2 ) and space complexity O(K.N) K0K0 K1K1 K2K /21/4 2 22/22/4 3 33/23/4 ServersCost Function K0K0 C 0 (x) = x K1K1 C 1 (x) = x/2 K2K2 C 2 (x) = x/4

13
Thank You! Questions

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google