Upload
draco
View
38
Download
0
Embed Size (px)
DESCRIPTION
ROMaN: Revenue driven Overlay Multicast Networking. Varun Khare. Agenda. Problem Statement Dynamic Programming Application to ROMaN. Problem Statement. Dedicated Server farm placed strategically over the Internet ISP Cost: ISP charge for bandwidth consumption at Server sites. ISP. - PowerPoint PPT Presentation
Citation preview
ROMaN: Revenue driven Overlay Multicast Networking
ROMaN: Revenue driven Overlay Multicast Networking
Varun Khare
Agenda Problem Statement Dynamic Programming Application to ROMaN
Problem Statement Dedicated Server farm placed strategically over
the Internet ISP Cost: ISP charge for bandwidth consumption
at Server sites
ISP
Problem Statement Distribute users in a meaningful fashion:
» Optimize user delay performance OR» Minimize the ISP cost of servicing the end-users
ISPOrigin
Problem Statement Given
» ISP charging function ci and
» available bandwidth Bi of all K servers deployed
Find the user distribution ui at each server SRVi for N users where each user consumes b bandwidth, such that» Σui = N; ui . b ≤ Bi and
» Σci.(ui . b) the ISP cost of deploying group is minimized
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
Steps in Dynamic Programming1. 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.
Optimal Substructure
Let cost(n,k) = Cost of distributing n users amongst k servers1. If k =1, then cost(n,1) = c1(n)
2. If k >1 then distribute i users on k-1 servers cost(n-i, k-1) + n-i users on kth server ck(i)
Let cost(n,k) = Cost of distributing n users amongst k servers1. If k =1, then cost(n,1) = c1(n)
2. If k >1 then distribute i users on k-1 servers cost(n-i, k-1) + n-i users on kth server ck(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)
Recursive Solution cost[i, j] = Optimal ISP Cost of distributing i users
amongst j servers We want cost[N,K].
€
cos t[n,k] =
c1(n.b) if k =1
min0<i<n
(cos t[n − i,k −1],ck[i.b]) if k > 1.
⎧
⎨ ⎪
⎩ ⎪
€
cos t[n,k] =
c1(n.b) if k =1
min0<i<n
(cos t[n − i,k −1],ck[i.b]) if k > 1.
⎧
⎨ ⎪
⎩ ⎪
This gives a recursive algorithm and solves the problem.
Example
Start by evaluating cost(n,1) where n = 0,1 … NSince k=1 there is no choice of servers
Thereafter evaluate cost(n,2) where n = 0,1 … N
K0 K1 K2
0 0
1 1
2 2
3 3
Servers Cost Function
K0 C0(x) = x
K1 C1(x) = x/2
K2 C2(x) = x/4
Example
K0 K1 K2
0 0 0
1 1 1/2
2 2 2/2
3 3 3/2
Servers Cost Function
K0 C0(x) = x
K1 C1(x) = x/2
K2 C2(x) = x/4
cost(3,2) = min { cost(3,1) + C2(0) = 3 cost(2,1) + C2(1) = 2 + ½ cost(1,1) + C2(2) = 1 + 2/2 cost(0,1) + C2(3) = 0 + 3/2 } = 3/2
Example
Eventually evaluating cost(N,K) gives optimized cost of deploying multicast group
Runtime O(K.N2) and space complexity O(K.N)
K0 K1 K2
0 0 0 0
1 1 1/2 1/4
2 2 2/2 2/4
3 3 3/2 3/4
Servers Cost Function
K0 C0(x) = x
K1 C1(x) = x/2
K2 C2(x) = x/4
Thank You!Thank You!
Questions