roman: revenue driven overlay multicast networking

13
ROMaN: Revenue driven Overlay Multicast Networking Varun Khare

Upload: draco

Post on 07-Jan-2016

38 views

Category:

Documents


0 download

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

TRANSCRIPT

Page 1: ROMaN: Revenue driven Overlay Multicast Networking

ROMaN: Revenue driven Overlay Multicast Networking

ROMaN: Revenue driven Overlay Multicast Networking

Varun Khare

Page 2: ROMaN: Revenue driven Overlay Multicast Networking

Agenda Problem Statement Dynamic Programming Application to ROMaN

Page 3: ROMaN: Revenue driven Overlay Multicast Networking

Problem Statement Dedicated Server farm placed strategically over

the Internet ISP Cost: ISP charge for bandwidth consumption

at Server sites

ISP

Page 4: ROMaN: Revenue driven Overlay Multicast Networking

Problem Statement Distribute users in a meaningful fashion:

» Optimize user delay performance OR» Minimize the ISP cost of servicing the end-users

ISPOrigin

Page 5: ROMaN: Revenue driven Overlay Multicast Networking

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

Page 6: ROMaN: Revenue driven Overlay Multicast Networking

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

Page 7: ROMaN: Revenue driven Overlay Multicast Networking

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.

Page 8: ROMaN: Revenue driven Overlay Multicast Networking

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)

Page 9: ROMaN: Revenue driven Overlay Multicast Networking

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.

Page 10: ROMaN: Revenue driven Overlay Multicast Networking

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

Page 11: ROMaN: Revenue driven Overlay Multicast Networking

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

Page 12: ROMaN: Revenue driven Overlay Multicast Networking

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

Page 13: ROMaN: Revenue driven Overlay Multicast Networking

Thank You!Thank You!

Questions