ACM MM 2022 | 算法创新Lab&清华提出AggCast: 体验可控下的直播回源带宽成本降低技术
近年来大规模视频直播经历了飞速的发展。诸如抖音、快手等直播平台在全球范围内获得了前所未有的关注。为了尽可能满足用户的观看体验,直播内容提供商租用云服务厂商提供内容分发服务,因而云服务厂商在内容分发过程中起到了至关重要的作用。相较于传统的云服务任务(比如计算任务),大量的直播间和分散的用户请求使得分发过程中会产生大量的带宽成本,特别是大量的回源成本,高额的带宽成本将会严重影响内容提供商的进入门槛。华为云算法创新lab联合清华大学,针对大规模直播视频的云服务业务,提出一种通过汇聚各区域分散用户,减少边缘节点个数并减低回源带宽的方法。该方法上线华为云一年内,在保障服务质量的同时节省15%+的回源带宽成本。
传统LocalDNS调度的问题
对现网数据采用分桶统计,按照流行度(观众数量)将16000+直播间进行间隔分桶,并对桶内直播间瓶颈使用的节点数作为该流行度对应的边缘节点使用数量。统计结果如下图所示:
对于不同直播间(图1),当直播间观众较少时,仍占有大量边缘节点( 直播间观众为100人时,仍占据50+边缘节点),此时回源带宽利用率极低。
对于同一直播间(图2),各个边缘节点负载分布差异巨大,有35个节点只服务了25-的观众。
故在观众地理分布广、直播源头数量多的情况下,LocalDNS就近原则会导致边缘节点利用率低下。
本论文方法
为了解决上述问题,本文提出了AggCast: 一种基于冷热流的边缘节点带宽资源优化方法。 其决策逻辑主要分为直播间分类阶段和调度阶段,如下图所示:
直播间分类
如图1所示,当观众人数少时,随着直播间人数增加(<100人),边缘节点数量迅速增加,而当直播间流行度够大(>2000人),边缘节点数趋于稳定。故需要找出流行度较低的冷流直播间,并对其进行优化,降低回源成本。
- 流行度预测:隐马尔可夫模型
因为直播场景中,绝大多数用户倾向于在不同直播间切换,隐马尔可夫模型作为一种基于状态转移的概率预测模型,可以通过捕捉隐状态的变化进行预测。
下面我们具体给出隐马尔可夫模型的模型定义。我们用
其中
最后,在已知隐状态
即概率分布满足高斯分布(我们在尝试了不同的概率分布后,高斯分布的效果最好)。与其他常用回归模型的效果比较如下(其中衡量指标采用归一化绝对值误差):
- 冷热流阈值计算
按百分比设定阈值门限
服务质量保证的用户调度
在调度中,需要保证的服务质量主要包括延迟(首屏时长)和卡顿(百秒卡顿时长、百秒卡顿频率)。本文通过实验验证:地理位置的远近和网络链路的远近并不等价,地理就近接入节点并非时延最优节点。卡顿主要受限于边缘节点的接入带宽,当边缘节点不发生过载时,卡顿与是否跨区域接入无关。因此只要保证汇聚过程不过载,AggCast 的汇聚逻辑将不会影响到用户质量。
- 区域层级CFLP问题
因为直播间数量远远大于边缘区域数量,预测开销极大,且实验表明,对于单个直播间,每个区域的观众随时间变化剧烈。而将区域内所有冷流直播间看作一个整体时,单个区域内的所有冷流直播间的观众总数随时间变化稳定。故在边缘区域层而非直播间层面建立优化问题。
将某个区域内的所有冷流直播间用户定义为这个区域内的被汇聚用户,AggCast对相同区域内的被汇聚用户采用相同的汇聚逻辑。
设边缘节点的数量为
从数学形式上,该问题表示的优化问题和资源受限下工厂选址问题(Capacitated Facility Location Problem,CFLP)等价(我们问题中的边缘节点即对应原问题中的工厂)。资源受限下工厂选址问题在运筹学领域被广泛研究,虽然该问题是NP-难问题,但很多算法均被证明可以取得非常好的效果,最常见的算法有模拟退火和拉格朗日松弛。综合考虑实现难度和算法效果,我们最终选择模拟退火求解。
- 实时求解
结合隐马尔可夫模型以及各边缘区域比例计算得用户数量
- 冷热流边界
对AggCast而言,考虑到预测模型的误差以及直播间流行度变化的剧烈程度,某一些直播间可能会在冷热流之间来回切换,且频繁切换会使得AggCast的汇聚逻辑失效。故 AggCast 在冷流转换为热流之前,会根据流行度预测结果和冷热流划分的阈值,估算切换为热流的带宽收益大小,以决定是否切换。
- 减少问题规模
若全量求解,则求解时间超过三分钟,不满足实时性的要求。故通过KNN对边缘节点的距离进行聚类,对每类并行解决优化问题,能有效的将单步决策的时间降低到2s-。
实验结果
实验室测试
采用华为云2020年6月真实数据,覆盖18w+直播间,2000w+观众IP,观众来自300+地区,使用超过200+边缘节点。华为云作为国内最大的云服务厂商之一,为包括快手、抖音在内的直播平台提供服务,因此针对其数据集的测量结果具有代表性和普适性。
本实验对比就近接入(按IP地理位置就近接入)、Rildish(尽量将用户调度到服务质量最优的边缘节点)、最小成本最大流MCMF(将调度问题转化为最大流),其回源成本与服务质量对比如图所示。
AggCast在回源成本的降低和服务质量的保障上,整体表现最优。
线上测试
AggCast在华为云上进行了超过8个月的A/B测试,参与实验的直播间5w+个。如下图所示,在整个测试阶段,AggCast在80%的时间里都能获得15%+的回源带宽收益。