240 likes | 383 Views
Pros and cons of model-based bandwidth control for client-assisted content delivery. Abhigyan Sharma Arun Venkataramani Antonio Rocha*. University of Massachusetts Amherst, USA * Fluminense Federal University, Brazil. Hybrid CDNs. Reliable & easy to manage. Cost savings.
E N D
Pros and cons of model-based bandwidth control for client-assisted content delivery Abhigyan Sharma ArunVenkataramani Antonio Rocha* University of Massachusetts Amherst, USA *Fluminense Federal University, Brazil
Hybrid CDNs Reliable & easy to manage Cost savings Best of both worlds? >65% North America traffic can leverage hybrid CDNs (video, downloads)* CDNs using hybrid technology: Akamai, Velocix, PeerCDN * Sandvine Global Internet Phenomena Report 2013
Hybrid CDN architecture Reliable server provides bandwidth to swarms to ensure successful download completion Swarm P2P transfers End-users Bandwidth allocated to swarm 2 Mbps Server 5 Mbps server capacity
Swarm performance vs. server bandwidth Server bandwidth helps increase P2P efficiency Server bandwidth distributed as in client-server system Swarm performance (per-peer) Server bandwidth
Bandwidth allocation in hybrid CDNs Proportional Split Swarm S1 = 100 peers 10 S1 S2 Swarm perf(per-peer) Simple schemes make sub-optimal bandwidth allocations Smarter Split Swarm S2 = 1 peer 1 10 S1 Server bandwidth (Mbps) S2 Goal: maximize worst swarm perf Total server bandwidth = 10 MBps
Outline • Hybrid CDNs: Why bandwidth allocation important • Bandwidth control strategies • Dynamic control • Model-based control (CheatSheet) • Experimental results • Conclusions
Dynamic controller Online algorithm makes small bandwidth adjustments periodically Swarm 3 Swarm 2 Swarm 1 Clients report performance measurements Dynamic controller Adjust bandwidth allocation every T sec 1 Mbps 2 Mbps 2 Mbps (2 - Δ) Mbps (1 + Δ) Mbps
Dynamic controller limitations • Convergence delays, e.g., if T = 200s, Δ = 10 KBps, then 50 KBps change requires 1000 sec • Instability: oscillations due to continuous bandwidth adjustments • Measurement error in estimating impact of server bandwidth on swarm performance
Model-based controller • Requires a swarm performance model • Computes bandwidth allocation for objective by solving corresponding optimization problem • Enables server to jump quickly to optimal allocation Swarm performance = f(server-bandwidth, …)
Factors affecting swarm performance Arrival rate File size Increasing file size keeping(file size) X (arrival rate) = const Increasing arrival rate Swarm Perf Swarm Perf Modeling swarm performance is hard! Server BW Server BW Network conditions Upload capacity distribution Increasing variance keeping mean same Swarm Perf Increasing RTT Swarm Perf Server BW Server BW
Cheat sheet approach • Collect swarm performance measurements • Store measured data concisely in ‘cheat sheet’ • Predict swarm performance via interpolation Swarm performance = f(server-bandwidth, file size, arrival rate, upload capacity distribution) Model: Tractable number (few 100s) of measurements capture swarm behavior Assumption: upload capacity distribution is stationary
Outline • Hybrid CDNs: Why bandwidth allocation important • Bandwidth control strategies • Experimental results • Conclusions
Avgdownload time CheatSheet converges faster and reduces average download time by 25% 25%
Results summary • Minimize max avg download time across swarms • CheatSheet and (EqualSplitfor some workloads) perform better than dynamic controller by 20% • Minimize bandwidth cost; avg download time < T • CheatSheet & dynamic controller have comparable bandwidth costs • Avgdownload time for dynamic controller exceeds T sec
Cons of model-based controller • Offline modeling onerous • Offline measurement runs into 100s of hours • Non-stationarity • Peer capacity distribution, network conditions, etc. may change significantly over time
Conclusion • Our contribution: measurement-driven comparison of model-based vs other types of controllers • Pros: outperforms other types of controllers • Cons: building swarm performance model is hard
Factors affecting swarm performance Arrival rate File size Increasing file size keeping(file size)X(arrival rate) = const improves swarm performance Increasing arrival rate improves swarm performance Swarm Perf Swarm Perf Server BW Server BW Network conditions Upload capacity distribution Increasing variance keeping mean same worsens swarm performance Swarm Perf Increasing RTT worsens swarm performance Swarm Perf Server BW Server BW Modeling swarm performance is hard!
Model-based controller Model: Swarm performance = f(server-bandwidth, …) Swarm 1 Swarm 2 Swarm 3 Compute optimal bandwidth allocation Report swarm parameters Model-based controller Server jumps to optimal bandwidth allocation 2 Mbps 2 Mbps 1 Mbps
Avgdownload time CheatSheet converges faster and reduces average download time by 25% 25%
Max avg download time across swarms CheatSheet and EqualSplit perform up to 4× better than other schemes Static controllers perform well for some objectives/workloads, worse on others
Bandwidth cost CheatSheet maintains avg download time < target Screen Shot 2013-12-25 at 1.05.07 AM Dynamic controllers perform sub-optimally on all objectives
Why is a cheat sheet feasible? Tractable number (few 100s) of measurements capture swarm behavior • Select server bandwidths in range (0, avg_upload) • Server bandwidth = avg_upload gives most P2P gains • Select arrival rates in range (λClientServer, λSelfSustaining) • λ < λClientServerbehaves same as λClientServer • λ > λSelfSustainingbehaves same as λSelfSustaining • Select small number of file sizes: (10 MB, 100 MB ... ) • Select current upload capacity distribution • Upload capacity distribution is stationary over few months
Factors affecting swarm performance • Peer arrival rate: Increasing arrival rate improves swarm performance • File size: Keeping total demand = (file size)X(arrival rate) fixed, increasing file size improves swarm performance • Upload capacity distribution: For same mean, increasing variance worsens swarm performance • Network conditions: Increasing RTT between peers worsens swarm performance Modeling swarm performance is hard!