APP下载

人工智能在CDN关键技术中的应用探讨*

2018-09-03陈步华梁洁陈戈庄一嵘唐宏

移动通信 2018年8期
关键词:磁盘硬盘调度

陈步华,梁洁,陈戈,庄一嵘,唐宏

(中国电信股份有限公司广州研究院,广东 广州 510630)

1 引言

人工智能(Artificial Intelligence,AI)泛指让机器具有人类智能的一类技术[1]。人工智能在1956年被正式提出,期间经过多次起伏。近年来,得益于深度神经网络、大规模训练数据、高密度计算能力的同时发展,人工智能又一次迎来了发展的高峰,在多个技术领域都取得了突破性进展。人工智能作为目前最具冲击力的学科发展方向之一,为各行各业带来了巨大变革。目前,在图像、语音、文本处理等领域,越来越多的智能化产物日渐成熟。

随着AI算法与技术的发展,AI逐渐在越来越多的复杂场景下可以做出比人类更优的决策,也能够为内容分发网络(Content Distribution Network,CDN)的智能化发展提供思路。因此,未来的CDN必然需要人工智能协助推出解决方案,CDN的内容中心和边缘节点可以部署AI模块,通过智能化服务,提高CDN的性能。

2 CDN组网架构及关键技术

随着宽带网络和流媒体技术的兴起,内容分发网络通过采用各种缓存服务器,将这些缓存服务器分布到靠近用户的区域,利用内容调度和分发功能,用户可以在边缘侧获得所需内容,减少网络拥塞,提高用户的访问响应速度。CDN的关键技术是内容存储、调度和分发技术。下面按照图1简要介绍CDN的基本组网架构和这三大关键技术[2]。

(1)内容存储是指从源站点注入内容到CDN网络,并存储在CDN网络的过程。

(2)内容调度是指用户向网站发起访问请求,最终把用户引导到最佳的有内容的CDN节点的过程。

(3)内容分发是当用户向网站发起请求时,对于用户想要的内容,一个部分被预先直接推送给边缘缓存节点,但当边缘节点没有用户期望的内容时,就必须通过上层节点(内容中心)将内容拉放出来,为用户提供服务。

图1 CDN的基本组网架构

3 关键技术的人工智能方案探讨

3.1 智能存储方案

随着社会各行业均向数字化、网络化发展,大规模海量数据存储系统是其必不可少的支持。并且,在CDN的内容中心和边缘缓存节点作为以硬盘为主体的存储系统,硬盘频繁损坏带来的损失不容忽视。尤其在4K/8K工作流程中,对数据的流通要求非常高,因此,需要支持大规模容量的可扩展共享存储以及稳定的运行,这就要求CDN的存储性能具有高可靠性和稳定性。研究表明,硬盘是数据中心替换率最高的硬件,一旦硬盘发生不可恢复的故障必然会造成数据丢失,将给整个CDN系统带来不可估量的损失。

目前,已有很多学者就这个问题展开了研究,并取得了一定的成果,主要包括磁盘阵列RAID技术、冗余编码、可靠性分析等被动容错技术。纠删码用于原始数据在数据丢失时根据校验进行重建。与HDFS等采用的三副本机制相比,纠删码具有更高的存储空间利用率,但其数据重构代价也更为昂贵。针对硬盘的块级和扇区级的数据损坏,有人提出了磁盘清洗的方法来查找扇区错误,并对数据块进行迁移和重构。综上所述,传统的高可靠性存储系统的研究主要是针对硬盘失效后数据恢复技术的解决方案,属于一种被动容错的思路。

然而,在CDN系统中,根据业务的需要,集群合并、分割、新建、删除、机房搬迁、硬盘更换、上线等都是很平常的事情。有必要建立硬盘故障预测模型,对可能出现的硬盘故障进行主动预测,并对潜在的故障硬盘数据建立及时的迁移保护策略。

现在,大多数硬盘都能很好地支持SMART技术,能够在硬盘上获取监控指令,分析比较磁头、磁盘和电路的运行状态、历史记录和预置安全阈值,这对硬盘故障智能预测的研究奠定了坚实的基础。

基于人工智能的故障处理机制的前提是保证硬盘故障预测模型的高精度,图2展示了一个典型的CDN中使用人工智能来预测硬盘存储故障的框架,其对应的建模步骤如下:

(1)对现网各地SMART磁盘信息进行监控,采集部分现网数据用于训练模型。

(2)将采集到的现网数据按照区域、业务分别进行预处理(如清洗、筛选、特征提取等),生成训练样本。

(3)对算法库中的多种预测模型进行训练,获得当前网络各区域、各业务的最佳预测算法。

