Presentation is loading. Please wait.

Presentation is loading. Please wait.

Provisioning Content Distribution Networks for Streaming Media Jussara M. Almeida Derek L. Eager Michael Ferris Mary K. Vernon University of Wisconsin-Madison.

Similar presentations


Presentation on theme: "Provisioning Content Distribution Networks for Streaming Media Jussara M. Almeida Derek L. Eager Michael Ferris Mary K. Vernon University of Wisconsin-Madison."— Presentation transcript:

1 Provisioning Content Distribution Networks for Streaming Media Jussara M. Almeida Derek L. Eager Michael Ferris Mary K. Vernon University of Wisconsin-Madison University of Saskatchewan

2 Outline Problem statement and motivation CDN delivery protocols and cost models Key results: –unconstrained proxy servers –Cost-effectiveness of proxy servers –proxy servers with limited space and bandwidth Conclusions and on-going work

3 Problem: Media CDN Design Clients Internet Proxy Server Clients Proxy Server Origin Server Scalable streaming protocol: Bandwidth Skimming [EaVZ00] Each proxy can store a media prefix of size f, 0  f  1 Multicast Multicast or Unicast Goal: insight into value of f that minimizes delivery cost

4 Motivating Example #1 Example: 10 proxy servers, client request rate per proxy = 100 (total client request rate = 1000) cost tradeoff: 10  7  70 proxy streams vs. 12 origin streams bandwidth needed to serve each client immediately:

5 Motivating Example 2 1 proxy, N = 1000, proxy stores prefix of length 10% of file size  request rate to the proxy stored prefix = 100  7 proxy streams to deliver prefix and 5 origin streams for suffix 10% of proxy storage offloads 7/12 of server required bandwidth

6 Scalable Delivery Protocols BWSkim(b): –Proxy and origin use simple Bandwidth Skimming –b: client bandwidth (e.g., b=2 or b=1.2) BWSkim/U(b): –Proxy uses Bandwidth Skimming –Origin uses unicast to the proxy. BWSkim+Batch(b): –If 0  f  1: clients use one unit of bandwidth to batch together for a suffix stream from the origin

7 BWSkim(b): BWSkim(2): Streams Requested by Proxy A Clients B proxy (f,N,P,b) =  ln (1 + f N proxy /  ) B origin (f,N,P,b) =  ln(1+N origin /  ) where: Nproxy = N/P and Proxy B client stream f Prefix merges Suffix merges

8 BWSkim/U(b): BWSkim/U(2): Streams Requested by Proxy A Clients B proxy (f,N,P,b) =  ln (1 + f N proxy /  ) B origin (f,N,P,b) = P  ln(1+ N origin /  ) where: Nproxy = N/P and Proxy B client stream f Prefix merges Suffix merges

9 BWSkim+Batch(b): BWSkim+Batch(3): Streams Requested by Proxy A Clients f Prefix merges Suffix merges Proxy B client stream

10 BWSkim+Batch(b): B proxy =  ln (1 + f N proxy /  ) f  0.25: B origin = origin  (1-f)T where: origin = 1/(fT + 1/N) f  0.25: B origin = origin  (1-f)T + B origin,last_seg (f) where:

