Oboe: Auto-tuning Video ABR Algorithms to Network Conditions Zahaib - - PowerPoint PPT Presentation

oboe auto tuning video abr algorithms to network
SMART_READER_LITE
LIVE PREVIEW

Oboe: Auto-tuning Video ABR Algorithms to Network Conditions Zahaib - - PowerPoint PPT Presentation

Oboe: Auto-tuning Video ABR Algorithms to Network Conditions Zahaib Akhtar , Yun Seong Nam , Ramesh Govindan, Sanjay Rao, Jessica Chen, Ethan Katz-Bassett, Bruno Ribeiro, Jibin Zhan, Hui Zhang : Co-primary authors 1 Internet Video


slide-1
SLIDE 1

Oboe: Auto-tuning Video ABR Algorithms to Network Conditions

Zahaib Akhtar★, Yun Seong Nam★, Ramesh Govindan, Sanjay Rao, Jessica Chen, Ethan Katz-Bassett, Bruno Ribeiro, Jibin Zhan, Hui Zhang ★: Co-primary authors

1

slide-2
SLIDE 2

Internet Video Streaming Today

  • Internet video is delivered over:

○ Heterogeneous networks: WiFi, wired, 3G/4G LTE ○ Highly varying or challenging network conditions

2

slide-3
SLIDE 3

Internet Video Streaming Today

  • Internet video is delivered over:

○ Heterogeneous networks: WiFi, wired, 3G/4G LTE ○ Highly varying or challenging network conditions

  • Quality of experience (QoE) issues are common place

Low quality Rebuffering

3

slide-4
SLIDE 4

Internet Video Streaming Today

  • Internet video is delivered over:

○ Heterogeneous networks: WiFi, wired, 3G/4G LTE ○ Highly varying or challenging network conditions

  • Quality of experience (QoE) issues are common place

Low quality Rebuffering

Low QoE adversely impacts user engagement and revenue

4

slide-5
SLIDE 5

Background: Adaptive Bitrate Streaming

5

Video Bitrates Time

A video clip is encoded with multiple qualities (bitrates)

slide-6
SLIDE 6

Background: Adaptive Bitrate Streaming

6

Video Bitrates Time Bitrates Time

Each bitrate is split into chunks

slide-7
SLIDE 7

Background: Adaptive Bitrate Streaming

Video Client Video Server

7

Request nth chunk at bitrate r Bitrates Time Network Conditions Time

slide-8
SLIDE 8

Background: Adaptive Bitrate Streaming

Video Client Video Server

8

Request nth chunk at bitrate r Bitrates Time Network Conditions Time

slide-9
SLIDE 9

Background: Adaptive Bitrate Streaming

Video Client Video Server

9

Request nth chunk at bitrate r Bitrates Time Network Conditions Time

slide-10
SLIDE 10

Background: Adaptive Bitrate Streaming

Video Client Video Server

10

Request nth chunk at bitrate r

Adaptive Bitrate Algorithms(ABR)

Bitrates Time Network Conditions Time

slide-11
SLIDE 11

Background: Adaptive Bitrate Streaming

11

ABR algorithms Too aggressive Too conservative

Low quality Rebuffering

slide-12
SLIDE 12

Background: ABR algorithms

12

Performance of Designed Adaptation based ABRs critically depends on configurable parameters

ABR algorithms Designed Adaptations

(e.g., MPC[2], BOLA[3], HYB[4], BB[5])

Data-Learned Adaptations

(e.g., Pensieve[1])

[1] Hongzi Mao, et al., SIGCOMM, 2017. [2] Xiaoqi Yin, et al., SIGCOMM, 2015. [3] Kevin Spiteri, et al., INFOCOM, 2016. [4] An ABR algorithm that’s widely used in industry. [5] Te-Yuan Huang, et al., SIGCOMM, 2014.

slide-13
SLIDE 13

Parameters are sensitive to network conditions

13

slide-14
SLIDE 14

Parameters are sensitive to network conditions

14

Network Condition A Network Condition B Network Condition A

slide-15
SLIDE 15

Parameters are sensitive to network conditions

15

Network Condition A Network Condition B Network Condition A

Widely deployed ABR algorithm with parameter !

slide-16
SLIDE 16

Parameters are sensitive to network conditions

16

slide-17
SLIDE 17

Parameters are sensitive to network conditions

17

Parameters of ABRs must be set in a manner sensitive to network conditions

slide-18
SLIDE 18

The problem with ABR algorithms

18

ABR algorithms Parameter MPC Discount factor d BOLA Parameter ! HYB Safety margin " BB Reservoir r

ABR algorithms use fixed parameter value

  • r simple heuristic
slide-19
SLIDE 19

The problem with ABR algorithms

19

ABR algorithms Parameter MPC Discount factor d BOLA Parameter ! HYB Safety margin " BB Reservoir r

Do not perform well across all network conditions

