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