Optimizing Cost and Performance for Content Multihoming Hongqiang - - PowerPoint PPT Presentation

optimizing cost and performance for content multihoming
SMART_READER_LITE
LIVE PREVIEW

Optimizing Cost and Performance for Content Multihoming Hongqiang - - PowerPoint PPT Presentation

Optimizing Cost and Performance for Content Multihoming Hongqiang Harry Liu Ye Wang Yang Richard Yang Hao Wang Chen Tian Aug. 16, 2012 Yale LANS Content Multihoming is Widely Used Content Publisher Content Viewers Yale LANS Why Content


slide-1
SLIDE 1

Yale LANS

Optimizing Cost and Performance for Content Multihoming

Hongqiang Harry Liu Ye Wang Yang Richard Yang Hao Wang Chen Tian

  • Aug. 16, 2012
slide-2
SLIDE 2

Yale LANS

Content Multihoming is Widely Used

Content Publisher Content Viewers

slide-3
SLIDE 3

Yale LANS

Why Content Multihoming: Performance Diversity

slide-4
SLIDE 4

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

slide-5
SLIDE 5

Yale LANS

Why Content Multihoming: Cost Diversity

Concave Function Region Based

Amazon CloudFront

Volume in a charging period

MaxCDN LiquidWeb

slide-6
SLIDE 6

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.

slide-7
SLIDE 7

Yale LANS

Key Question

  • A content object can be delivered from multiple

CDNs, which CDN(s) should a content viewer use?

slide-8
SLIDE 8

Yale LANS

Key Challenges

  • Online vs statistical CDN performance

– e.g., real-time network congestions or server overload

  • Complex CDN cost functions

– e.g., the cost of assigning one object to CDN(s) depends on other assignments => coupling

slide-9
SLIDE 9

Yale LANS

Our Approach: Two-Level Approach

Efficient Optimal Object Assignment Algorithm Local, Active Clients Guidance from Content Publishers

slide-10
SLIDE 10

Yale LANS

Roadmap

  • Motivations
  • Global optimization

– Problem definition – CMO: An efficient optimization algorithm

  • Local active client adaptation
  • Evaluations
slide-11
SLIDE 11

Yale LANS

Roadmap

  • Motivations
  • Global optimization
  • Problem definition

– CMO: An efficient optimization algorithm

  • Local active client adaptation
  • Evaluations
slide-12
SLIDE 12

Yale LANS

Problem Definition: Network Partition

Global Network

Location Area

Object-i

i

t

1

a i

t

2

a i

t

4

a i

t

5

a i

t

7

a i

t

8

a i

t

3

a i

t 

6

a i

t 

Location Object Exclusion

a

i a

slide-13
SLIDE 13

Yale LANS

Problem Definition: CDN Statistical Performance

Global Network

CDN-k 99% 92% Target Performance: 90%

1

a

i

2

a

i

7

a

j

80%

7 1

{ , }

a a k

F i j 

Statistical Performance: e.g., probability of successful deliveries in an area

slide-14
SLIDE 14

Yale LANS

,

, { } , , ,

min . . , , 0: 1 , , , : , , :

a i k

r a a k i k i x k r a r a a i i k k a a k i k a i 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

, a i k

x Charging function in region r of CDN-k Traffic volume in charging region-r of CDN-k

a

i

All requests are served Performance constraints

slide-15
SLIDE 15

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

slide-16
SLIDE 16

Yale LANS

Roadmap

  • Motivations
  • Global optimization

– Problem definition

  • CMO: An efficient optimization algorithm
  • Local active client adaptation
  • Evaluations
slide-17
SLIDE 17

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

slide-18
SLIDE 18

Yale LANS

slide-19
SLIDE 19

Yale LANS

slide-20
SLIDE 20

Yale LANS

slide-21
SLIDE 21

Yale LANS

slide-22
SLIDE 22

Yale LANS

slide-23
SLIDE 23

Yale LANS

Mapping From Object Assignment to Outcome

CDNs

CDN-1 CDN-2

Traffic in Region-1 Traffic in Region-2 Location Objects Traffic in Area-1 Traffic in Area-2

1 1

v

2 1

v

1 2

v

2 2

v

1 1

t

1 2

t

2 1

t

2 2

t

2 1,1

1 x 

1 2,1

1 x 

2 2,2

1 x 

1 1 1 2

t t 

2 2

t

2 1

t

Example assumption: Area-i is in charging Region-i

1 1,1

1 x 

slide-24
SLIDE 24

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