ABR algorithms use fixed parameter value

  • r simple heuristic
slide-20
SLIDE 20

Goal of our work

20

Design a system to make ABR algorithms work better over a wide range of network conditions

slide-21
SLIDE 21

Key Challenges

How to model network conditions?

21

How to find the best parameter for a given condition? How to adapt to changes in network conditions?

slide-22
SLIDE 22

Contributions

How to model network conditions?

22

How to find the best parameter for a given condition? How to adapt to changes in network conditions?

  • Leverage stationarity of network connections
  • Pre-compute offline
  • Detect change points online and adjust parameters
slide-23
SLIDE 23

Contributions

How to model network conditions?

23

How to find the best parameter for a given condition? How to adapt to changes in network condition change?

  • Leveraging stationarity of network connections
  • Pre-computing in offline
  • Online change point detection and adjusting ABR

algorithms in online

Our system, Oboe improves state-of-art ABRs (MPC, BOLA and HYB) upto 38% and outperforms Pensieve by 24%

slide-24
SLIDE 24

Key Challenges

How to model network conditions?

24

How to find the best parameter for a given condition? How to adapt to changes in network conditions?

  • Oboe Offline Stage
  • Oboe Online Stage
slide-25
SLIDE 25

Modeling network conditions

TCP connection throughput can be modeled as a piecewise stationary[6-10] sequence of network states

25

stationary segment stationary segment

[6] Hari Balakrishnan, et. al. SIGMETRICS, 1997 [7] James Jobin, et. al. INFOCOM, 2004 [8] Dong Lu, et. al. ICDCS, 2005 [9] Guillaume Urvoy-Keller. PAM, 2005. [10] Yin Zhang, et al. IM, 2001

slide-26
SLIDE 26

Modeling network conditions

26

<!1, "1> <!2, "2>

Network state s = <!s, "s> where !s is the mean and "s is the

standard deviation of throughput

slide-27
SLIDE 27

Modeling network conditions

27

<!1, "1> <!2, "2>

Network state s = <!s, "s> where !s is the mean and "s is the

standard deviation of throughput

Key idea : Use the best parameter for each network state

slide-28
SLIDE 28

Key Challenges

How to model network conditions?

28

How to find the best parameter for each network state? How to adapt to changes in network state?

  • Oboe Offline Stage
  • Oboe Online Stage
slide-29
SLIDE 29

Finding the best parameter : Oboe Offline Step 1

29

Generate synthetic stationary traces for each network state <!1, "1> <!2, "2>

... ...

slide-30
SLIDE 30

Finding the best parameter : Oboe Offline Step 2

30

<!1, "1> <!2, "2>

... ...

Virtual Player ABR with

  • param. #

Explore parameter space for each state and get QoE vectors

slide-31
SLIDE 31

Finding the best parameter : Oboe Offline Step 2

31

<!1, "1> <!2, "2>

... ... ...

Virtual Player ABR with

  • param. #

Explore parameter space for each state and get QoE vectors

Param #=0.1 #=0.2 #=0.3 ... QoE

...

Param #=0.1 #=0.2 #=0.3 ... QoE

...

slide-32
SLIDE 32

Finding the best parameter : Oboe Offline Step 2

32

<!1, "1> <!2, "2>

... ...

Param #=0.1 #=0.2 #=0.3 ... QoE

<3.2, 0%> <3.8, 0%> <4.0, 2%> ...

...

Virtual Player ABR with

  • param. #

Param #=0.1 #=0.2 #=0.3 ... QoE

<1.7, 0%> <2.0, 2%> <3.2, 5%> ...

Explore parameter space for each state and get QoE vectors

slide-33
SLIDE 33

Param !=0.1 !=0.2 !=0.3 ... QoE

<3.2, 0%> <3.8, 0%> <4.0, 2%> ...

Param !=0.1 !=0.2 !=0.3 ... QoE

<1.7, 0%> <2.0, 2%> <3.2, 5%> ...

Finding the best parameter : Oboe Offline Step 3

33

<"1, #1> <"2, #2>

... ... ...

Virtual Player ABR with

  • param. !

Find the best parameter by vector dominance for each state

Best Best

Network State Best Param. <"1, #1> !=0.2 <"2, #2> !=0.1 ... ... Mapping

slide-34
SLIDE 34

Oboe Offline Stage: Design Questions

  • Use real or synthetic traces?
  • How to quantize network state space?
  • How to reduce the cost of parameter space exploration?
  • How to decouple ABR algorithms from Virtual Player?
  • How to take publisher preferences into account?

34

slide-35
SLIDE 35

Key Challenges

How to model network conditions?

35

How to find the best parameter for each network state? How to adapt to changes in network state?

  • Oboe Offline Stage
  • Oboe Online Stage
slide-36
SLIDE 36

Adapting to network state changes

36

<!2, "2>

<!1, "1> <!2, "2>

Online change point detection[11] algorithm identifies network throughput distribution changes in real time

