Reading notes by Yu Guan: Pytheas


Posted by 关宇

Pytheas: Enabling Data-Driven Quality of Experience Optimization Using Group-Based Exploration-Exploitation


increasing trend toward the adoption of data-driven approaches to optimize application-level QoE. At a high level, these approaches use the observed QoE of recent application sessions to proactively improve the QoE for future sessions.

Related works and their problems

At present, all data-driven approaches of optimizing QoE is prediction based. They use passive measurements from application sessions to periodically update a prediction model.

Problem 1: Prediction bias

Because the input measurement data are based on previous set of best decisions, we will not have a reliable way to estimate the potential quality improvements of other decisions in the future.

Problem 2: Slow reaction

today’s prediction-based systems update quality predictions periodically on coarse timescales. They cannot quickly adapt to changes in operating conditions which can cause model drifts.


Motivation—— Exploration-Exploitation based QoE optimization

Exploration-Exploitation (E2) model is a framework where decisions are updated in concert with measurement col- lection in real time. So E2 can solve the above 2 problems. However, Applying E2 faces 2 major challenges.

Challenge 1:

Traditional E2 techniques need fresh measurements of all sessions, but getting such a fresh and global view is challenging.


Challenge 2:

Traditional E2 techniques also make strong assumptions about the context that affects the reward of a decisions, but they may not hold in network settings.


Pytheas——a practical E2 based QoE optimization

“network context” of application sessions is often aligned with their “network locality”. if two sessions share the context that determines their E2 decisions, they will be likely to match on some network-specific features.

So we can map the sessions in the same geographical region to a same cluster, so that we can do E2 in each group separately.

So Pytheas consists of 2 key modules: session grouping and per group E2.

Session grouping——critical features (we have been very familiar with this algorithm from previous works of Junchen Jiang)

Per group E2 ——UCB (we are also very familiar with this)



Session grouping: backend

Per group E2: Frontend