The Tension Between High Video Rate and No Rebuffering Te-Yuan (TY) Huang Stanford University IRTF Open 87 July 30th, 2013 Joint work Prof.

Slides:



Advertisements
Similar presentations
FAST TCP Anwis Das Ajay Gulati Slides adapted from : IETF presentation slides Link:
Advertisements

RED Enhancement Algorithms By Alina Naimark. Presented Approaches Flow Random Early Drop - FRED By Dong Lin and Robert Morris Sabilized Random Early Drop.
IEEE JSAC Special Issue Adaptive Media Streaming Submissions by April 1 Details at
Saamer Akhshabi, Constantine Dovrolis Georgia Institute of Technology An Experimental Evaluation of Rate Adaptation Algorithms in Adaptive Video Streaming.
Confused, Timid, and Unstable: Picking a Video Streaming Rate is Hard Published in 2012 ACM’s Internet Measurement Conference (IMC) Five students from.
Doc.: IEEE /0604r1 Submission May 2014 Slide 1 Modeling and Evaluating Variable Bit rate Video Steaming for ax Date: Authors:
Winter 2008CS244a Handout #61 CS244a: An Introduction to Computer Networks Handout 6: The Transport Layer, Transmission Control Protocol (TCP), and User.
1 End to End Bandwidth Estimation in TCP to improve Wireless Link Utilization S. Mascolo, A.Grieco, G.Pau, M.Gerla, C.Casetti Presented by Abhijit Pandey.
Restricted Slow-Start for TCP William Allcock 1,2, Sanjay Hegde 3 and Rajkumar Kettimuthu 1,2 1 Argonne National Laboratory 2 The University of Chicago.
Ahmed Mansy, Mostafa Ammar (Georgia Tech) Bill Ver Steeg (Cisco)
Confused, Timid and Unstable: Picking a Video Rate is Hard Te-Yuan (TY) Huang Stanford University Nov 15 th, 2012 Joint work with Nikhil Handigol, Brandon.
Measurements of Congestion Responsiveness of Windows Streaming Media (WSM) Presented By:- Ashish Gupta.
Video over ICN IRTF Interim Meeting Boston, MA Cedric Westphal.
Sizing Router Buffers Guido Appenzeller Isaac Keslassy Nick McKeown Stanford University.
Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.
1 Modeling and Emulation of Internet Paths Pramod Sanaga, Jonathon Duerig, Robert Ricci, Jay Lepreau University of Utah.
High Performance All-Optical Networks with Small Buffers Yashar Ganjali High Performance Networking Group Stanford University
High Performance Networking with Little or No Buffers Yashar Ganjali High Performance Networking Group Stanford University
High Performance Networking with Little or No Buffers Yashar Ganjali on behalf of Prof. Nick McKeown High Performance Networking Group Stanford University.
Sizing Router Buffers Nick McKeown Guido Appenzeller & Isaac Keslassy SNRC Review May 27 th, 2004.
Defending Against Low-rate TCP Attack: Dynamic Detection and Protection Haibin Sun John C.S.Lui CSE Dept. CUHK David K.Y.Yau CS Dept. Purdue U.
Reducing the Buffer Size in Backbone Routers Yashar Ganjali High Performance Networking Group Stanford University February 23, 2005
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
Isaac Keslassy (Technion) Guido Appenzeller & Nick McKeown (Stanford)
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
Stanford University August 22, 2001 TCP Switching: Exposing Circuits to IP Pablo Molinero-Fernández Nick McKeown Stanford University.
Junxian Huang 1 Feng Qian 2 Yihua Guo 1 Yuanyuan Zhou 1 Qiang Xu 1 Z. Morley Mao 1 Subhabrata Sen 2 Oliver Spatscheck 2 1 University of Michigan 2 AT&T.
Second year review Resource Pooling Damon Wischik, UCL.
Courtesy: Nick McKeown, Stanford 1 TCP Congestion Control Tahir Azim.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
COMT 4291 Communications Protocols and TCP/IP COMT 429.
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
An Efficient Approach for Content Delivery in Overlay Networks Mohammad Malli Chadi Barakat, Walid Dabbous Planete Project To appear in proceedings of.
Parameswaran, Subramanian
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
1 Measuring Congestion Responsiveness of Windows Streaming Media James Nichols Advisors: Prof. Mark Claypool Prof. Bob Kinicki Reader: Prof. David Finkel.
An Experimental Evaluation of Voice Quality over the Datagram Congestion Control Protocol H. Balan International Univeristy Bremen L. Eggert Nokia Research.
TCP Trunking: Design, Implementation and Performance H.T. Kung and S. Y. Wang.
Transport Layer3-1 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window.
1 Capacity Dimensioning Based on Traffic Measurement in the Internet Kazumine Osaka University Shingo Ata (Osaka City Univ.)
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
1 SIGCOMM ’ 03 Low-Rate TCP-Targeted Denial of Service Attacks A. Kuzmanovic and E. W. Knightly Rice University Reviewed by Haoyu Song 9/25/2003.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Winter 2008CS244a Handout 71 CS244a: An Introduction to Computer Networks Handout 7: Congestion Control Nick McKeown Professor of Electrical Engineering.
Receiver Driven Bandwidth Sharing for TCP Authors: Puneet Mehra, Avideh Zakor and Christophe De Vlesschouwer University of California Berkeley. Presented.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
Chapter 11.4 END-TO-END ISSUES. Optical Internet Optical technology Protocol translates availability of gigabit bandwidth in user-perceived QoS.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
TCP transfers over high latency/bandwidth networks & Grid DT Measurements session PFLDnet February 3- 4, 2003 CERN, Geneva, Switzerland Sylvain Ravot
79 Sidevõrgud IRT 4060/ IRT 0020 vooruloeng 8 / 3. nov 2004 Vooülekanne Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
1 ICCCN 2003 Modelling TCP Reno with Spurious Timeouts in Wireless Mobile Environments Shaojian Fu School of Computer Science University of Oklahoma.
MPTCP Implementation: Use cases for Enhancement Opportunities
TCP Vegas Congestion Control Algorithm
Approaches towards congestion control
TCP-LP: A Distributed Algorithm for Low Priority Data Transfer
Mohammad Malli Chadi Barakat, Walid Dabbous Alcatel meeting
Chapter 3 outline 3.1 Transport-layer services
Open Issues in Router Buffer Sizing
Available Bit Rate Streaming
ECF: an MPTCP Scheduler to Manage Heterogeneous Paths
CSE679: Multimedia and Networking
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
Lecture 24, Computer Networks (198:552)
Modeling and Evaluating Variable Bit rate Video Steaming for ax
Review of Internet Protocols Transport Layer
Presentation transcript:

The Tension Between High Video Rate and No Rebuffering Te-Yuan (TY) Huang Stanford University IRTF Open 87 July 30th, 2013 Joint work Prof. Nick McKeown and Prof. Ramesh Johari

Outline How does streaming video work today? – Video streaming over HTTP – Video rate selection over HTTP – The goals of rate selection The tension between the goals Initial thoughts on how to break the tension 2

Video is the BIG thing on the Internet Video is more than 50% of peak traffic in the US Trend: Streaming over HTTP – Content Distribution Networks (CDNs) Well-provisioned HTTP servers at the edge of the Internet Cheap (1-2 cents per GB in 2013) – Firewall friendliness 3

How does rate selection over HTTP work? The Internet Client 4 Standard, commoditized HTTP Servers Rate selection logic resides at client side CDN 3 File 1: File 2: Get File 1 (1750kb/s) Serve the video with quality 1750kb/s Playout Buffer

The Rate Selection Process Initial video rate Video rate for the next video segment 5 Capacity estimation Download & measure Pick a rate

The Common Goals 1.Achieve the highest possible video rate – Video rate represents video quality 2.Avoid “rebuffer” as much as possible – “Rebuffer” means under-running playout buffer Unavoidable: Network or Service Outage – Necessary rebuffers Avoidable: Requesting a video rate that is too high – Unnecessary rebuffers 6

