Reading Notes-A Case for a Coordinated Internet Video Control Plane 郑程元

2018-11-07

Posted by 郑程元

Reading Notes -p358 郑程元

1.文章总览

本文使用一个全局性的视频控制平面来动态调整视频的传输,主要包括比特率和CDN服务商选择,来提供一个更好的视频观看体验。同时本文通过实验证明了,这种视频控制平面能够在平均的负载情况下降低重缓冲率2倍,在重负载情况下降低一个数量级。除此之外,本文还说明了该视频控制平面拥有 非常多隐藏的进步和优势。

本文的主要贡献和方法路线图如下:、

  • 对于传统视频分发网络的缺点的评测方法,并由此引出视频控制平面
  • 使用推理的方法来预测这种视频控制平面的进步空间
  • 证实我们的方法在一个实际可操作的模型下,有很多隐藏的优势

 

2.背景介绍:

近些年视频流量增大, 但是人们对视频流的 需求也逐渐增加。 (促使视频流急剧增长的原因,在于之前传输视频使用的是特殊的服务,例如微软的windows media services,现在可以使用基于HTTP进行视频的传输,这大大提高了视频的可获得性,因为HTTP服务的支持在互联网中是无所不在的)。不过现在网络对视频流传输的支持并不,很多用户遭遇了重新缓冲和断流等现象。对于用户的体验,延迟和总体完成时间在实时的串流视频中影响并不大,更重要的是再缓冲现象少、高比特率,并且我们要在一段时间内一直保持这种状态。

所以只针对视频优化我们需要的做的工作有如下:

  • 我们可以调整什么参数,比特率等。
  • 什么时候进行参数的优化,如视频的开始,或者视频传输中,
  • 谁来选择优化的参数,客户还是服务商。

 

另外一点视频控制平面可以动态调整各种参数来优化用户体验,同时我们可以使用这种参数的调节实现细粒度的控制,例如特定的视频内容只能特定的用户获取。

3.传统视频传输的缺点以及实现视频控制平面的动机:

这里进行的测试数据集很庞大,主要包括两种视频流,一种是直播串流,另外一种是视频点播。产生的数据主要通过用户的播放器进行收集,主要收集的数据包括两方面,一方面为用户当前的网络条件(如ISP服务商、地理位置等),另一方面包括用户的视频观看质量(重缓冲比例、比特率)。

评价传统视频传输以及新视频控制平面性能的指标有:

               平均比特率,重缓冲比例(缓冲时间/缓冲时间+播放时间),启动时间,失败比例,视频开始前退出率

               这里使用了CDF(累计概率函数),来体现各种网络的性能。

首先通过三个CDF图,具体来说是,重缓冲率、启动和平均比特率CDF图来体现视频播放的性能。

然后是两个带宽CDF图(会话内带宽方差,即一个会话内部的带宽,会话间带宽方差,即多个会话间的带宽方法)体现了带宽变化的多样型。

通过这五个CDF图,体现了在传统网络下,当用户拥有低接入时间和高比特率时更容易观看节目,并且会观看节目更久,从而证明,现在的网络离完美还有很远,并且需要进行优化。

同时还发现,没有一个CDN服务商可以提供完美的服务,网络带宽会随着 CDN的位置以及时间发生巨大的变化,同时存在一些性能的波动和时间相关性不大,可能有其他因素影响,例如开大型线上在直播等。

以上这些都证明,我们应该优化传统的视频服务。

该部分的结论:

很多人网络视频体验不好,重缓冲率以及开始延迟高

2.在客户端的带宽变动很大,会话内和会话间

3.CDN提供商随着空间和时间的变化很大,各种衡量标准,需要动态选择适应

4.当流量负载非常大的时候,内容提供者应该需要通过添加一种全局的策略 来保证良好的视频体验,例如限流和为VIP用户提供流量。

4.优化框架

   需要调整的参数:比特率的调整和CDN服务商的选择

   调整的时间: 视频开始时,视频串流中

   谁决定调整参数:用户和服务商

使用视屏控制平面进行服务商选择和内容存放已经有了先例,但是在本文中的视频控制平面中有两点不同。1.使用cross CDN优化,并将其与比特率的整进行结合。2.我们在串流过程中对两个参数进行调整,而不是在视频启动时。

