optimizing cost and performance for content multihoming
DESCRIPTION
Optimizing Cost and Performance for Content Multihoming. Hongqiang Harry Liu Ye Wang Yang Richard Yang Hao Wang Chen Tian Aug. 16, 2012. Content Multihoming is Widely Used. Content Publisher. CDN-1. CDN-3. CDN-2. Content Viewers. Why Content Multihoming: Performance Diversity. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/1.jpg)
Yale LANS
Optimizing Cost and Performance for Content Multihoming
Hongqiang Harry LiuYe Wang
Yang Richard YangHao WangChen Tian
Aug. 16, 2012
![Page 2: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/2.jpg)
Yale LANS
Content Multihoming is Widely Used
Content Publisher
Content Viewers
CDN-2 CDN-3CDN-1
![Page 3: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/3.jpg)
Yale LANS
Why Content Multihoming: Performance Diversity
![Page 4: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/4.jpg)
Yale LANS
Why Content Multihoming: Performance Diversity
Table: The fraction of successful deliveries for objects with streaming rate of 1Mbps | 2Mbps | 3Mbps.
Diversity in different areas
Diversity in different streaming rates
![Page 5: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/5.jpg)
Yale LANS
Why Content Multihoming: Cost Diversity
Concave Function Region Based
Amazon CloudFrontVolume in a charging period
MaxCDN LiquidWeb
![Page 6: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/6.jpg)
Yale LANS
Our Goal
• Design algorithms and protocols for content publishers to fully take advantage of content multihoming to optimize – publisher cost and – content viewer performance.
![Page 7: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/7.jpg)
Yale LANS
Key Question
• A content object can be delivered from multiple CDNs, which CDN(s) should a content viewer use?
![Page 8: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/8.jpg)
Yale LANS
Key Challenges
• Online vs statistical CDN performance– e.g., real-time network congestions or server
overloading
• Complex CDN cost functions– e.g., the cost of assigning one object to CDN(s)
depends on other assignments => coupling
![Page 9: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/9.jpg)
Yale LANS
Our Approach: Two-Level Approach
Efficient Optimal Object Assignment Algorithm
Local, Adaptive Clients
Guidance from Content Publishers
Statistical Performance
OnlinePerformance
![Page 10: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/10.jpg)
Yale LANS
Roadmap
• Motivations• Global optimization
– Problem definition– CMO: An efficient optimization algorithm
• Local active client adaptation• Evaluations
![Page 11: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/11.jpg)
Yale LANS
Roadmap
• Motivations• Global optimization
Problem definition– CMO: An efficient optimization algorithm
• Local active client adaptation• Evaluations
![Page 12: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/12.jpg)
Yale LANS
Problem Definition: Network Partition
Global Network Location Area
Object-i
it
1ait 2a
it 4ait
5ait 7a
it 8ait
3 0ait
6 0ait
Location Object Exclusionai
a
![Page 13: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/13.jpg)
Yale LANS
Problem Definition:CDN Statistical Performance
Global Network
CDN-k
99%
92%
Target Performance: 90%
1ai 2ai
7aj
80%
71{ , }aakF i j Statistical Performance: e.g.,
probability of successful deliveries in an area
![Page 14: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/14.jpg)
Yale LANS
,,
{ }
,
,
,
min
. . , , 0 : 1
, , , : 0
, , : 0
ai k
r a ak i k i
x k r a r
a ai i k
k
a ak i k
ai k
C x t
s t i a n x
i k a i F x
i k a x
Problem Definition:Optimization Formulation
Problem Q
is the fraction of traffic put into CDN-k for location object,ai kx
Charging function in region r of CDN-k
Traffic volume in charging region-r of CDN-k
ai
All requests are served
Performance constraints
![Page 15: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/15.jpg)
Yale LANS
Solving Problem Q: Why not Standard Convex Programming or LP
• To minimize a concave objective function• Problem scale is too large to be tractable:
– N objects, A locations and K CDNs => N*A*K variables, and N*K constraints
– For example, given N=500K, A=200 and K=3 =>300M variables and 100M constraints
![Page 16: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/16.jpg)
Yale LANS
Roadmap
• MotivationsGlobal optimization
– Problem definitionCMO: An efficient optimization algorithm
• Local active client adaptation• Evaluations
![Page 17: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/17.jpg)
Yale LANS
Developing the CMO Algorithm: Base
• Problem Q has an optimal solution which assigns a location object into a single CDN.
• The object assignment problem is still hard:Assignment Space K CDNs and
N location objects => KN assignment possibilities
![Page 18: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/18.jpg)
Yale LANS
CMO Key Idea: Reduction in the Outcome Space
Assignment Space Outcome (CDN Usage) Space
Infeasible Assignments
There are only vertices points, where is the # of charging regions (a small #)
There are up to points with CDNs and location objects
NKK N
KRN
![Page 19: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/19.jpg)
Yale LANS
Mapping From Object Assignment to Outcome
CDNs CDN-1 CDN-2Traffic in Region-1Traffic in Region-2
Location ObjectsTraffic in Area-1Traffic in Area-2
11v
21v
12v
22v
11t 0 1
2t 0
0 21t 0 2
2t
21,1 1x 1
2,1 1x 22,2 1x
1 11 2t t 0
22t
21t
Example assumption: Area-i is in charging Region-i
11,1 1x
![Page 20: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/20.jpg)
Yale LANS
Extensions
• CDN subscription levels (e.g. monthly plan)– Introducing CDN capacity constraints
• Per-request cost– Adding a row which indicates the #request in outcome
• Multiple streaming rates– Considering each video at each encoding rate as an
independent object
![Page 21: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/21.jpg)
Yale LANS
Extension Example: Per-request Cost
CDNs CDN-1 CDN-2Traffic in Region-1Traffic in Region-2
#Request
Location ObjectsTraffic in Area-1Traffic in Area-2
#Request
11v
21v
12v
22v
11t 0 1
2t 0
0 21t 0 2
2t
1 2 11 1 2n n n 2
2n
1 11 2t t 0
22t
21t
11,1 1x 2
1,1 1x 12,1 1x
22,2 1x
21n
22n1
1n12n
Example assumption: Area-i is in charging Region-i
![Page 22: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/22.jpg)
Yale LANS
From Algorithm to System
Optimizer
CDN1CloudFront
CDN2MaxCDNPassive Client
CPDNS
Resolve obj-i.cp.com
CNAMEd3ng4btfd31619.cloudfront.net
Client IP area
Long-term scale statistics
Fast-scale fluctuations
![Page 23: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/23.jpg)
Yale LANS
Roadmap
• Motivations• Global optimization
– Problem definition– CMO: An efficient optimization algorithm
Local active client adaptation• Evaluations
![Page 24: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/24.jpg)
Yale LANS
Active Clients
h11h12
h21
Primary CDNBackup CDN
![Page 25: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/25.jpg)
Yale LANS
Informing Active Client
Optimizer
CDN1CloudFront
CDN2MaxCDN Active Client
Manifestation Server
Requestcp.com/sample.flv
Passive Client
Resolve obj-i.cp.com
Get CNAMEd3ng4btfd31619.cloudfront.net
Multiple CDNs with priorities
![Page 26: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/26.jpg)
Yale LANS
How to Select Multiple CDNs?
• The same CMO algorithm, where input CDNs are virtual CDNs (ranked CDN combinations)
• Example: Select 2 CDNs (primary + backup) for an active client:– Each pair of CDNs is a “virtual CDN”: k’ = (k, j) – Fk’ : the set of location objects that CDN k and CDN j
together can achieve performance requirement• Each with 90% statistics => together > 90%
– Objective function: for each location object ia , primary CDN k delivers the normal amount of traffic and backup j incurs backup amount of traffic.
![Page 27: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/27.jpg)
Yale LANS
Active Clients: Adaptation Goals
• QoE protection (feasibility): – Achieve target QoE through combined available
resources of multiple CDN servers
• Prioritized guidance: – Utilize the available bandwidth of a higher priority
server before that of a lower priority server
• Low session overhead (stability): – No redistributing load among same-priority servers
unless it reduces concurrent connections
![Page 28: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/28.jpg)
Yale LANS
Active Clients: Control Diagram
h11 h12
h11+h12
Primary CDN Backup CDNh11<R and h12>R
h11>R and h12<R
h11<R and h12<R?
h11<R and h12<Rh11+ h12>R
h12>Rh11>R
h11+h12+h21
h11 + h12<R
h11 + h12>R
![Page 29: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/29.jpg)
Yale LANS
Realizing Control Diagram: Key Ideas
• Controlling the windows– AIMD– Total load control
• Using the sliding windows– Priority assignment
h11
h12
h21
Pieces to request in T
# pieces can be downloaded from the server in a period T
![Page 30: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/30.jpg)
Yale LANS
Roadmap
• Motivations• Global optimization
– Problem definition– CMO: An efficient optimization algorithm
• Local active client adaptationEvaluations
![Page 31: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/31.jpg)
Yale LANS
CMO Evaluation Setting
• 6-month traces from two VoD sites (CP1 and CP2):– Video size– #request in each area (learned from clients’ IP)
• Three CDNs– Amazon CloudFront– MaxCDN– CDN3 (private)
• #request prediction– Directly using #request last month in each area
• Compare 5 CDN selection strategies:– Cost-only, Perf-only, Round-robin, Greedy, CMO
![Page 32: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/32.jpg)
Yale LANS
Cost Savings of CMO
Avg Saving: ~35% compared with Greedy
![Page 33: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/33.jpg)
Yale LANS
Cost Savings of CMO
All three CDNs have good performance in US/EU
Avg Saving: ~40% compared with Greedy
![Page 34: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/34.jpg)
Yale LANS
Active Client Evaluation Setting
• Clients– 500+ Planetlab nodes with Firefox 8.0 + Adobe Flash
10.1
• Two CDNs– Amazon CloudFront– CDN3
![Page 35: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/35.jpg)
Yale LANS
Active Client Test Cases
• Stress test– CDN3 as primary; CloudFront as backup
• Two servers in two CDNs: primary1, backup1• Two servers in the primary CDN: primary1, primary2
– Control primary1’s capacity• Step-down -> recover• Ramp-down -> recover• Oscillation
• Large scale performance test:– CloudFront as primary, CDN3 as backup– We saw real performance degradations
![Page 36: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/36.jpg)
Yale LANS
Stress Tests (Step-down)
Step-down Recovery
Different Priority
Same Priority
![Page 37: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/37.jpg)
Yale LANS
Stress Tests (Ramp-down)
Ramp-down
Recovery
Different Priority
Same Priority
![Page 38: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/38.jpg)
Yale LANS
Stress Tests (Oscillation)
Different Priority
Same Priority
![Page 39: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/39.jpg)
Yale LANS
Active Client QoE Gain (CloudFront + CDN3)
![Page 40: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/40.jpg)
Yale LANS
Active Client: Cost Overhead
![Page 41: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/41.jpg)
Yale LANS
Conclusions
• We develop and implement a two-level approach to optimize cost and performance for content multihoming: – CMO: an efficient algorithm to minimize publisher cost
and satisfy statistical performance constraints– Active client: an online QoE protection algorithm to
follow CMO guidance and locally handle network congestions or server overloading.
![Page 42: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/42.jpg)
Yale LANS
Q&A
![Page 43: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/43.jpg)
Yale LANS
Related Work and Conclusions• CDN switchers: seamless switch from one CDN to another
– One Pica Image• CDN Load Balancers: executing traffic split rules among CDNs
– Cotendo CDN– LimeLight traffic load balancer– Level 3 intelligent traffic management
• CDN Agent: CDN business on top of multiple CDNs– XDN– MetaCDN
• CDN Interconnection (CDNi)– Content multihoming problem still exists in the CDN delegations.
![Page 44: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/44.jpg)
Yale LANS
Backup Slides
![Page 45: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/45.jpg)
Yale LANS
Searching Extremal Assignments
Space of V
(1) Separation Lemma: ** *, : , 0is extremal P P V V
(2) Recall: vv
V v e (3) We prove: *
* *, , : , ,k vis extremal P v k v P v e P v e
P
*V
V
(4) With a proper , we can find an extremal assignment:• For each object , there is a unique minimum element in set
Pv { , | }kP v e k
How to find a proper ?
How to enumerate all possible extremal assignments?
P
** *, : , ,v v
v v
is extremal P P v e P v e
![Page 46: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/46.jpg)
Yale LANS
Picking Proper P
A special subset of P (S’): all elements in are distinct , : , ,k jv k j P v e P v e
, 0k jP v e e 1 k jv e e
2 k jv e e
P
We prove:• Each extremal assignment can be found by an element in S’• Two interior points from the same cell find the same extremal assignment
Cell Enumeration of Hyperplane Arrangements
Conclusion:• All possible extremal assignments are exhausted by S’.• The number of extremal assignments is no more than the #cell (polynamial
with #object).
A Proper P:• there is a unique minimum element in set v { , | }kP v e k
{ , | }kP v e k
![Page 47: Optimizing Cost and Performance for Content Multihoming](https://reader034.vdocuments.us/reader034/viewer/2022052603/56816968550346895de1308a/html5/thumbnails/47.jpg)
Yale LANS
Realizing Control Diagram: Key Ideas
• Yry (revise next slide) Draw a figure w/–An active client–3 cdn servers–Label a sliding window to conn. to each CDN
–Say 3 key techniques to control and use the sliding window: total