oboe auto tuning video abr algorithms to network
play

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


  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

  2. Internet Video Streaming Today ● Internet video is delivered over: ○ Heterogeneous networks: WiFi, wired, 3G/4G LTE ○ Highly varying or challenging network conditions 2

  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

  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

  5. Background: Adaptive Bitrate Streaming Bitrates Video Time A video clip is encoded with multiple qualities (bitrates) 5

  6. Background: Adaptive Bitrate Streaming Bitrates Bitrates Video Time Time Each bitrate is split into chunks 6

  7. Background: Adaptive Bitrate Streaming Bitrates Video Client Conditions Network Time Video Server Request n th chunk at bitrate r Time 7

  8. Background: Adaptive Bitrate Streaming Bitrates Video Client Conditions Network Time Video Server Request n th chunk at bitrate r Time 8

  9. Background: Adaptive Bitrate Streaming Bitrates Video Client Conditions Network Time Video Server Request n th chunk at bitrate r Time 9

  10. Background: Adaptive Bitrate Streaming Bitrates Video Client Conditions Network Time Video Server Request n th chunk at bitrate r Time Adaptive Bitrate Algorithms(ABR) 10

  11. Background: Adaptive Bitrate Streaming Too conservative Low quality ABR algorithms Too aggressive Rebuffering 11

  12. Background: ABR algorithms Data-Learned Adaptations (e.g., Pensieve [1] ) ABR algorithms Designed Adaptations (e.g., MPC [2] , BOLA [3] , HYB [4] , BB [5] ) Performance of Designed Adaptation based ABRs critically depends on configurable parameters [1] Hongzi Mao, et al., SIGCOMM, 2017. [2] Xiaoqi Yin, et al., SIGCOMM, 2015. [3] Kevin Spiteri, et al., INFOCOM, 2016. 12 [4] An ABR algorithm that’s widely used in industry. [5] Te-Yuan Huang, et al., SIGCOMM, 2014.

  13. Parameters are sensitive to network conditions 13

  14. Parameters are sensitive to network conditions Network Condition A Network Condition A Network Condition B 14

  15. Parameters are sensitive to network conditions Network Condition A Network Condition A Widely deployed ABR algorithm with parameter ! Network Condition B 15

  16. Parameters are sensitive to network conditions 16

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

  18. The problem with ABR algorithms ABR algorithms Parameter MPC Discount factor d ABR algorithms use Parameter ! BOLA fixed parameter value Safety margin " HYB or simple heuristic BB Reservoir r 18

  19. The problem with ABR algorithms ABR algorithms Parameter MPC Discount factor d ABR algorithms use Parameter ! BOLA fixed parameter value Safety margin " HYB or simple heuristic BB Reservoir r Do not perform well across all network conditions 19

  20. Goal of our work Design a system to make ABR algorithms work better over a wide range of network conditions 20

  21. Key Challenges How to model network conditions? How to find the best parameter for a given condition? How to adapt to changes in network conditions? 21

  22. Contributions How to model network conditions? ● Leverage stationarity of network connections How to find the best parameter for a given condition? ● Pre-compute offline How to adapt to changes in network conditions? ● Detect change points online and adjust parameters 22

  23. Contributions How to model network conditions? ● Leveraging stationarity of network connections Our system, Oboe improves How to find the best parameter for a given condition? state-of-art ABRs (MPC, BOLA and HYB) upto 38% ● Pre-computing in offline and outperforms Pensieve by 24% How to adapt to changes in network condition change? ● Online change point detection and adjusting ABR algorithms in online 23

  24. Key Challenges How to model network conditions? How to find the best parameter for a given condition? ● Oboe Offline Stage How to adapt to changes in network conditions? ● Oboe Online Stage 24

  25. Modeling network conditions TCP connection throughput stationary segment can be modeled as a stationary piecewise stationary [6-10] segment sequence of network states [6] Hari Balakrishnan, et. al. SIGMETRICS, 1997 [7] James Jobin, et. al. INFOCOM, 2004 [8] Dong Lu, et. al. ICDCS, 2005 25 [9] Guillaume Urvoy-Keller. PAM, 2005. [10] Yin Zhang, et al. IM, 2001

  26. Modeling network conditions Network state s = < ! s , " s > < ! 2 , " 2 > where ! s is the mean and " s is the standard deviation of throughput < ! 1 , " 1 > 26

  27. Modeling network conditions Network state s = < ! s , " s > < ! 2 , " 2 > where ! s is the mean and " s is the standard deviation of throughput < ! 1 , " 1 > Key idea : Use the best parameter for each network state 27

  28. Key Challenges How to model network conditions? How to find the best parameter for each network state? ● Oboe Offline Stage How to adapt to changes in network state? ● Oboe Online Stage 28

  29. Finding the best parameter : Oboe Offline Step 1 < ! 1 , " 1 > < ! 2 , " 2 > ... ... Generate synthetic stationary traces for each network state 29

  30. Finding the best parameter : Oboe Offline Step 2 ABR with Virtual Player param. # < ! 1 , " 1 > < ! 2 , " 2 > ... ... Explore parameter space for each state and get QoE vectors 30

  31. Finding the best parameter : Oboe Offline Step 2 ABR with Virtual Player param. # # =0.3 ... Param # =0.1 # =0.2 < ! 1 , " 1 > ... QoE # =0.3 ... Param # =0.1 # =0.2 < ! 2 , " 2 > ... QoE ... ... ... Explore parameter space for each state and get QoE vectors 31

  32. Finding the best parameter : Oboe Offline Step 2 ABR with Virtual Player param. # # =0.3 ... Param # =0.1 # =0.2 < ! 1 , " 1 > <3.2, 0%> <3.8, 0%> <4.0, 2%> ... QoE # =0.3 ... Param # =0.1 # =0.2 < ! 2 , " 2 > <1.7, 0%> <2.0, 2%> <3.2, 5%> ... QoE ... ... ... Explore parameter space for each state and get QoE vectors 32

  33. Finding the best parameter : Oboe Offline Step 3 ABR with Mapping Virtual Player param. ! ! =0.3 ... Param ! =0.1 ! =0.2 Network Best State Param. < " 1 , # 1 > <3.2, 0%> <3.8, 0%> <4.0, 2%> ... QoE Best ! =0.2 < " 1 , # 1 > ! =0.3 ... Param ! =0.1 ! =0.2 ! =0.1 < " 2 , # 2 > < " 2 , # 2 > <1.7, 0%> <2.0, 2%> <3.2, 5%> ... QoE Best ... ... ... ... ... Find the best parameter by vector dominance for each state 33

  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

  35. Key Challenges How to model network conditions? How to find the best parameter for each network state? ● Oboe Offline Stage How to adapt to changes in network state? ● Oboe Online Stage 35

  36. Adapting to network state changes < ! 2 , " 2 > < ! 2 , < ! 1 , " 1 > " 2 > Online change point detection [11] algorithm identifies network throughput distribution changes in real time 36 [11] Ryan Prescott Adams and David JC MacKay. Bayesian Online Changepoint Detection. In arXiv:0710.3742v1, 2007

  37. Adapting to network state changes : Online Step 1 < ! 2 , " 2 > < ! 2 , < ! 1 , " 1 > " 2 > Change detected Online change point detection [11] algorithm identifies network throughput distribution changes in real time 37 [11] Ryan Prescott Adams and David JC MacKay. Bayesian Online Changepoint Detection. In arXiv:0710.3742v1, 2007

  38. Adapting to network state changes : Online Step 2 Mapping < ! 2 , " 2 > Network Best < ! 2 , State Param. < ! 1 , " 1 > " 2 > # =0.2 < ! 1 , " 1 > Change detected # =0.1 < ! 2 , " 2 > ... ... Find the best parameter from the mapping for a new state 38

  39. Adapting to network state changes : Online Step 3 Mapping ABR algorithm < ! 2 , " 2 > parameter Network Best < ! 2 , State Param. < ! 1 , " 1 > " 2 > # =0.2 < ! 1 , " 1 > Change # =0.2 # =0.1 detected # =0.1 < ! 2 , " 2 > ... ... Reconfigure ABR algorithm parameter 39

  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

Recommend


More recommend