Trickle : Rate Limiting Video Streaming Monia Ghobadi <monia@cs.toronto.edu> Yuchung Cheng, Ankur Jain, Matt Mathis <ycheng, jankur, mattmathis@google.com> 1
Video Streaming TCP Just-in-time video delivery Ustreamer Application pacing 2
Video Streaming Startup phase Throttling phase equence offset (KB) Token bucket 64kB 1500 Sequence offset (bytes) 1000 Target streaming rate 500 = 125% video encoding rate 0 0 2 4 6 8 10 Time (sec) 3
The Problem: Burstiness is Bad for TCP Not specific to YouTube videos. Netflix sends bursts as large as 2MB. Main contribution: A simple and generic technique to implement just-in-time video delivery by smoothly rate-limiting TCP transfers. 4
Trickle To Rate Limit TCP • Dynamic upper bound on TCP’s congestion window. • Periodically computed based on RTT and target rate (R). R = 50 pkts/sec (600Kbps) RTT = 200 ms max_cwnd = 50 (pkts/sec) x 0.2 (sec) = 10 pkts • Only server side changes for easy deployment. • Not a special mechanism tailored only for YouTube. 5
Demo* Smooth Bursty Trickle Ustreamer * http://www.cs.utoronto.ca/~monia/tcptrickle.html 6
Experiments Two data centers: India and Europe. 15 days in Fall 2011, total of 23 million videos. 4-way experiment: (1) Baseline1: application pacing with 64kB blocks, (2) Baseline2: application pacing with 64kB blocks, (3) Trickle, (4) shrunk-block: application pacing with 16kB blocks. 7
Experiments Methodology Western Europe/India data center (1) Baseline1 (2) Baseline2 (2) Baseline2 (3) Trickle Video ID (4) shrunk-block IP/Port Bytes sent Same number of flows, Retransmission rate flow sizes, RTT flow completion times. Transmission time Goodput Target rate Users 8
Experiments: Packet Losses 1 0.9 0.8 0.7 CDF 0.6 0.5 0.4 baseline1 baseline2 0.3 Trickle shrunk-block 0.2 0 0.5 1 1.5 2 2.5 3 Retransmission rate (%) Trickle reduces the average retransmission rate by 43%. 9
Experiments: Queueing Delay 1 0.8 0.6 CDF 0.4 baseline1 0.2 baseline2 Trickle shrunk-block 0 50 100 150 200 250 300 350 400 450 500 Smoothed RTT (ms) Trickle reduces the average RTT by 28%. 10
Conclusions • Trickle rate limits TCP by dynamically setting the maximum congestion window size. • Minimal sender-side changes, fast deployment. • Generally applicable to rate limit other kinds of streaming. 11
Recommend
More recommend