StudyGroup20121217

advertisement
A Case for a
Coordinated Internet
Video Control Plane
Presenter: Piggy
2012.12.17
Outline
Introduction
Motivation
Framework for Optimization
Potential for Improvement
Practical Design
Simulation
Discussion
Introduction
Video traffic has become the dominant
Internet traffic
 Netflix: 20% US Internet traffic
User expectation
 Traditional traffic
 Latency vs. completion time (throughput)
 Streaming video
 Sustained quality over extended period
Introduction
Shift of streaming protocols and infrastructure
 Traditional
 Specialized protocols and infrastructure
 Today
 HTTP streaming, chunk-based
Mismatch
 Video streaming vs. HTTP-based delivery
infrastructure
Motivation
Can we improve?
 What parameters?
 When to optimize or adapt?
 Who is in charge?
Potential source of inefficiencies
 Variability in client-side
 Variability within a single ISP or AS
 Variability in CDN performance (temporal and
spatial)
Dataset
One week of client-side measurement
Over 200 million viewing sessions
91 popular video content providers
Live + VoD
Metrics
Average bitrate
Rebuffering ratio
Startup time
Failure rate
Exits before video start
Video Quality Today
Sources of Quality Issues
Client-side variability
 Intra- and inter- session
Sources of Quality Issues
CDN variability – space and time
Sources of Quality Issues
CDN variability – space and time
Cause of CDN Variability
Load on CDN!
AS Under Stress
Design Space
What parameters to control?
 Choice of bitrate
 Choice of CDN/server
When to choose parameters?
 Startup time
 Midstream
Who decides the values of parameters?
 Client-side mechanism
 Server-driven mechanism
 Control plane (based on global state)
Design Space
Video Control Plane
Measurement component
Performance oracle
Global optimization
engine
Potential Improvement
Assume each session makes the best possible
choice
Cluster clients using similar attributes
Extrapolate the performance
Estimation
a : client’s attributes
Sa : set of clients sharing same a
Sa, p : set of clients with same choice of
parameters
PerfDista, p : empirical distribution
Extrapolation
Parameter with the best performance
distribution
Hierarchical Structure
Fine-grained  data sparse
Improvement
Average improvement
Improvement
Improvement under stress
 CDN performs poorly or has failures
Practical Design
Impact of bitrate on performance
 Additional attribute
Effect of CDN load
 Threshold-based
Past estimates to predict future performance
Tractability of global optimization
Specific utility function
Optimization
Goal: fairness vs. efficiency
Two-phases algorithm
 Assign clients a fair share of CDN resources using
average sustainable bitrate
 Incrementally improve total utility
Simulation
Trace-driven
Qualitative benefits
Input
 Client arrival pattern
 Observed CDN performance distribution in different
geographical regions at different load
Simulation
Strategies
 Baseline
 Global coordination
 Hybrid
Scenarios
 Average case
 CDN performance degradation
 Flash crowd
Result
Metrics
 Average utility
 Failure ratio
Average case
Result
Metrics
 Average utility
 Failure ratio
CDN degradation
Result
Metrics
 Average utility
 Failure ratio
Flash crowd
Discussion
Scalability
 vs. # of clients
Switching tolerance
 Switching frequency
Interaction with CDNs
 CDNs do the optimization themselves?
 Most CDNs are optimizing latency
Multiple controllers
 Exchange information
Download