Download presentation

Presentation is loading. Please wait.

Published byCruz Roff Modified over 2 years 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 K2K2 0 0 1 1 2 2 3 3 ServersCost Function K0K0 C 0 (x) = x K1K1 C 1 (x) = x/2 K2K2 C 2 (x) = x/4

11
Example K0K0 K1K1 K2K2 0 00 1 11/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 K2K2 0 000 1 11/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

OK

COSC 3101A - Design and Analysis of Algorithms 7 Dynamic Programming Assembly-Line Scheduling Matrix-Chain Multiplication Elements of DP Many of these.

COSC 3101A - Design and Analysis of Algorithms 7 Dynamic Programming Assembly-Line Scheduling Matrix-Chain Multiplication Elements of DP Many of these.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on indian industrial revolution Ppt on love marriage in india Ppt on domestic robots sale Ppt on building information modeling jobs Ppt on wireless network sensor Ppt on agriculture in hindi Ppt on business plan preparation Download ppt on pollution Ppt on nature and human paintings Maths ppt on conic sections for class 11