(4)根据现网预测需求,选择最佳算法模型进行回归推理预测。

(5)输出磁盘状态信息预测值。

(6)根据预测出的磁盘状态信息值,提前设定对应的故障处理策略。

(7)当该故障处理策略在CDN中执行时,对优化执行结果进行监控反馈,实现算法的进一步迭代优化。

硬盘故障预测重点关注故障检测率(F a l s e Discovery Rate,FDR)和误报率(False Alarm Rate,FAR)。检测率是指实际故障磁盘中,被预测为出现故障的磁盘数量占所有故障磁盘的比;误报率是实际正常磁盘中,被预测为出现故障的磁盘数量占所有正常磁盘的比。在硬盘故障预测模型中,需要确保故障检测率足够高,然而,为了减少误报和额外处理成本对系统性能的影响,还必须确保模型误报率相对较低。

因此,在实际部署中,通常需要在FDR和FAR之间权衡。智能预警处理模块部署在CDN系统的每个节点上,智能化的故障数据分析解决方案,综合运用了大量机器学习和磁盘故障细节知识,对磁盘故障进行监测预警,并根据资源和业务负载状况规划提前修复数据。利用人工智能技术实现精准故障预测,能够消除因磁盘故障而出现不可预期的服务质量波动,同时,提升数据可靠性和资源效率。

3.2 智能调度方案

CDN调度系统实现了CDN的内容路由功能,可以将用户的请求引导到整个CDN网络中最优的节点。现有最优节点的选择可以基于各种策略,如最近距离、最轻节点负荷等。然而,互联网与视频直播业务的快速发展,使得网络中的数据量急剧膨胀,这就为CDN的调度可靠性提出了更高的要求。当用户向CDN节点请求内容时,节点间的负载均衡是衡量CDN能力的重要指标。

当某一时刻,产生了突发性网络流量或者用户请求数量剧增时,CDN不能及时处理大量突发性用户请求,使得部分节点压力过高,造成CDN节点间的负载不均衡。因此,突发的高峰流量会造成网络堵塞、响应速度慢等问题,从而影响用户的体验质量。

对于此类问题,现有CDN服务商通过提高节点数量、服务器数量来避免节点间负载不均衡以及对网络流量的控制,但这也带来了CDN资源消耗和浪费的问题。基于以上原因,如何准确预测设备负载和网络流量非常重要,建立基于人工智能的负载和流量预测机制是十分有意义的。

网络流量预测与TCP/IP流量的大小和延迟有关。服务器负载的预测包含CPU、内存、硬盘空间等资源利用情况。典型的基于CDN负载和流量利用人工智能进行内容调度的框架如图3所示,其对应的建模步骤如下:

(1)对现网各地网络以及设备状态数据进行监控,采集部分现网数据用于训练模型。

(2)将采集到的现网数据按照区域、业务分别进行预处理(如清洗、筛选、特征提取等),生成训练样本。

图2 CDN硬盘存储智能故障处理框架

图3 CDN智能内容调度框架

(3)对算法库中的多种预测模型进行训练,同时考虑叠加节假日等因子来修正模型参数,获得当前网络各区域、各业务的最佳预测算法。

(4)根据现网预测需求,选择最佳算法模型进行回归推理预测。

(5)输出网络流量或负载预测值。

(6)根据预测出的网络流量或负载值,提前设定对应的调度策略。

(7)当该调度策略在CDN中执行时,对优化执行结果进行监控反馈,实现算法的进一步迭代优化。

随着未来CDN网络规模和复杂度的持续增长,在调度路径规划和流量调度方面,需要能够满足高吞吐、低时延、随需而动的需求。传统的调度方法很难根据链路的动态情况实时地给出最优的流量调度和路径优化方案。基于人工智能的调度方法,可以利用众多项目和场景所积累的多维历史数据,进行数据分析和算法探索,并结合某个实际网络的需求,进行流量预测和负载优化推理以及动态资源调度等。

3.3 智能分发方案

内容分发是一种内容从内容中心缓存到CDN边缘的过程。目前来看,主流的内容分发技术有两种:拉放(PULL)技术和推送(PUSH)技术。PULL作为一种被动分发技术,当用户希望获取的内容没有被缓存在本地边缘节点(未命中)时,将回源返回到上级节点拉取内容。然而,大量的回源请求,会给网络传输造成流量压力。

