43
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

The Tension Between High Video Rate and No Rebuffering

  • Upload
    avi

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

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. Outline. How does streaming video work today? Video streaming over HTTP - PowerPoint PPT Presentation

Citation preview

Page 1: The Tension Between  High Video  Rate and  No  Rebuffering

The Tension Between High Video Rate and No Rebuffering

Te-Yuan (TY) HuangStanford University

IRTF Open Meeting @IETF 87July 30th, 2013

Joint work Prof. Nick McKeown and Prof. Ramesh Johari

Page 2: The Tension Between  High Video  Rate and  No  Rebuffering

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

Page 3: The Tension Between  High Video  Rate and  No  Rebuffering

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

Page 4: The Tension Between  High Video  Rate and  No  Rebuffering

4

How does rate selection over HTTP work?

The Internet

Client

Standard, commoditized HTTP Servers

Rate selection logic resides at client side

CDN 3

File 1:

File 2:

1750 1750

1050 1050 1050Get File 1 (1750kb/s)

Serve the video with quality 1750kb/s

PlayoutBuffer

Page 5: The Tension Between  High Video  Rate and  No  Rebuffering

5

The Rate Selection Process

Initialvideo rate

Video rate for the next video segment

CapacityestimationDownload

& measure Pick a rate

Page 6: The Tension Between  High Video  Rate and  No  Rebuffering

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

Page 7: The Tension Between  High Video  Rate and  No  Rebuffering

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

Page 8: The Tension Between  High Video  Rate and  No  Rebuffering

8

Page 9: The Tension Between  High Video  Rate and  No  Rebuffering

9

Before download started

Afterdownload started

Page 10: The Tension Between  High Video  Rate and  No  Rebuffering

10

What happened?

• Both the download and video are over HTTP– TCP shares my home link equally among all flows

What is the problem?

Page 11: The Tension Between  High Video  Rate and  No  Rebuffering

11

Experiment Setup

The Internet

Bandwidth Controller

CDN 1

CDN 2

CDN 3Content Distribution Networks

Page 12: The Tension Between  High Video  Rate and  No  Rebuffering

12

Video Ratein the Presence of a Competing Flow

Video Rate

AvailableVideo Rates

Fair share

Competing FlowThroughout

Steps down all the way to the lowest quality

Video FlowThroughput

Page 13: The Tension Between  High Video  Rate and  No  Rebuffering

13

What If we manually select a video rate?

AvailableVideo Rates Manually select

1750kb/s

Video FlowThroughput Video keeps playing

without any problem

Video Rate

Page 14: The Tension Between  High Video  Rate and  No  Rebuffering

14

What If we manually select a video rate?Competing FlowThroughput

Video Rate

AvailableVideo Rates Manually select

1750kb/s

Competing flow throughput is brought downVideo Flow

Throughput

Page 15: The Tension Between  High Video  Rate and  No  Rebuffering

15

Not Just One Service’s Problem

• This happens in all the three services we measured– Hulu, Netflix and Vudu

Video Rate

Video Rate

Page 16: The Tension Between  High Video  Rate and  No  Rebuffering

16

The Problem

Why?

It picks a video rate that is much too low

Video client ends up with much less throughput than its fair share

Page 17: The Tension Between  High Video  Rate and  No  Rebuffering

17

The Rate Selection Process

Initialvideo rate

Video rate for the next video segment

CapacityestimationDownload

& measure Pick a rate

What goes wrong?

Page 18: The Tension Between  High Video  Rate and  No  Rebuffering

18

TCP Throughput of the Video Flow

Playout Buffer is Full

TCP Throughput

OFF Period: 1-2 seconds

Page 19: The Tension Between  High Video  Rate and  No  Rebuffering

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

50% of the segments get < 1.8Mb/s(Fair Share is 2.5Mb/s)

Page 20: The Tension Between  High Video  Rate and  No  Rebuffering

20

The Rate Selection Process

Capacityestimation

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

Initialvideo rate

Page 21: The Tension Between  High Video  Rate and  No  Rebuffering

Conservative Rate Selection

Available BW

Video Rate

21

If 1.8Mb/s BW is perceived,the client switches down to1050kb/s video rate

Page 22: The Tension Between  High Video  Rate and  No  Rebuffering

22

The Rate Selection Process

Capacityestimation

Download& measure

Pick a rateUnderestimation

Conservatively

Is there any consequence of being conservative?

Initialvideo rate

Video rate for the next video segment

Page 23: The Tension Between  High Video  Rate and  No  Rebuffering

23

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

Page 24: The Tension Between  High Video  Rate and  No  Rebuffering

24

Lower video rate leads to further bandwidth underestimation

Lowest Video Rate

Highest Video Rate

Page 25: The Tension Between  High Video  Rate and  No  Rebuffering

25

The Rate Selection Process

Capacityestimation

Download& measure

Pick a rateUnderestimation

Conservatively

Request for a smaller segment

Further

Video rate for the next video segment

Initialvideo rate

Page 26: The Tension Between  High Video  Rate and  No  Rebuffering

26

The Complete Story

Video QualityCapacity Underestimation

Conservatism

Further Underestimation

Being conservative can trigger a vicious cycle!

Page 27: The Tension Between  High Video  Rate and  No  Rebuffering

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

Page 28: The Tension Between  High Video  Rate and  No  Rebuffering

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

Page 29: The Tension Between  High Video  Rate and  No  Rebuffering

29

Page 30: The Tension Between  High Video  Rate and  No  Rebuffering

30

What happened?

Page 31: The Tension Between  High Video  Rate and  No  Rebuffering

31

What happened?

AvailableVideo Rates

Page 32: The Tension Between  High Video  Rate and  No  Rebuffering

32

What happened? – Cont.

AvailableVideo Rates

Video Rate

Page 33: The Tension Between  High Video  Rate and  No  Rebuffering

What happened? – Cont.

AvailableVideo Rates

Buffer Level

Page 34: The Tension Between  High Video  Rate and  No  Rebuffering

What happened? – Cont.Start Playing Again

AvailableVideo Rates

Video RateBuffer Level

Rebuffer!

Rate Adapted.

Not low enough!Not fast enough!

Page 35: The Tension Between  High Video  Rate and  No  Rebuffering

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

Rebuffer!

Page 36: The Tension Between  High Video  Rate and  No  Rebuffering

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

Why the tension exists?

Page 37: The Tension Between  High Video  Rate and  No  Rebuffering

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

Page 38: The Tension Between  High Video  Rate and  No  Rebuffering

What if….

Pick the video rate based on something we know:

The Playout Buffer

Can we break the tension?

Page 39: The Tension Between  High Video  Rate and  No  Rebuffering

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

Page 40: The Tension Between  High Video  Rate and  No  Rebuffering

40

Goal #2: Avoid Rebuffers

BufferRmin

Rmax

when Buffer → 0

Video Rate → Rmin (min video rate)

As long as Capacity > Rmin, Buffer will grow.

Never Unnecessarily Rebuffer!

Page 41: The Tension Between  High Video  Rate and  No  Rebuffering

42

Break the Tension – Goal #1 & #2

Rate

BufferRmin

Rmax

Rebuffer Avoided!

Highest Video Rate Achieved!

Page 42: The Tension Between  High Video  Rate and  No  Rebuffering

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“Downton Abbey without the Hiccups: Buffer-Based Rate Adaptation for HTTP Video Streaming”. SIGCOMM FhMN Workshop, Aug. 16th, 2013

Page 43: The Tension Between  High Video  Rate and  No  Rebuffering

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