260 likes | 453 Views
Confused, Timid, and Unstable: Picking a Video Streaming Rate is Hard. T. Huang, N. Handigol , B. Heller, N. McKeown , and R. Johari. Proceedings of the ACM Internet Measurement Conference ( IMC) Boston , MA, USA November 2012. (http://www.stanford.edu/~huangty/IMC-huang.pptx).
E N D
Confused, Timid, and Unstable: Picking a Video Streaming Rate is Hard T. Huang, N. Handigol, B. Heller, N. McKeown, and R. Johari Proceedings of the ACM Internet Measurement Conference (IMC) Boston, MA, USA November 2012 (http://www.stanford.edu/~huangty/IMC-huang.pptx)
Video is the BIG Thing on the Internet • Video is more than 50% of peak traffic in the US • Netflix about 30%, YouTube about 15% • Ordinary Web browsing about 12% (SandVine, Nov 2012) • Trend: Streaming over HTTP • Content Distribution Networks (CDNs) • Well-provisioned HTTP servers at the edge of the Internet • Cheap (2-3 cents per GB in 2011) • Firewall friendliness
Before download started Afterdownload started
What Happened? • Both the download and video are over HTTP • TCP shares home link equally among all flows What is the problem?
Experiment Setup CDN 1 The Internet CDN 2 CDN 3 Bandwidth Controller (NetFPGA[15]) Content Distribution Networks
Video Ratein Presence of Competing Flow Video Flow Throughput Competing Flow Throughout Fair share Steps down all the way to the lowest quality Video Rate Available Video Rates
What If We Manually Select a Video Rate? Video Flow Throughput Video keeps playing without any problem Video Rate Available Video Rates Manually select 1750kb/s
What If We Manually Select a Video Rate? Competing Flow Throughput Competing flow throughput is brought down Video Flow Throughput Video Rate Available Video Rates Manually select 1750kb/s
Not Just One Service’s Problem • This happens in all the services measured • Hulu, Netflix, Vudu Video Rate Video Rate
The Problem • Video client ends up with much less throughput than its fair share • It picks a video rate that is much too low Why?
Outline • How does rate selection over HTTP work? • The rate selection process • Where does it go wrong? • The complete story • Conclusion
How Does Rate Selection over HTTP Work? 1750 1750 File 1: 1050 1050 1050 Get File 1 (1750kb/s) File 2: The Internet CDN 3 PlayoutBuffer Client Rate selection logic resides at client side Standard, commodity HTTP servers Serve the video with quality 1750kb/s
The Rate Selection Process Bandwidthestimation Initial video rate Download& measure Pick a rate Video rate for the next video segment What goes wrong?
The Rate Selection Process Bandwidthestimation Initial video rate Download& measure Pick a rate Video rate for the next video segment
TCP Throughput of Video Flow Playout Buffer is Full TCP Throughput OFF Period: 1-2 seconds
Impact of OFF period on TCP • TCP sender resets its congestion window • When idle more than one RTO (200ms) • Slow-start restart, RFC 2581/5681 • Linux 3.x (tcp_output.c, line 163) • Throughput will be affected • Worse with a competing flow • Experience packet loss during slow start 50% of segments get < 1.8Mb/s (Fair Share is 2.5Mb/s)
The Rate Selection Process Bandwidthestimation Initial video rate Underestimation Download& measure Pick a rate Video rate for the next video segment If perceived 1.8 Mb/s, which video rate would it pick? Even lower? 1750 kb/s? 1400 kb/s?
Conservative Rate Selection Available BW If 1.8Mb/s BW is perceived,the client switches down to1050kb/s video rate Video Rate
The Rate Selection Process Bandwidthestimation Initial video rate Underestimation Download& measure Pick a rate Conservatively Video rate for the next video segment Is there any consequence of being conservative?
Smaller Segment Size for Lower Video Rate When requesting a smaller segment size, lower probability of obtaining fair share.
Lower Video Rate Leads to Further Bandwidth Underestimation Lowest Video Rate Highest Video Rate
The Rate Selection Process Further Bandwidthestimation Initial video rate Underestimation Download& measure Pick a rate Conservatively Video rate for the next video segment Request for a smaller segment
The Complete Story Bandwidth Underestimation Video Quality Conservatism Further Underestimation
Conclusion • The problem: Video flow gets a much lower throughput than its fair share • Problem occurred in all the services we measured • The reason: Video client tries to do TCP’s job • It is afraid of causing network congestion • It becomes timid • It tries to figure out its available bandwidth • Without seeing the interaction between the playout buffer, segment sizes and TCP dynamics • It is easily confused and becomes unstable • One service provider changed its algorithm because of this work