The Tension Between The Goals The actual capacity is unknown and varies – Accurate estimation is hard Underestimate the capacity – Picking a rate that is too low – leads to sub-optimal video quality (Fail Goal #1!) Over-estimate the capacity – Picking a rate that is too high – leads to rebuffering (Fail Goal #2!) 7

8

9 Before download started After download started

What happened? Both the download and video are over HTTP – TCP shares my home link equally among all flows 10 What is the problem?

Experiment Setup The Internet Bandwidth Controller CDN 1 CDN 2 CDN 3 11 Content Distribution Networks

Video Rate in the Presence of a Competing Flow Video Rate 12 Available Video Rates Fair share Competing Flow Throughout Steps down all the way to the lowest quality Video Flow Throughput

What If we manually select a video rate? 13 Available Video Rates Manually select 1750kb/s Video Flow Throughput Video keeps playing without any problem Video Rate

What If we manually select a video rate? 14 Competing Flow Throughput Video Rate Available Video Rates Manually select 1750kb/s Competing flow throughput is brought down Video Flow Throughput

Not Just One Service’s Problem This happens in all the three services we measured – Hulu, Netflix and Vudu 15 Video Rate

The Problem 16 Why? It picks a video rate that is much too low Video client ends up with much less throughput than its fair share

The Rate Selection Process Initial video rate Video rate for the next video segment 17 Capacity estimation Download & measure Pick a rate What goes wrong?

TCP Throughput of the Video Flow Playout Buffer is Full 18 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 19 50% of the segments get < 1.8Mb/s (Fair Share is 2.5Mb/s)

The Rate Selection Process 20 Capacity estimation Download & measure Pick a rate Underestimation If perceived 1.8 Mb/s, which video rate would it pick? 1400 kb/s?1750 kb/s? Even lower? Video rate for the next video segment Initial video rate

Conservative Rate Selection Available BW Video Rate 21 If 1.8Mb/s BW is perceived, the client switches down to 1050kb/s video rate

The Rate Selection Process 22 Capacity estimation Download & measure Pick a rate Underestimation Conservatively Is there any consequence of being conservative? Initial video rate Video rate for the next video segment

Smaller Segment Size for Lower Video Rate 23 When requesting a smaller segment size, lower probability of obtaining fair share.

Lower video rate leads to further bandwidth underestimation 24 Lowest Video Rate Highest Video Rate

The Rate Selection Process 25 Capacity estimation Download & measure Pick a rate Underestimation Conservatively Request for a smaller segment Further Video rate for the next video segment Initial video rate

The Complete Story Video Quality 26 Capacity Underestimation Conservatism Further Underestimation Being conservative can trigger a vicious cycle!

27 at least it will avoid rebuffer (Goal #2) … Right? So being conservative is understandable. But the available capacity is unknown & varies, Although this leads to sub-optimal quality (Fails Goal #1),

The Tension Between The Goals The actual capacity is unknown and varies – Accurate estimation is hard Underestimate the capacity – Picking a rate that is too low – leads to sub-optimal video quality Over-estimate the capacity – Picking a rate that is too high – leads to rebuffering 28

29

30 What happened?

31 Available Video Rates

What happened? – Cont. 32 Available Video Rates Video Rate

What happened? – Cont. Available Video Rates Buffer Level

What happened? – Cont. Start Playing Again Available Video Rates Video Rate Buffer Level Rebuffer! Rate Adapted. Not low enough! Not fast enough!

Why did the stream rebuffer? Capacity is estimated by weighted average of recent throughput The drop of the actual capacity does not reflect on the estimation until later Request a higher rate than it should End up under-running the buffer 35 Rebuffer!

Why does the tension exist? Under-estimate the capacity – Picking a rate lower than the actual capacity – leads to sub-optimal video quality (Fail Goal #1!) Over-estimate the capacity – Picking a rate higher than the actual capacity – leads to rebuffering (Fail Goal #2!) To break the tension – Need accurate capacity estimation 36 Why the tension exists?

Why does the tension exist? Pick video rate based on capacity estimation – The actual capacity is unknown and varies – The estimation never equals to the actual capacity The same algorithm can both under-estimate and over-estimate the capacity 37

What if…. Pick the video rate based on something we know: The Playout Buffer Can we break the tension?

Break the Tension – Goal #1 To achieve the highest possible video rate: – Need to fully utilize the capacity Avoid ON/OFF behavior Unless we have more capacity than we need Request for the highest video rate before the buffer is full – Playout Buffer will only be full: When the capacity is larger than the highest video rate Have more capacity than needed – Fully utilize the bandwidth – Average video rate = Average throughput 39

Goal #2: Avoid Rebuffers 40 Buffer Rmin Rmax when Buffer → 0 Video Rate → R min (min video rate) As long as Capacity > R min, Buffer will grow. Never Unnecessarily Rebuffer!

Break the Tension – Goal #1 To avoid rebuffer: – Step down to the lowest video rate when buffer approaches to zero – Buffer will start growing once stepping down As long the capacity is larger than the lowest rate – Playout Buffer will only under-run when: The capacity is less the lowest video rate There is nothing we can do, the rebuffer is “necessary” Called “necessary Rebuffers” Guarantee to have zero “unnecessary rebuffers” 41

Break the Tension – Goal #1 & #2 42 Rate Buffer Rmin Rmax Rebuffer Avoided! Highest Video Rate Achieved!

Practical Concerns Discrete segment downloads – Can only pick video rate when requesting a segment Discrete video rates Many more… Buffer-based algorithm provides a framework to address these concerns 43 “Downton Abbey without the Hiccups: Buffer-Based Rate Adaptation for HTTP Video Streaming”. SIGCOMM FhMN Workshop, Aug. 16 th, 2013

Conclusion Current practice of rate selection algorithm: – Pick a video rate based on capacity estimation – Two common goals: Achieve highest possible video rate Avoid rebuffer as much as possible The tension between two common goals – Underestimation vs. Overestimation The tension is caused by the estimation – Let’s take that out from the algorithm Focus on the one thing we know: The Playout Buffer – The tension will be broken down 44