slide-25
SLIDE 25

Yale LANS

Extension Example: Per-request Cost

CDNs

CDN-1 CDN-2

Traffic in Region-1 Traffic in Region-2 #Request Location Objects Traffic in Area-1 Traffic in Area-2 #Request

1 1

v

2 1

v

1 2

v

2 2

v

1 1

t

1 2

t

2 1

t

2 2

t

1 2 1 1 1 2

n n n  

2 2

n

1 1 1 2

t t 

2 2

t

2 1

t

1 1,1

1 x 

2 1,1

1 x 

1 2,1

1 x 

2 2,2

1 x 

2 1

n

2 2

n

1 1

n

1 2

n

Example assumption: Area-i is in charging Region-i

slide-26
SLIDE 26

Yale LANS

slide-27
SLIDE 27

Yale LANS

slide-28
SLIDE 28

Yale LANS

slide-29
SLIDE 29

Yale LANS

slide-30
SLIDE 30

Yale LANS

Roadmap

  • Motivations
  • Global optimization

– Problem definition – CMO: An efficient optimization algorithm

  • Local active client adaptation
  • Evaluations
slide-31
SLIDE 31

Yale LANS

Active Clients

h11 h12 h21 Primary CDN Backup CDN

slide-32
SLIDE 32

Yale LANS

slide-33
SLIDE 33

Yale LANS

slide-34
SLIDE 34

Yale LANS

slide-35
SLIDE 35

Yale LANS

slide-36
SLIDE 36

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.

slide-37
SLIDE 37

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

slide-38
SLIDE 38

Yale LANS

slide-39
SLIDE 39

Yale LANS

slide-40
SLIDE 40

Yale LANS

slide-41
SLIDE 41

Yale LANS

slide-42
SLIDE 42

Yale LANS

slide-43
SLIDE 43

Yale LANS

Roadmap

  • Motivations
  • Global optimization

– Problem definition – CMO: An efficient optimization algorithm

  • Local active client adaptation
  • Evaluations
slide-44
SLIDE 44

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

slide-45
SLIDE 45

Yale LANS

Cost Savings of CMO Avg Saving: ~35% compared with Greedy

slide-46
SLIDE 46

Yale LANS

Cost Savings of CMO

All three CDNs have good performance in US/EU

Avg Saving: ~40% compared with Greedy

slide-47
SLIDE 47

Yale LANS

Active Client Evaluation Setting

  • Clients

– 500+ Planetlab nodes with Firefox 8.0 + Adobe Flash 10.1

  • Two CDNs

– Amazon CloudFront – CDN3

slide-48
SLIDE 48

Yale LANS

Active Client Test Cases

  • Stress test

– CDN3 as primary; CloudFront as backup

  • Two server in two CDNs: primary1, backup1
  • Two servers in the primary CDN: primary1, primary2

– Control primary1’s capacity

  • Step-down
  • Ramp-down
  • Oscillation
  • Large scale performance test:

– CloudFront as primary, CDN3 as backup – We saw real performance degradations

slide-49
SLIDE 49

Yale LANS

Stress Tests (Step-down)

Step-down Recovery

Different Priority Same Priority

slide-50
SLIDE 50

Yale LANS

Stress Tests (Ramp-down)

Ramp-down Recovery

Different Priority Same Priority

slide-51
SLIDE 51

Yale LANS

Stress Tests (Oscillation)

Different Priority Same Priority

slide-52
SLIDE 52

Yale LANS

Active Client QoE Gain (CloudFront + CDN3)

slide-53
SLIDE 53

Yale LANS

Active Client: Cost Overhead

slide-54
SLIDE 54

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.

slide-55
SLIDE 55

Yale LANS

Q&A

slide-56
SLIDE 56

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.

slide-57
SLIDE 57

Yale LANS

Backup Slides

slide-58
SLIDE 58

Yale LANS

Searching Extremal Assignments

Space of V (1) Separation Lemma:

*

* *

, : , is extremal P P V V

 

        

(2) Recall:

 

v v

V v e

 

 

(3) We prove:

 

 

*

* *

, , : , ,

k v

is 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

P

v

{ , | }

k

P 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

 

          

 

slide-59
SLIDE 59

Yale LANS

Picking Proper P

A special subset of P (S’): all elements in are distinct

, : , ,

k j

v k j P v e P v e     

 

,

k j

P v e e    

 

1 k j

v e e  

 

2 k j

v 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 

{ , | }

k

P v e k   { , | }

k

P v e k  

slide-60
SLIDE 60

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