Pytheas (NSDI 2017) ☀

here for paper

  • Author: Junchen Jiang (CMU,Computer Science at The University of Chicago AP)
  • Video Streaming, real-time


摘要:

优化体验质量(QoE)的许多方法都使用数据驱动机制。他们大多根据最近的Session的QoE结果来做出最佳决策。但是由于以下原因,它们不准确且不完整:(1)遭受许多已知的偏见(2)不能应对突然的变化

作者认为:类比机器学习 ,数据驱动的QoE优化应该着手于 实时探索和利用取代一个预测问题。但是,在网络应用中采用E2会带来架构和算法的双重挑战。

我们提出了Pytheas,这是一个使用基于E2机制解决这些挑战的框架。我们的见解是,可以对共享相同功能的应用程序会话进行分组,以便我们可以按群组粒度运行E2算法。在CloudLab中使用端到端实现和概念验证部署,我们展示了Pytheas改善视频QoE的结果。

引入:

我们观察到一个递增的趋势,基于采取数据驱动的方式来最优化应用层的QoE.这些方根据观察到的最近的session的QoE,来积极改善未来session的QoE。应用包括视频流,网络电话以及网络表现。

现存的框架基本上都是,使用数据驱动的最优化,把这个问题抽象成一个预测问题。正如图中显示的那样.他们使用消极层梁来阶段性的更新预测模型。更新后的预测模型会对于未来的session做出决策并生成最佳的QoE.

以前的结构有2个缺点:

  1. QoE的收集和预测的过程是不同的过程(easily biased)
  2. 预测和决定都是阶段性的更新(延迟)

因此,我们认为数据驱动的优化应该被实时的E2结构替代。需要连续不断得在探索当前最优决策和发现次优决策中做平衡。实际应用有以下两个挑战:

  1. 怎样跑一个实时的E2在数以万计的全球分布式session的新数据上(既要全球数据,又要新数据)
  2. 怎样获取复杂的关系在E2的sessions之间

传统的E2技术假定使用决策。
我们决定使用group-based E2(是因为作者发现了domain-specific的insight:有相同的网络session的两个video会有类似的情况)因此我们E2的方法是基于group的,所以可以在全球的各地集群上部署。用非常famous的E2算法。

我们的实验整合了工业标准的标准数据处理平台—- Spark Kafka 他们提供了界面可以让QoE的评测上升到实时的全球的状态,Cloud-lab video player的结果显示Pytheas效果良好