View
215
Download
2
Embed Size (px)
Citation preview
Provisioning Content Distribution Networks
for Streaming Media
Jussara M. Almeida
Derek L. Eager Michael Ferris Mary K.
Vernon
University of Wisconsin-MadisonUniversity of Saskatchewan
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
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
MulticastMulticast
Multicast or Unicast
Goal: insight into value of f that minimizes delivery cost
Motivating Example #1
048
121620
1 10 100 1000 10000Client Request Rate (N )
Requ
ired
Serv
er
Band
wid
th (
B)
BandwidthSkimming(b=2)
Example: 10 proxy servers, client request rate per proxy = 100
(total client request rate = 1000)
cost tradeoff: 10770 proxy streams vs. 12 origin streams
bandwidth needed to serve each client immediately:
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
BWSkim(b):
BWSkim(2): Streams Requested by Proxy A Clients
Bproxy(f,N,P,b) = ln (1 + f Nproxy/)
Borigin(f,N,P,b) = ln(1+Norigin/)
where: Nproxy = N/P and
PfN
NfNorigin /
)1(
00.10.20.30.40.50.60.70.80.9
1
Time
Pos
itio
n in
Med
ia F
ile Proxy B client stream
f
Prefix merges
Suffix merges
BWSkim/U(b):
BWSkim/U(2): Streams Requested by Proxy A Clients
Bproxy(f,N,P,b) = ln (1 + f Nproxy/)
Borigin(f,N,P,b) = P ln(1+ Norigin/)
where: Nproxy = N/P and
proxy
proxyorigin fN
NfN
)1(
Proxy B client stream
f
Prefix merges
Suffix merges
0
0.2
0.4
0.6
0.8
1
Time
Posi
tion
in M
edia
File
Delivery Cost ModelEach object i: delivery costi = Borigin,i+ P Bproxy,iP: number of proxy servers
: average cost of a proxy stream / average cost of one origin stream
Borigin,i and Bproxy,i depend on:
• fi = fraction of media object i stored at the proxy
• N = total request rate (avg. # of client arrivals per playback duration)
• b = client bandwidth
Delivery Cost ModelEach object i: delivery costi = Borigin,i+ P Bproxy,iP: number of proxy servers
: average cost of a proxy stream / average cost of one origin stream
Borigin,i and Bproxy,i depend on:
• fi = 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 fi that minimizes delivery costi
Delivery Cost ModelEach object i: delivery costi = Borigin,i+ P Bproxy,iP: number of proxy servers
: average cost of a proxy stream / average cost of one origin stream
Borigin,i and Bproxy,i depend on:
• fi = 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 fi that minimizes delivery costi
Constrained proxy server: min delivery costi (n objects)
subject to: fi proxy disk space, Bproxy,i max. proxy bandwidth
• Mixed Integer Programming, solved using GAMS library
{fi
}ni
ni
ni
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
Proxy Servers with Unlimited Bandwidth and Storage
Unicast Origin Multicast Origin
Protocol Cost Comparison (unconstrained proxies)
P=1 P=10 (Unicast Origin: P 1)
Multicast Origin
0 0.1 0.3
0.50.8
110
100
1000
1000
0
01020
30
40
50
Cos
t In
crea
se
(%)
N/P
0
0.3
0.8
110
100
1000
1000
0
010
20
30
40
50
N/P
0
0.3
0.8
110
100
1000
1000
0
0
10
20
30
40
50
N/P
P=100
• 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)
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.
0 0.1 0.3 0.5 0.8
110
100
1000
1000
0
0
0.2
0.4
0.6
0.8
1
Fra
ctio
n St
ored
N/P0
0.3
0.8
1
100
1000
0
00.20.40.60.8
1
Fra
ctio
n S
tore
d
N/P
0
0.3
0.8
110
100
1000
1000
0
00.20.40.60.8
1
Fra
ctio
n S
tore
d
N/P
Multicast Origin, P=1
Unicast Origin, P 1
P=10
Multicast Origin
P=100
Cache Content: BWSkim+Batch(b)(unconstrained proxies)
0
0.3
0.8
1
100
1000
0
0
0.2
0.4
0.6
0.8
1
Fra
ctio
n S
tore
d
N/P
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).
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 b2: (P=10)
00.
1
0.3
0.5
0.8 1 10 10
010
0010
000
0
50
100
150
200C
ost
In
crea
se
(%)
N/P
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
2
3
4
5
6
7
8
0 20 40 60 80 100P
Del
iver
y C
ost = 0.1
= 1/P
= 5/P
Proxy Servers with Limited Disk Storage
and Bandwidth
~ 1/P (or less)or Unicast origin
Constrained Proxies: Key Parameters
M: total client arrival rate, in arrivals per T (all files)
Ps: proxy storage capacity, as a fraction of all files
Pb: proxy bandwidth, as a fraction of bandwidth needed if proxy stores all files
– Ps and Pb 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 Ps 0.68 , Pb 0.02
– Distribute files across the disks to balance the load
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:
– Ps = = 0.11 Pb = = 0.63
2000
445332
425
0
0.2
0.4
0.6
0.8
11 22 43 64 85 106
127
File
Fra
ctio
n St
ored
0
0.2
0.4
0.6
0.8
1
1 23 45 67 89 111
File
Fra
ctio
n S
tore
d
True Optimal
(Pb =0.32 (bw)
Near Optimal
(Pb =0.32 )(bw)
(b =2, Ps=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)
Optimal Content for BWSkim (b)
(unicast origin, constrained proxies)
00.20.40.60.8
1
1 26 51 76 101
126
File
Frac
tion
Stor
ed
00.20.40.60.8
1
1 25 49 73 97 121
File
Fra
ctio
n St
ored
00.20.40.60.8
1
1 27 53 79 105
File
Fra
ctio
n St
ored
00.20.40.60.8
1
1 27 53 79 105
File
Fra
ctio
n St
ored
Pb 1
P=10, =0.1,(cap), M/P=100
Pb 1
P=10, =0.3,(cap), M/P=100
Pb 1 ,
P=100, =0.1,(cap), M/P=100
Ps = 34%, n=128, T=2h
Pb=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 Pb 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%
(BWSkim/U(2), Pb1, Ps=34%, n =128, T =2h)
0
0.2
0.4
0.6
0.8
1
1 21 41 61 81 101
121
File
Fra
ctio
n S
tore
d
M/P = 1000
(unrealistic Pb )
0
0.2
0.4
0.6
0.8
1
FileF
ract
ion
Sto
red
M/P = 100
(realistic Pb )
• Arbitrarily setting values for proxy bandwidth leads to unrealistic and non-optimal results
Unrealistic Proxy Bandwidth Assumption
(unicast origin, constrained proxies)
• 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)
0.08
5
0.34
1010
010
00
1000
0
0
0.2
0.4
0.6
0.8
1
Cos
t R
atio
PsM/P
Ratio of delivery cost for BWSkim/U(2) to cost of BWSkim/U(1.2)
Cost Increase of BWSkim(2) vs. BWSkim+Batch(3):
• BWSkim+Batch(3) and prefix caching is preferred only if:• large P, moderately small Pb
• 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.131
0.321Pb=
10
100
1000
1000
0 1 10 100
0%
20%
40%
60%
80%
100%
Co
st
Inc
rea
se
(%
)
M/P P
BWSkim(2) vs. BWSkim+Batch(3)(multicast origin, constrained proxies)
= 0, Ps=34%
Optimal Content for BWSkim+Batch(3)
(multicast origin, constrained proxies)
0
0.2
0.4
0.6
0.8
1
1 18 35 52 69 86 103
120
File
Frac
tion
Stor
ed
0
0.2
0.4
0.6
0.8
1
1 19 37 55 73 91 109
127
File
Frac
tion
Stor
ed
Pb 1
P=10, (cap) Pb =0.32
P=10, (bw)
0
0.2
0.4
0.6
0.8
1
File
Frac
tion
Stor
ed
Pb 1
P=100, (cap)
Ps=34%, = 0
• BWSkim+Batch(b) caches primarily prefix files.
• Less popular data is cached as either Pb decreases or or P
increases.
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
10100
100010000 1
10100
123456789
10
Cos
t F
acto
r
M/P P
60 64
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