- Author:
Junchen Jiang
(CMU,Computer Science at The University of Chicago AP) Thesis, Research Statement
研究陈述:
“eyeball economy”由视频流和VoIP等应用主导,维持高用户感知的QoE(体验质量)对于确保高用户参与度至关重要。最近的研究表明,即使是一次短暂的缓冲中断也会减少巨大的用户使用时间。大多处理视频流的算法,要么需要昂贵的 重新构建网络 核心,要么基于有限的网络知识构建基于端点协议。
作者发现,使用数据驱动的方法,可以对于百万的客户端的反应实时的观察,并以此来改善Internet QoE。在网络中应用数据驱动方法有以下两个基本挑战:
1.需要表达模型来捕捉影响QoE的复杂因素
2.需要可扩展的平台,以使用来自地理分布式客户端的新数据进行实时决策。
作者通过在网络应用程序中使用ML算法;集成多个特定领域的独特见解,来解决这些挑战。与使用现成的机器学习解决方案相比,能够实现更高的QoE。
论文工作:
我的论文工作表明QoE可以从应用数据驱动的方法中获益 - 通过从全球数百万个端点的性能视图实时学习最佳客户端配置,可以改善QoE。本节介绍了三个系统,每个系统都解决了实现这一想法的关键算法。
1. CFA: Improving QoE via Expressive Prediction Models.
通过基于网络条件的实时全局视图动态选择最佳CDN(内容传递网络)和比特率,有很大的空间来改善视频QoE。挑战在于该预测系统必须
(a)表达足以捕获视频质量和观察到的会话特征之间的复杂关系,
(b)能够近乎实时地更新质量预测。
我们使用了几种现成的机器学习技术,例如随机森林和SVM,但发现它们没有产生预期的QoE改进,因为这些算法的长期历史数据太粗糙,无法捕捉视频质量的动态虽然短期历史数据不足以使算法学习视频质量和观察到的会话特征之间的复杂关系。
我的解决方案CFA利用了持久关键性特征的领域洞察力;每个视频会话都有一小部分关键功能,最终决定了它的视频质量。这种洞察力使我们能够从长期历史数据中学习复杂的预测模型(从而表达视频质量和会话特征之间的复杂关系),并通过近实时的短期历史数据更新模型(从而捕获波动)。现实世界的试验部署表明,CFA可以带来视频质量的重大改进。 Conviva已经部署并使用了CFA的端到端实施,该公司为许多优质内容提供商提供视频质量优化服务。
持久性关键特征对结果的预测至关重要这一个点对于很多任务都是普遍的。例如,我对TCP吞吐量的准确预测应用了相同的原则,这导致比最先进的自适应比特率播放器(例如,Netflix播放器)高11%的视频比特率,且没有额外的缓冲。
2.Pytheas: Improving QoE via Exploration and Exploitation at Scale.
虽然将数据驱动的QoE优化作为预测问题制定已经显示出有希望的QoE改进(例如,CFA),但它必然是不完整的,因为它遭受许多已知的偏差,例如不完全可见性,并且不能应对诸如拥挤的突然变化。
类比机器学习(广告推荐)的算法,我认为数据驱动的QoE优化应该被转换为 E2:实时探索和开发过程。可以通过(勘探)的方法,以便用较少的数据来做决策,从而解决基于预测的问题点。
这个新的构建是对CFA的补充,因为CFA的预测模型可以捕捉客户之间的相似性。虽然有许多探索和开发算法可用,但在网络中启用这些算法会带来 架构挑战:需要一个可扩展的控制平台来使用来自客户端的全新数据来更新决策。基线方法是使用来自前端集群的全局数据在单个后端集群中运行控制逻辑,但这种方法会导致全局数据的陈旧和次优决策。
我采取另一种方法;控制逻辑由具有新数据的地理分布式前端集群运行,而不是后端集群。由于表现出类似QoE行为的客户端将具有类似的网络级特征(例如,相同的IP前缀),因此它们的新数据可能由相同的前端集群收集。受这种洞察力启发,Pytheas [2]使用基于组的探索和利用的概念,将全球勘探和开发过程分解为子过程,每个子过程控制一组类似的客户并在具有这些客户端的前端集群中运行新数据。使用CloudLab中的端到端实现,我展示了与最先进的基于预测的系统相比,Pytheas将平均视频QoE提高了31%,将第90百分位QoE提高了78%。
Pytheas是一个开源项目,使应用程序提供商能够在其现有基础架构中大规模部署这一新架构。
3.VIA: Improving QoE in the Face of Large Decision Spaces.
在第一次关于网络电话质量的大规模研究中,我发现很大一部分Skype呼叫遭受网络性能不佳的影响,并且通过微软云中的最佳中继集群路由,有很大的提升Skype质量的空间。然而,由于可能的中继路径(数百个)及其动态性能(可能在分钟的时间尺度上发生变化),在实践中识别接近最佳的中继是非常具有挑战性的。;基于预测的方法(例如,CFA)和基于探索和利用的方法(例如,Pytheas)都不足以处理这样大的决策空间。
解决这一挑战的关键方法是,对于每对呼叫者ISP和被呼叫者ISP,有一个小而稳定的中继子集,几乎总是包含最佳中继。这种见解有两个含义:
(1)因为这个继电器子集是稳定的,它可以从历史中学习;
(2)因为该子集只有少量继电器(少于5个),即使数据有限,也可以有效地进行探索。受这些直觉的启发,我开发了VIA,这是一种使用引导探索概念实现接近最佳质量的继电器选择系统。
与当今的Skype质量相比,VIA将呼叫网络状况不佳的发生率降低了45%,VIA已经在真正的Skype用户的Microsoft内部部署中使用,并且正在完全部署。微软还使用VIA来识别Skype质量所在的国家和ISP。
未来研究:
作者认为在未来,数据驱动的学习方案在网络方向会有巨大的应用场景。使用“pulls”(高QoE/表现需求)以及”科技的推动“。我的未来科研会探索数据驱动范畴和网络领域的以下三个应用场景:
1. Rethinking Classic Problems in Networking.
data-driven的机器学习方法鼓励重新思考网络中的许多经典问题以及启用新服务。
重新考虑拥塞适应:
随着互联网变得越来越复杂,传输协议(例如,TCP)和应用(例如,Facebook Live)越来越难以实时适应网络状况和资源可用性的变化。我相信data-driven技术提供了一种很有前景的新方法。考虑TCP;我设想了一种新服务,它聚合类似TCP连接的实时性能,并预测TCP连接不会遇到拥塞丢失的最大窗口大小。与许多最先进的技术相比,这项服务可能会带来更好的TCP性能,因为它几乎不需要主动探测,可以近乎实时地训练逻辑,而不是离线。在我之前的CS2P工作中已经证明了这种方法的早期承诺,它可以使用类似HTTP会话的信息准确预测HTTP吞吐量,并且CS2P可能会扩展到从HTTP吞吐量预测推断出最佳窗口大小。
实时互联网流量图:
许多互联网服务可以从可以预测任何网络路径的性能(例如,可用带宽)的流量图服务中受益,但是先前对这种服务的努力遭受高探测开销或显着性数据陈旧性的限制。幸运的是,视频流等应用的被动测量为这种服务提供了新的推动因素,因为它们可以从数百万个有利位置实时测量网络状态,而不会产生任何探测开销!我之前的工作表明,通过将视频质量映射到简单网络,可以预测粗粒度性能指标(例如,ISP之间的RTT)将这些映射扩展到预测细粒度(例如,链接级别)度量提供了有趣的下一步骤。用于网络的自定义数据分析堆栈。
2. Custom data analytics stack for networking.
用于网络的自定义数据分析堆栈。虽然数据驱动技术可以应用于许多问题,但这些应用程序存在一些共同的挑战。
- 首先,尽管使用通用技术来分析网络数据很有吸引力,但必须考虑网络特定的知识以避免不良后果;例如,为了优化整体性能,ESPN可能使用小型ISP来使用次优CDN,并让用户使用最佳CDN,导致反向网络中立性违规,其中内容提供商歧视ISP!
- 其次,还需要利用特定于应用程序的弹性;例如,为了在不影响质量的情况下探测最佳和次优服务器,视频播放器可以使用最佳服务器来获取大多数内容,但是当缓冲器已满时使用次优服务器。虽然如果能够以系统的方式利用这些特定于网络/应用程序的机会,数据驱动方法将获得更多好处,
但遗憾的是,很少有正式方法将它们与现有的“黑盒”算法集成。为了最好地利用各种网络/应用程序特定的机会,我设想了一个基于现有分析堆栈(例如Spark)构建的网络的自定义数据分析堆栈,它提供表达网络/应用程序概念(例如,会话)和要求的抽象。
3. Experience-oriented network architecture.
面向体验的网络架构。到目前为止,我的工作主要在单一服务提供商的范围内,我认为通过将更多服务提供商带入循环来提高应用程序QoE的空间更大。
这些提供商可以是ISP,CDN和云服务,其收入均是由高QoE驱动的,尽管是间接的。
遗憾的是,在今天的联邦互联网结构中,出现了许多问题,因为每个服务提供商几乎无法了解其session的QoE或其他人做出的决策。例如,ESPN客户端使用基于HTTP的比特率自适应视频播放器,它可以选择CDN(例如,Akamai和Limelight)和比特率,并且在许多情况下这些播放器表现不佳,因为ESPN无法知道瓶颈链接是否位于边缘ISP (例如,Comcast)或CDN服务器(例如,Akamai)
现在,如果Comcast与ESPN分享其他信息,这些信息将Concast的瓶颈归咎于Akamai,那么可以通过降低比特率来对ISP拥塞作出反应,而不是盲目地在Akamai和Limelight之间切换。
基于这种直觉和我早期的工作。我认为基本问题在于服务提供商之间有限的接口,并且需要一种原则性的方法来重新设计这些接口并考虑明确的QoE优化。我设想了一种面向体验的网络架构(EONA),其中服务提供商共享QoE信息和关键配置变化,以便以协调的方式优化用户感知的QoE,同时仍然保持联合结构。可以在不改变数据/控制平面协议的情况下实现EONA;相反,它在服务提供商的“控制器”之间增加了新的接口(例如,SDN控制器,云协调器或全局视频控制平面)。尽管EONA具有潜力,但仍有许多开放式问题:如何激励EONA吸引服务提供商?什么是必须共享的最小信息集?如何在提供商之间共享数据时保护隐私。
过去几年见证了数据驱动的算法在计算的各个方面系统研究的进步(云计算,MapReduce等)。现在,我认为好处可以向相反的方向发展,我很高兴能够探索通过数据驱动的方式改进分布式系统的可能性。