与PULL相比,PUSH是一种主动分发技术。主动分发的内容通常是用户请求量大的热度内容,直接缓存在边缘节点上。当用户发起访问请求时,将向用户直接提供服务,减少响应时间。然而,缓存服务器的存储空间是有限的,并且,过度部署缓存服务器会造成资源和成本的浪费。在这种情况下,精准地确定热点内容,并分发到边缘,能够降低骨干网络流量,并且起到减少服务器资源成本的作用。对于精准地确定热点内容,实际上是分发策略设定。例如,PUSH内容分发的内容可以根据用户访问的统计信息,将超过热度阈值的内容主动推送到边缘节点。

上述CDN预分发策略应用,对于CDN在预分发时的策略是静止的,存在一定的盲目性。分发程度和分发级别等参数设定也只是人工设定的,难以针对不同特点的内容采用不同的预分发策略,缺乏一定的灵活性。为了克服这个弊端,可以用人工智能算法在预分发前对未来总体访问量、各地区和节点访问量等情况进行预测,从而个性化设置此项内容的分发程度、分发级别以及在各节点的分布。这样就可以大大降低预分发的盲目性,使得分发有的放矢,这样主动分发就可以大大提高效率。

图4 CDN智能内容分发框架

典型的CDN利用人工智能进行内容主动分发的框架如图4所示,其对应的建模步骤如下:

(1)对现网用户服务终端进行探测、监控,采集部分现网数据用于训练模型。

(2)将采集到的现网数据按照区域、业务分别进行预处理(如清洗、筛选、特征提取等),生成训练样本。

(3)对算法库中的多种预测模型进行训练,同时考虑叠加大型赛事等特殊热度因子修正模型参数,获得当前CDN中内容的热度最佳预测算法。

(4)根据现网预测需求,选择最佳算法模型进行回归推理预测。

(5)输出CDN中的内容的热度预测值。

(6)根据预测出的内容热度值,提前设定对应的分发策略。

(7)当该分发策略在CDN中执行时,对优化执行结果进行监控反馈,实现算法的进一步迭代优化。

网络需求是变化的,各节点的情况经过人工智能计算及时反馈后,采用智能自适应和自组织机制进行动态调节,可以使分发控制和负载均衡控制更有效率。

4 现有典型人工智能方案的实践

4.1 智能存储结果与分析

(1)智能磁盘故障预测的可行性试验

现有对智能存储的研究中,文献[3]利用BP神经网络(BPNN)和支持向量机(SVM)预测磁盘故障。文献[4]提出了一种改进的朴素贝斯方法,文献[5]提出了TSP模型,均对预测磁盘故障起到了良好效果。

下面通过介绍经典SVM算法和BPNN算在磁盘故障预测上的实验结果[3],来说明智能存储方案的可行性。

SVM是一种从最大间隔出发,最终转化为求对变量凸二次规划问题的模型。BPNN是一种利用误差反向传播进行训练的多层前馈神经网络,通过梯度下降等方法,求解网络参数,获得与期望输出值的误差均方差最小的实际输出值。这两种方法得出的故障检测率(FDR)的结果,如图5所示。BPNN方法在不同的时间窗口条件下,FDR相对稳定在93%左右,对于SVM方法,当时间窗口增加大于24h后,预测率由67%增加到97.3%并稳定下来。

图6中误报率(FAR)刻画了出现错误预测结果的可能性。误报率越低,证明方法的有效性越好。可以看出,SVM方法的误报率最低值仅有0.05%,最高值也只有0.1%。而BPNN方法的误报率变化浮动较大,最低值为0.1%,最高值可以达到1%。

图5 BPNN和SVM方法的磁盘故障检测率

图6 BPNN和SVM方法的磁盘故障误报率

图7给出了SVM和BPNN的准确率结果。可以看出,BPNN方法从一开始就保持了99%以上的预测准确率,而当时间窗口大于24h后,SVM方法的预测准确率也稳定在99%以上。

图7 BPNN和SVM方法的磁盘故障预测准确率

(2)智能磁盘故障预测与传统方法效果对比

存储性能的重要衡量指标是磁盘可靠性,MTTDL表示整个大规模磁盘系统的平均崩溃时间,通常被用来表示磁盘系统的可靠性。如图8所示,在RAID5的基础上,采用SVM模型和BPNN模型与仅采用RAID5的传统方法对比,能够把存储系统的MTTDL(图8中MTTDL的单位为百万年)提升了好几个数量级,说明了故障预测模型对提高系统可靠性的巨大作用。

图8 传统方法与智能故障预测方法的磁盘系统可靠性结果对比

4.2 智能调度结果与分析

(1)智能调度的可行性试验