11 Delivery Cost Model Each object i: delivery cost i = B origin,i + P   B proxy,i P: number of proxy servers  : average cost of a proxy stream / average cost of one origin stream B origin,i and B proxy,i depend on: f i = fraction of media object i stored at the proxy N = total request rate (avg. # of client arrivals per playback duration) b = client bandwidth

12 Delivery Cost Model Each object i: delivery cost i = B origin,i + P   B proxy,i P: number of proxy servers  : average cost of a proxy stream / average cost of one origin stream B origin,i and B proxy,i depend on: f i = fraction of media object i stored at the proxy N = total request rate (avg. # of client arrivals per playback duration) b = client bandwidth Unconstrained proxy server: find f i that minimizes delivery cost i

13 Delivery Cost Model Each object i: delivery cost i = B origin,i + P   B proxy,i P: number of proxy servers  : average cost of a proxy stream / average cost of one origin stream B origin,i and B proxy,i depend on: f i = fraction of media object i stored at the proxy N = total request rate (avg. # of client arrivals per playback duration) b = client bandwidth Unconstrained proxy server: find f i that minimizes delivery cost i Constrained proxy server: min delivery cost i (n objects) subject to: f i  proxy disk space, B proxy,i  max. proxy bandwidth Mixed Integer Programming, solved using GAMS library {f i }

14 Cost Model Applications Configuring the CDN: –protocol delivery cost comparisons Batching vs. non-batching, Multicast origin vs. unicast origin Client bandwidth, b  2 vs b = 1.2. –proxy content (f) that minimizes delivery cost –Cost-effectiveness of proxy servers Analysis over a wide region of the design space

15 Proxy Servers with Unlimited Bandwidth and Storage Unicast Origin Multicast Origin

16 Protocol Cost Comparison (unconstrained proxies) BWSkim (2) is preferred unless P is large and N/P is very small BWSkim(2) vs BWSkim+Batch(3), each with optimal f: ( large system design space)

17 Optimal f: BWSkim(b) (unconstrained proxies) f=1 or f=0 is optimal Proxy servers are cost-effective (i.e., f=1) only if: Origin uses unicast or P=1 or proxy stream is free or costs a very small fraction of cost of an origin stream.   Multicast Origin, P=1 Unicast Origin, P  1 P=10 Multicast Origin P=100

18 Cache Content: BWSkim+Batch(b) (unconstrained proxies)  Multicast Origin: P=100 BWSkim+Batch[/U](3) outperforms BWSkim[/U](2) and the optimal content is prefix caching only if: –Multicast origin, –Large P (P  10), –Low N/P (N/P  1), –Intermediate values of  (  = 0.1).

19 Protocol Cost Comparison (unconstrained proxies) b=1.2 increases CDN cost by a factor of 1.5 – 3 BWSkim(1.2) compared to best policy with b  2: (P=10) 

20 Cost-Effectiveness of Proxy Servers Proxy servers cost-effective if the origin server uses unicast the file request rate is low cost of proxy stream is small fraction of cost of an origin stream Question: how small? Multicast origin, N  10: Answer:  ~1/P (or less)  = 0.1  = 1/P  = 5/P

21 Proxy Servers with Limited Disk Storage and Bandwidth  ~ 1/P (or less) or Unicast origin

22 Constrained Proxies: Key Parameters M: total client arrival rate, in arrivals per T (all files) P s : proxy storage capacity, as a fraction of all files P b : proxy bandwidth, as a fraction of bandwidth needed if proxy stores all files –P s and P b computed for modern disks, MPEG-2 streams (4 Mb/s) –Each disk: 44 hours of content and 42 concurrent streams –Vary M, number & length of files, file popularity skew, # disks: 0.08  P s  0.68, P b  0.02 –Distribute files across the disks to balance the load

23 Proxy Disk Space & Bandwidth Scenario: –1000 two-hour MPEG-2 (4 Mb/s) movies –1000 requests / hour at each proxy: M/P = 2000 –Zipf distribution of file popularities Average bandwidth needed for all files = 332 streams If proxy has 5 disks: –P s = = 0.11 P b = = 0.63

24 True Optimal (P b =0.32 (bw) Near Optimal (P b =0.32 )(bw) (b =2, P s =34%, M/P =1000, n =128, T =2h) Near Optimal Cache Content (contiguous set of full files) yields delivery cost within 0.05% of true optimal for all CDNs studied. Optimal Caching Policy for BWSkim/U(b) is full-file caching. Optimal vs. Near Optimal BWSkim(b) Proxy Content (unicast origin, constrained proxies)

25 Optimal Content for BWSkim (b) (unicast origin, constrained proxies) P b  1 P=10,  =0.1, (cap), M/P=100 P b  1 P=10,  =0.3, (cap), M/P=100 P b  1, P=100,  =0.1, (cap), M/P=100 P s = 34%, n=128, T=2h P b =0.32 P=10,  =0.1, (both), M/P=1000 Full file caching is the most cost-effective Less popular files are cached as either P b decreases or  or P increases. BWSkim/U(b) is more cost effective than BWSkim+Batch/U(b+1) BWSkim+Batch/U(b+1): prefix caching, cost improves up to 8%

26 (BWSkim/U(2), P b  1, P s =34%, n =128, T =2h) M/P = 1000 (unrealistic P b ) M/P = 100 (realistic P b ) Arbitrarily setting values for proxy bandwidth leads to unrealistic and non-optimal results Unrealistic Proxy Bandwidth Assumption (unicast origin, constrained proxies)

27 BWSkim/U(1.2) increases the delivery cost by up to a factor of three (same for unconstrained proxies) Cost Increase of BWSkim/U(1.2) (unicast origin, constrained proxies) Ratio of delivery cost for BWSkim/U(2) to cost of BWSkim/U(1.2)

28 Cost Increase of BWSkim(2) vs. BWSkim+Batch(3): BWSkim+Batch(3) and prefix caching is preferred only if: large P, moderately small P b a large number of the popular files have N/P  1 and cost of proxy stream is very small or zero In all other scenarios: BWSkim(b) + full file caching is optimal 0.13 11 0.32 11 Pb=Pb= BWSkim(2) vs. BWSkim+Batch(3) (multicast origin, constrained proxies)  = 0, P s =34%

29 Optimal Content for BWSkim+Batch(3) (multicast origin, constrained proxies) P b  1 P=10, (cap) P b =0.32 P=10, (bw) P b  1 P=100, (cap) P s =34%,  = 0 BWSkim+Batch(b) caches primarily prefix files. Less popular data is cached as either P b decreases or  or P increases.

30 Protocol Cost Comparison (constrained proxies) Cost Ratio for Origin Unicast vs. Origin Multicast: (  = 0) Multicast origin significantly reduces delivery cost unless - Total request rate per proxy, M/P, is small or P  1 60 64

31 Conclusions Scalable multicast delivery involves new cost trade-offs Simple delivery cost models can yield significant insight Insights: BWSkim(b) is preferred over BWSkim+Batch(b) unless - P is large and N/P is very small BWSkim+Batch(3) system: prefix caching is optimal BWSkim(b): f=0 or f=1; f=1 only if the origin server uses unicast the file request rate is low (N  1) cost of proxy stream is small, i.e.,  ~1/P (or less) Multicast origin greatly decreases CDN cost if M/P  10


Download ppt "Provisioning Content Distribution Networks for Streaming Media Jussara M. Almeida Derek L. Eager Michael Ferris Mary K. Vernon University of Wisconsin-Madison."

Similar presentations


Ads by Google