Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

2 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

3 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

4 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: 1750 1050 Get File 1 (1750kb/s) Serve the video with quality 1750kb/s Playout Buffer

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

6 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

7 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 8

9 9 Before download started After download started

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

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

12 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

13 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

14 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

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

16 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

17 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?

18 TCP Throughput of the Video Flow Playout Buffer is Full 18 TCP Throughput OFF Period: 1-2 seconds

19 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)

20 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

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

22 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

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

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

25 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

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

27 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),

28 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 29

30 30 What happened?

31 31 Available Video Rates

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

33 What happened? – Cont. Available Video Rates Buffer Level

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

35 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!

36 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?

37 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

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

39 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

40 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!

41 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

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

43 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

44 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


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

Similar presentations


Ads by Google