现有对智能调度的研究中,文献[6]和文献[7]分别利用ARIMA模型预测网络流量和设备资源利用情况。文献[8]提出了一种MLPNN模型,文献[9]提出了一种HQENN模型,这两种模型对网络流量和设备资源利用情况的预测效果良好。

下面通过介绍经典的ARIMA模型对网络流量和设备资源利用情况预测的实验结果[6-7]来说明智能调度方案的可行性。

ARIMA模型是指将非平稳时间序列转化为平稳时间序列,然后根据相关变量的滞后值和随机误差项的现值和滞后值建立的回归模型。使用ARIMA模型对未来24h的网络流量进行预测,预测结果如图9所示:

图9 ARIMA模型对网络流量的预测结果

预测精度92.85%,平均相对误差7.15%。从图9中可以看出,对于ARIMA的网络流量预测,其预测的准确度比较高,因此,该模型可用于预测网络流量。

图10显示了ARIMA模型对某设备集群资源利用率(CPU使用率、内存使用率和磁盘空间使用率等相关指标的加权值)的预测结果。通过使用ARIMA模型对某信息系统资源利用率进行3天的预测,其平均预测误差为2.57%,具有较佳的预测性能。

图10 ARIMA模型对资源利用率的预测结果

(2)智能调度与传统方法实例对比分析

智能调度在实际应用中,主要对设备资源合理利用和用户请求分流起着重要作用。以目前中国最火的电商网站——淘宝为例,以前未使用智能调度方案时,在“双十一”促销事件中,由于用户请求数量极速增长,淘宝网站的各CDN节点出现大面积宕机。但是,从2015年开始,阿里巴巴采用自主研发的iGraph自动化流量预测及大规模数据智能调度系统后,已经平稳经历了3次“双十一”大促的历练,极大程度地提升了服务质量与用户体验。

4.3 智能分发结果与分析

(1)智能分发的可行性试验

现有对智能分发的研究中,文献[10]利用贝叶斯网络预测视频内容的热度情况。文献[11]提出了一种COX比例风险回归模型,文献[12]提出了一种深度卷积模型,这两种模型均对视频内容热度预测效果良好。

下面通过介绍经典的贝叶斯网络模型对视频内容热度预测的实验结果,来说明智能调度方案的可行性[10]。

贝叶斯网络用来表示和推理不确定的条件,可用图表对不同特征的概率关系进行建模。贝叶斯网络的模型如图11所示,包括热度、导演、演员三个特征。

图11 贝叶斯网络的模型

利用贝叶斯网络方法对视频热度的预测准确率(Precision)和召回率(Recall)如表1所示。对于特别热、热、一般、冷这四种热度级别的内容,其中,特别热的内容预测准确度高达99.4%,提前分发这些内容,能够大大提升预缓存策略的有效性。对于其他热度级别的内容,预测准确率也尚可接受,且召回率良好。

表1 贝叶斯网络的视频内容热度预测结果

(2)智能分发与传统方法效果对比

CDN分发能力的重要衡量指标是边缘节点缓存命中率。表2展示了传统方法与采用人工智能方案分发的缓存命中率对比[13]。在一定时间内,随着系统缓存数据量的增加,智能预测分发方法的本地命中率在缓存了总数据量的10%时,命中率就达到90%,这说明用户请求的数据中,90%的内容都已经推送到本地边缘服务器,远远高于传统的达到分发阈值后,采用的内容先进先出(First In First Out,FIFO)方法对于用户请求内容的75%的本地命中率,体现了智能分发策略的优势。

表2 传统方法与智能分发缓存命中结果对比 %

传统方法没有考虑内容的未来热度,只对内容的当前热度进行了估计,而没有考虑热度变化的趋势,因此,导致了较多数量的用户请求在边缘未命中。

5 结束语

CDN为提高网络响应速度减少网络拥塞起到了重要作用,但是还有很多有待完善的地方,其中最重要的是要引入人工智能机制。本文通过现有研究的实验结果描述了CDN关键技术中引入人工智能框架的优势,并说明了建立一个真正的智能系统将大大提高CDN的性能,使CDN在存储、调度和分发方面通过预测来减少盲目性。此外,在CDN的控制机制上,可以自动实时调整,针对环境特征,智能地实现CDN节点的负载均衡和自组织优化。

猜你喜欢

磁盘硬盘调度
HiFi级4K硬盘播放机 亿格瑞A15
Egreat(亿格瑞)A10二代 4K硬盘播放机
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
解决Windows磁盘签名冲突
一种基于负载均衡的Kubernetes调度改进算法
虚拟机实时迁移调度算法
修改磁盘属性
磁盘组群组及iSCSI Target设置
创建VSAN群集
我区电视台对硬盘播出系统的应用