Overview
Video streaming dominates internet traffic
Adaptive bitrate (ABR) is a key algorithm to optimize user's quality of experiences (QoE)
Decides the quality level of each video chunk to send
Primary goals: higher video quality, fewer stalls
Larger chunk: increase video quality, but can stall the video playback
Prior works:
Buffer-based: pick bitrate based on buffer occupancy
BBA [SIGCOMM '14]: simple buffer based ABR algorithm. Select video bitrate based only on user's playback buffer: below some buffer level, selects the lowest bitrate; above, select the highest one. In-between, linear function
Rate-based: pick bitrate based on predicted throughput
FESTIVE, PANDA, CS2P
Hybrid: use both throughput prediction and buffer occupancy
MPC [SIGCOMM '15]: model predictive control, uses harmonic mean of past throughput to predict future throughput, scale the predictive throughput linearly with the chunk size
Not good at throughput
Predicting throughput actually varying with chunk size due to congestion control and varying bandwidth
Network congestion occurs when a node or link carries data beyond its limit. This often leads to the queuing of packets—and in the worst case, loss of packets—as well as a decrease in the network’s Quality of Service (QoS). Congestion Control is a mechanism that controls the entry of data packets into the network, enabling a better use of a shared network infrastructure and avoiding congestive collapse.
Machine learning to tackle this problem
Pensieve [SIGCOMM '17]
Reinforcement learning to learn an end-to-end ABR control
States: past chunk throughput, download time, next chunk size, current buffer size, remaining chunks, past chunk bit rate
Reward: bitrate, rebuffering, smoothness
Requires network simulators as training environments, assume training in simulation generalizes to wild Internet
Requires a set of training environments that can exercise a control policy through a range of situations and actions
Fugu [NSDI '20]
Based on model predictive control
Transmission time predictor (TTP) (NN): how long it will take for a client to receive a given chunk
Input: size and transmission time, size of chunk, low-level TCP statistics (RTT, SWND)
Output: probability distribution over transmission time
Training in situ: supervised learning in situ on real data from deployment environment
SENSEI [NSDI 21']: incorporate variability of quality sensitivity using sensitivity weights obtained via per-video crowdsourcing (quality sensitivity varies as video content changes)
Other works: machine-centric video streaming
Maximizes for DNN inference accuracy
Most: source-driven approach, but suboptimal for analytics-oriented applications
DNN-Driven approach [Server-Driven Video Streaming for Deep Learning Inference [SIGCOMM 20']]: sends low-quality video stream to the server, the server runs the DNN to determine where to re-send with higher quality to increase the inference accuracy
Other works: continuous learning of video analytics models on edge compute servers
In each retraining window, decide which of the edge models to train; allocate edge server's GPU resources among the retraining and inference jobs; select configurations of the retraining and inference jobs
Maximize the inference accuracy averaged over the retrained window
Contributions: introduce the metric, design efficient profiler, resource scheduler
What does it take to create a learned ABR algorithm that robustly performs well over the wild internet?
Last updated
Was this helpful?