阅读 AggCast
AggCast: Practical Cost-effective Scheduling for Large-scale Cloud-edge Crowdsourced Live Streaming 笔记阅读
摘要
提出了一个新问题:对于 CLS(crowd-sourced live streaming) 不应该像传统一样”就近原则” 提供边缘节点,主要原因是:
- 观众分布的不均衡(观众都在同一个地区,但进入的直播频道不同,导致边缘节点负载了众多频道但效率低下)
对于以上问题,提出了一个新的CLS调度框架:AggCast,可以为 供应商 提高边缘节点的利用率。
AggCast 的核心思想:将不同地区的观众分配到预选好的节点上,降低成本
AggCast 的优点:
- 能够确保QoS 体验质量(quality of experience)
- 满足CLS的服务要求
- 已经经过长期的实际测试,可以降低带宽开销
介绍
如图是传统的云边缘供应商提供视频内容的模式:在收到了原始数据之后,在源服务器(Source server)中处理数据,之后按照树状结构,传递给边缘,每个边缘节点(Edge node) 将数据传输给自己的区域内,而不同区域的观众,通过LocalDNS 调度到最近的边缘节点。
图中,边缘节点和源服务器之间通过 BTS (back-to-source) 链路连接,边缘节点和每个观众之间通过 last-mile 链路连接。
所以,云边缘供应商的带宽成本:
- BTS 链路(单价为 last-mile 的8-12倍)
- last-mile 链路
而 AggCast 主要就是为了云边缘供应商节约带宽成本
CLS 本身的特点:
- 人人都是数据提供者,数据量巨大
- 通过移动设备,观众和数据都十分分散,任何地点都可以上传和下载
由于以上两个特点,云边缘服务的供应商会有巨大的BTS带宽成本,而如今许多工作都只能优化CLS平台的带宽成本,或者进行了一些不能部署的,不够贴合实际的建模。
AggCast,一种 云—边观众调度框架,主要结构如下图所示:
它并没有使用最近的边缘节点为观众提供服务,而是尝试了选择“提供视频服务更少“的边缘节点提供视频服务。并且通过这种方式,让更多的观众聚集到了一起,从而降低了BTS 成本。
上述过程可能会存在的困难:
- 确保用户体验,比如观看的延迟 等
- 算法层面的大规模决策,要同时为许多频道做决策
为了解决上述困难,将问题划分为两个挑战:
- 基于人气(popularity-based) 的频道分类
- 基于服务质量(QoS-based) 的 观众调度
解决办法:
- 第一个问题:使用HMM(Hidden-Markov_model) 模型来对于频道的人气进行 预测,从而确定那些频道应该被“聚合”。
- 要求智能地平衡 收益 和 风险
- 第二个问题:作为 优化问题 来解决
相关工作
在优化CLS 的服务方面的相关工作:
- 从CLS 平台角度进行优化,来自适应选择云边供应商 (但是收益有限,因为作为CLS 平台,无法获取详细的服务器端信息,所以只能视作黑盒来进行优化)
- 预测云边提供商的服务质量,尽可能给更多的观众优化体验
- 基于学习,用端到端的方式选择最佳的云边提供商
- 从云边供应商的角度进行优化
- 来自适应改变交付结构,以处理不同的数据中心的价格和Qos 的动态
- 讲交付问题看作统计优化问题,使用Lyapunov理论来解决观众请求的波动
总体来说,以上这些工作,总体上不能实际被使用,不如AggCast,因为AggCast已经被实际大规模部署进行了验证。
动机
数据集
略
潜在的提升
发现的情况:
-
CLS频道在傍晚的时间段非常多,可能超过16000个
-
随着观众的数量增加,使用的边缘节点数量也会增加
-
即使频道只有很少的观众,也可以使用很大量的边缘节点,如上图,只有100个观众的频道可以使用50个边缘节点
得出的结论:
- 按照如上的情况,为数不多的观众可以产生很大程度的资源浪费,因为无论何时,给观众分配边缘节点都是要建立BTS链路的。
- 基于地理位置的调度方法并不适合CLS服务器,需要对不同区域的观众进行聚合,来减少BTS链路的数量。
系统概述
频道分类模型
-
选择HHM,一种高效的基于状态的模型,正好与视频观众的”粘性较小“的特征吻合
-
观众数的概率分布选择高斯分布
-
由于在问题中,高峰时段和非高峰时段的状态差别很大,所以分别建模,并且分别用前一天的数据进行训练
流行/非流行鉴定标准
-
在使用HHM模型获取了观众数量之后,将观众进行升序排列,采用hyper-parameter 超参数。
-
由于采取这样的强硬的阈值分类,可能导致频道来回在”流行“和”非流行“之间切换,所以可能存在平滑性问题。
确保QoS的调度
-
尽量分配给最近的节点,可以让启动延迟更低,但是可能存在大量延迟于”跨区域“
-
当不过载时,失速时间(stall time)和失速频率(stall frequency)对于跨区域分配并不敏感。分析来看,十分合理,因为这两个参数主要是反应整体网络情况的
结论:可以在地区级别给出决策,而不是单独为每一个通道做出决策。
采取的方法:为了解决这个优化问题,采用模拟退火的方式
为了解决受欢迎的平滑性问题:引入函数U(x),来计算目标频道从”不受欢迎“切换到”受欢迎“时,减少的边数
对问题规模的剪枝:不考虑所有可能的区域和节点的优化问题,使用K-means进行聚类算法,将问题进行聚类分组,最后分为8组,在组内分别计算。注意:分组越多,算的越快,QoS可能就越差(因为在区块内部,可以选择的边缘节点越来越少)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了