[11] Ryan Prescott Adams and David JC MacKay. Bayesian Online Changepoint Detection. In arXiv:0710.3742v1, 2007

slide-37
SLIDE 37

Adapting to network state changes : Online Step 1

37

<!2, "2>

<!1, "1> <!2, "2>

Online change point detection[11] algorithm identifies network throughput distribution changes in real time

[11] Ryan Prescott Adams and David JC MacKay. Bayesian Online Changepoint Detection. In arXiv:0710.3742v1, 2007

Change detected

slide-38
SLIDE 38

Adapting to network state changes : Online Step 2

38

<!2, "2>

<!1, "1> <!2, "2>

Find the best parameter from the mapping for a new state

Network State Best Param. <!1, "1> #=0.2 <!2, "2> #=0.1 ... ... Mapping Change detected

slide-39
SLIDE 39

Adapting to network state changes : Online Step 3

39

<!2, "2>

<!1, "1> <!2, "2>

Reconfigure ABR algorithm parameter

ABR algorithm parameter #=0.1

Network State Best Param. <!1, "1> #=0.2 <!2, "2> #=0.1 ... ... Mapping

#=0.2

Change detected

slide-40
SLIDE 40

Oboe Online Design Questions

  • Why not a simple moving average?
  • How many throughput samples to detect changes?
  • Are computational overheads acceptable in real time?

40

slide-41
SLIDE 41

Evaluation methodology

41

Comparison QoE Metrics

  • Existing ABRs vs. Existing ABRs + Oboe
  • Average Bitrate
  • Rebuffering Ratio
  • Bitrate change magnitude
  • QoE-lin (Linear combination of three metrics)
slide-42
SLIDE 42

Evaluation methodology

42

TestBed Setup Dataset

  • 600 throughput traces from real users
  • Real users used a desktop or a mobile
  • Upto 6 Mbps

Chrome Browser Video Client Apache Video Server Video

  • 3 min long
  • Encoded with 6 bitrates

Video player

  • Dash.js
  • Chrome DevTool API
slide-43
SLIDE 43

Various Evaluations

43

Method Detail ABRs performance MPC, BOLA, BB, HYB and Pensieve Public datasets HSDPA[11] and FCC[12] Various settings Live setting and different videos Alternative predictors Ideal predictors on MPC Publisher specification Different rebuffering tolerance Pilot Deployment Partial deployment on AWS

[11] Haakon Riiser, et. al. MMSys, 2013 [12] Federal Communications Commission. Raw Data 2016

slide-44
SLIDE 44

RobustMPC vs MPC+Oboe

44

Solves an optimization problem to choose bitrates using predicted throughputs and player buffer occupancy Discount factor d

  • Reduces a predicted throughput by d to compensate

prediction errors

  • Simple heuristic based on previous prediction errors
slide-45
SLIDE 45

RobustMPC vs MPC+Oboe

  • Improves QoE-lin for

71% of sessions

  • For 19% of the sessions,

more than 20% benefit

Over

45

slide-46
SLIDE 46

RobustMPC vs MPC+Oboe

  • Improves QoE-lin for

71% of sessions

  • For 19% of the sessions,

more than 20% benefit

Over

46

71%

slide-47
SLIDE 47

RobustMPC vs MPC+Oboe

  • Improves QoE-lin for

71% of sessions

  • For 19% of the sessions,

more than 20% benefit

Over

47

19%

slide-48
SLIDE 48

Where does benefit come from over RobustMPC

Similar average bitrates Reduces the # of sessions with rebuffering from 33% to 5% Improves the median per chunk change magnitude by 38%

48

slide-49
SLIDE 49

Where does benefit come from over RobustMPC

Similar average bitrates Reduces the # of sessions with rebuffering from 33% to 5% Improves the median per chunk change magnitude by 38%

49

5% 33% 38%

Similar

slide-50
SLIDE 50

MPC+Oboe vs Pensieve

Over

50

  • Improves QoE-lin for

80% of sessions

  • 24% better in average

QoE-lin

80%

slide-51
SLIDE 51

Where does benefit come from over Pensieve?

  • Hypothesis : Pensieve performs better when it is trained with a

constrained throughput range

51

Model Trained Tested Result Pen-Specialized 0 - 3 Mbps 0 - 3 Mbps Better Original Pensieve 0 - 6 Mbps

  • Pensieve unable to specialize to network conditions
  • Oboe specializes parameters for every network state
slide-52
SLIDE 52

Summary

Oboe is a system to make ABR algorithms work better in a wide range of network conditions

  • by auto-tuning parameters to current network state

Oboe is general

  • Can be applied to many existing ABRs
  • Improves existing ABRs upto 38% in QoE metrics
  • Outperforms Pensieve by 24% in average QoE
slide-53
SLIDE 53

Live demo tomorrow in the demo session!

https://github.com/USC-NSL/Oboe

Thanks!

53