视频控制平面主要包括以下几个方面,1 测量组件,实时监控客户的视频质量2.性能数据库,用来使用历史的测量和当前的测量与预测在当前CDN和比特率的监控下用户的观看视频性能3.全局优化,使用测量的数据和当前的性能来动态决定CDN以及每个人的比特率.

 

评测引擎:通过用户的播放器定时的进行用户视频播放质量数据收集,并收集用户的一些会话信息,包括位置、ISP提供商,这些数据都将对未来的预测产生作用。问题在于选择一个合适的粒度和评测标准,去决定一个合适的频率来发送这些报告.

性能数据库:主要作用是在给定的用户在当前时间如果 选择不同的比特率和CDN会有什么样的性能差别。通过以前的数据和当前的数据结合推理预测用户的视频播放性能。

全局优化:有三大挑战,1 设计一个合理的工具以及政策,例如,过载的时候是限流还是为VIP用户提供更好的服务。2.优化必须够快, 来应对动态变化的网络环境。3必须确保这个优化是稳定的,并且不会有偏见和不稳定。

5.优化框架带来的潜在提升

提出了两个逻辑阶段,分析和推理。

分析和推理使用一堆作者自定义的参数,来进行性能的比较,但是参数的细粒度会导致可用的数据稀少。如果有噪声的预测,那么这样的预测甚至可能不会带来任何的性能提升.

(简单来说就是,限制多了,符合条件的数据少了)

为解决细粒度带来的数据系数,采用了继承的分析和推理

这里使用了幂集来去表示一系列属性的组合,继承就是,当数据足够时,就是用细粒度的数据进行预测,当数据不充分时,就放宽粒度的限制,以获得更多的数据。同时也考虑每个会话所占的比例,按会话所占的比例进行最终的预测。

代表在a条件下,最优的参数值p

代表在各种会话s下的a值,以及对应的最优的参数值所对应的性能,在实际计算时,要和前面进行结合来计算对应的性能,例如当前会话占百分之90,就要乘以百分之90。

性能提升:

平均提升和压力提升,分别提升了几倍和一个数量级。

 

6.建立一个实际的视频控制平面

建立了一个具体的效用公式:

来评估用户的视频播放性能。

这里使用了一个两阶段算法:(1)首先对每一个客户公平的分配CDN资源, 并随机原则一个CDN服务商(2)以此为起点,使用贪心算法寻找最优组合。(但是使用贪心算法,可能会导致资源提前分配完毕,让一些客户无法得到资源)

这里使用一种算法来解决无法得到资源的问题,就是 首先随机选择一些对话(这些对话不会受到优化,每一次都是随机的,总体可以优化)去观察在未进行优化情况下的工作性能。使用这些大规模的未优化的用户数据来建立一个鲁棒性的模型来进行性能预测。

 

驱动仿真的模拟

7.1 安装

有以下三种策略

1.基础: 使用随机的算法让用户选择对应的CDN和比特率

2.全局协调:使用上一部分描述的算法

3.结合,开始CDN选择根据负载和全局协调算法提供的比特率,后面在串流过程中 只进行比特率的改变。

7.2 结果

在三种情况下进行仿真,平均情况,CDN性能表现递减,拥挤。

结论:1.全局控制平面在CDN变化情况、拥挤下工作效率高

2.混合的模式在常规的场景下工作效率可能较好

3.但是混合模式在CDN变化和高负载情况下工作效率会递减,例如他会为了保持0错误率,将所有的用户的比特率将为0

4.控制平面的优点可以使用预测来良好的体现

8.尚存在的问题:

1.具有可扩展性,使用JAVAS运行时间短,速度快2.切换容忍性高,调查者很好的权衡切换和比特率以及低缓冲的关系。3.CDN服务商是否能够在内部使用这种策略,另外在更高层次的优化和CDN之间的优化是否会有不良的相互作用4. 多重控制折,本文只是采取最简单的模型,让每个控制者是相互独立的,但是未来希望他们能够相互交换数据。

scalability, interaction with CDNs, issues surrounding multiple providers and controllers among others.