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