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 Streaming Today ● Internet video is delivered over: ○ Heterogeneous networks: WiFi, wired, 3G/4G LTE ○ Highly varying or challenging network conditions 2
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
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
Background: Adaptive Bitrate Streaming Bitrates Video Time A video clip is encoded with multiple qualities (bitrates) 5
Background: Adaptive Bitrate Streaming Bitrates Bitrates Video Time Time Each bitrate is split into chunks 6
Background: Adaptive Bitrate Streaming Bitrates Video Client Conditions Network Time Video Server Request n th chunk at bitrate r Time 7
Background: Adaptive Bitrate Streaming Bitrates Video Client Conditions Network Time Video Server Request n th chunk at bitrate r Time 8
Background: Adaptive Bitrate Streaming Bitrates Video Client Conditions Network Time Video Server Request n th chunk at bitrate r Time 9
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
Background: Adaptive Bitrate Streaming Too conservative Low quality ABR algorithms Too aggressive Rebuffering 11
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.
Parameters are sensitive to network conditions 13
Parameters are sensitive to network conditions Network Condition A Network Condition A Network Condition B 14
Parameters are sensitive to network conditions Network Condition A Network Condition A Widely deployed ABR algorithm with parameter ! Network Condition B 15
Parameters are sensitive to network conditions 16
Parameters are sensitive to network conditions Parameters of ABRs must be set in a manner sensitive to network conditions 17
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
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
Goal of our work Design a system to make ABR algorithms work better over a wide range of network conditions 20
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
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
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
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
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
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
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
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
Finding the best parameter : Oboe Offline Step 1 < ! 1 , " 1 > < ! 2 , " 2 > ... ... Generate synthetic stationary traces for each network state 29
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
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
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
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
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
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
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
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
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
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
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