APP下载

基于内容感知雾计算CDN的性能研究

2020-09-22陈步华陈戈庄一嵘梁洁

广东通信技术 2020年9期
关键词:云化命中率路由

[陈步华 陈戈 庄一嵘 梁洁]

1 引言

随着互联网流量的不断增加,CDN边缘节点由于承载流量过高[1,2],无法继续提供稳定、高质量的内容。在过去的十年中,CDN体系架构经历了快速的发展,以解决CDN边缘节点的可扩展性问题,来优化内容分发质量和用户体验。目前这方面的研究主要有:一种基于协作缓存的层次结构和基于应用层多播的层次结构,分别用于点播和实时流媒体内容的传输。这种架构可以很好地扩展以增加流量,但是为了节省基础设施成本,将CDN与P2P技术集成在一起[2,3]。这种混合架构成功地将CDN的可靠性和P2P的可扩展性结合起来。最近,在CDN中利用云计算资源也得到了广泛关注[4],这种云化CDN架构可以为更广泛的应用提供高性能的内容分发服务,而无需高成本的基础设施。此外,可以在上述两种方法的基础上,建立分层CDN和混合CDN/P2P结构。在文献[5]中,提出了一种分层云化CDN架构,而在文献[6]中,P2P通信被纳入云化CDN边缘节点以提高视频流服务的响应时间。因此,云化CDN被认为是传统CDN的最有价值和成本效益的替代品[4],特别是对于高带宽要求的应用。

尽管如此,这些云化CDN未能充分利用云计算的优势[7]。本文通过从集中式云转移到边缘节点扩展雾计算服务,在边缘节点提供云服务,提出了一种基于内容感知雾计算CDN(Content Aware Fog CDN,简称CA_fogCDN)的CDN部署架构。

雾CDN系统的核心工作模式是首先从远端云CDN层将热点媒体内容缓存到雾节点上,这些雾节点可以是家庭上网设备组成,然后再由用户终端方式与这些雾节点建立连接获取数据。家庭上网设备的特点是数量多但是单设备性能偏弱,主要体现在:一方面存储空间有限,另一方面数据上传带宽有一定的限制。在内容分发过程中,雾CDN节点上的缓存的内容是否优化能够影响到用户访问命中率、响应时间等多个关键性能指标,对整个雾CDN系统的运行效率起着重要的作用,因此,灵活高效的调度算法是雾CDN系统设计的关键。

对于雾CDN调度系统的调度目标:一是尽可能将热门的文件缓存到雾CDN系统中,提高内容分发效率;二是避免CDN节点上的文件频繁替换;三是避免雾CDN节点过载影响边缘设备的正常运行;四是为客户端返回足够的、距离上更近的节点,方便客户端从雾CDN节点获取数据。

2 内容感知雾计算CDN模型的建立

2.1 内容感知雾计算CDN模型的建立

CDN和雾节点作为互联网的基础设施,两者之间具有类似的特征,都是由服务器集群组成的,部署在网络的边缘。区别在于CDN是广泛部署的纯缓存服务器,而雾节点是智能的小型边缘云单元,在本地雾节点中提供计算、存储和网络服务。雾边缘节点一般由智能网关、边界路由器等构成[8],是距离终端用户层最近的雾节点,提供一定程度的计算、存储和通信功能。对于一些简单的任务,可以在上面直接进行处理并返回结果。因此,在CDN上引入雾计算来进一步优化互联网应用程序的分发是具有极大潜力的。此外,内容/服务提供商可以从基于雾计算的CDN架构中受益,这是由于雾节点可以减少骨干网和内容/服务提供商链路上的传输流量。本文提出的基于雾计算的CDN架构最具潜力的优势在于支持5G无线技术,以满足对时间敏感的物联网应用/服务的需求。

在保持现有CDN基础设施部署方式的情况下,我们在云化CDN层和用户终端层之间部署雾节点层。提出的基于雾计算的CDN结构可以抽象为一个三级层次模型,如图1所示。在CDN层,将部署基于云计算的云化CDN,并在云化CDN服务器上分发内容。在雾节点层,部署雾节点网络,在地理上比CDN服务器更靠近用户边缘。最后一层表示请求内容服务的用户终端。

图1 雾计算CDN抽象架构图

对于新增的雾节点层,更具体地说,每个雾节点都有一个缓存存储和路由表,并且内容分发过程通过3个主要阶段来实现:

(1)雾节点基于内容流行度的策略来缓存内容;

(2)雾节点采用基于内容名称的路由请求方法请求内容;

(3)雾节点采用传统的基于IP地址的路由方法将内容返回给用户终端。

对于基于内容名称的路由请求方法,采用包含雾节点之间的路由和每个雾节点缓存内容的信息来构成信息转发表(Information Forwarding Form,简称IFF),为了使每个雾节点保持和其他雾节点正确一致的信息,IFF表在雾节点之间被周期性地交换。当用户想要查找雾节点网络中的某一内容时,会向最近的雾节点发送一个包含该内容名称的请求。一旦这个距用户最近的雾节点收到请求,它就会在自己缓存中查找该内容名称。如果该内容在本地缓存中可用,则该雾节点使用传统的基于IP地址的路由方法将内容返回给用户。否则,雾节点将从已缓存该内容的雾节点中获取内容。更具体地说,它通过IFF表来确定哪个雾节点中缓存了用户所请求的内容,然后使用传统的基于IP的路由机制将请求转发到已缓存内容的雾节点。如果多个雾节点承载请求的内容,则将请求转发到最近的雾节点中(以跳数计)。

由于雾节点与相邻其他雾节点可以直接通信,而相邻雾节点又可以与其它相邻雾节点进行通信,所以理论上只要合理部署雾节点的位置利用雾网络的多跳转发就可以让任何一个雾节点都可以为整个系统范围内的任何用户提供直接和间接的服务。在本文中,由于考虑到用户对时延的要求,当雾缓存节点本地不能满足终端用户的请求时,将会向相邻节点搜索请求用户 需要的内容。并且规定如果在x跳范围内没有找到该内容就停止继续往下查找该内容,本地雾节点转向远端云化CDN请求该内容。也就是说,雾节点网络支持协作缓存,并且可以独立于CDN服务器工作。除非所有雾节点中均没有缓存用户所请求的内容,在这种情况下,请求才会被转发到远端CDN服务器提供服务。对于雾节点的内容缓存策略,本文采用基于内容流行度的缓存策略。因此,本文提出的CA_fogCDN架构通过内容感知和流行度统计的缓存策略来实现用户/雾节点/云化CDN之间的通信流。在实际内容访问请求中,存在以下4种场景:

场景1:本地雾节点收到内容请求且该内容已缓存在本地雾节点中,将内容直接发送给用户提供服务。

场景2:本地雾节点收到内容请求且该内容已缓存在其他雾节点中,本地雾节点在其路由表上查找该内容的内容ID,并将请求路由引导到包含该内容的最近的其他雾节点中(即目标雾节点),目标雾节点通过其连接的雾节点将内容发送回请求给用户提供服务。

场景3:本地雾节点收到内容请求且该内容在整个雾节点网络中未被缓存,本地雾节点在其本地缓存和路由表中均找不到该内容的内容ID,因此,本地雾节点将请求转发到远端云CDN服务器,云化CDN通过其连接的雾节点将内容发送给用户提供服务。

场景4:在一定时间内,一个本地雾节点接收某个特定内容的多个请求数目达到流行阈值,因此,本地雾节点将此流行内容缓存本地雾节点中,以便能够满足后续用户对该内容的请求。需要注意的是,假设雾节点的缓存空间已满,则雾节点采用优先淘汰热度最低的最近最少使用内容来实现缓存替换过程。

3 实验设计与结果

3.1 实验设置

在IPTV CDN业务的发展和运营过程中,IPTV CDN系统已经积累了海量用户行为数据。中国电信某省的IPTV系统每天产生近1TB的数据文件,内容包括用户收视行为日志、系统运行日志等,我们从中提取了部分数据,包括视频总数为978部,访问的规律基本满足二八定律,来确保某些内容的访问流行度很高。

实验中模拟的内容感知雾计算CDN系统,为用户终端层-雾节点层-远端云化CDN层三层架构,设置用户层用户数量为83个,雾节点数量为10~20个,远端云化CDN存储这全量978个内容。关于参数设定,内容分发性能主要受路由协议和缓存策略的影响,实验中引入最受欢迎缓存策略(MPC)、雾节点缓存空间容量和流行度阈值参数,并且,由于雾节点的存储容量有限,将每个雾节点的缓存空间容量指定为CDN缓存空间的1%到2%,其他环境参数设置如表1所示。

表1 仿真环境参数

实验中,采用以下两种仿真对比模型:

(1)非内容感知雾计算CDN系统(Non-Content Aware Fog CDN,简称NCA_fogCDN):用终端户层-雾节点层-云化CDN层,三层架构,但是,非内容感知雾计算CDN系统采用原始基于IP的路由方式以及默认缓存策略(FIFO,先进先出),当雾节点收到内容请求,就会在其路由表中查找请求的内容ID,若该内容在本地雾节点中未命中,直接由远端云化CDN提供用户服务。

(2)云化CDN(Cloud CDN):用户终端曾-云化CDN层,二层架构,直接由远端云化CDN为用户提供服务。

3.2 仿真结果与分析

3.2.1 雾节点数量对性能的影响

在实验中,设置雾节点的数量为10、15和20个,其他参数设置如表1所示。虽然,云化CDN架构的性能不受雾节点的数量影响,但本实验也将其纳入性能对比。为仿真云化CDN的数据传输时延结果,设置用户和云化CDN服务器之间为20跳。图3表明,在传输时延方面,雾CDN架构优于云化CDN架构,这是因为用户请求的内容是从靠近用户边缘的雾节点种获取的,而不是从远端云化CDN服务器获得的。该实验说明,边缘计算的好处是显而易见的,因为它能够大大减少内容传输的时延。

图3 雾节点数量对传输时延的影响

在雾CDN架构中(CA_fogCDN和NCA_fogCDN),如果雾节点本地缓存命中,它将直接提供用户服务;如果请求的内容在雾节点本地缓存未命中,CA_fogCDN和NCA_fogCDN则以不同的机制提供服务。在NCA_fogCDN架构中,未命中的内容是从远端云化CDN服务器中获取的,即使该内容已缓存在附近的其他雾节点中。但是,CA_fogCDN架构从已缓存请求内容优于的NCA_fogCDN架构,这对需要低时延的互联网应用及流媒体业务的性能优化至关重要。

3.2.2 流行度阈值对性能的影响

在实验中,设置流行度阈值变化为1、3、5、7和10,而雾节点的个数固定为10,一个雾节点的缓存空间容量固定为18,单位为GB,其他参数设置如表1所示。如图4所示,在不同流行度阈值下,CA_fogCDN架构均优于NCA_fogCDN方法,这是由于后者缓存内容时不考虑流行度而造成的。当CA_fogCDN架构的流行阈值为5时,雾节点本地缓存命中率(LCHR)最高。当流行度阈值从1增加到3时,雾节点本地缓存命中率也会增加。但是,当流行度阈值提高到5时,雾节点本地缓存命中率降低。对于占用大量网络带宽的流媒体服务,提高雾节点本地缓存命中率,对于节省网络带宽,满足用户的服务质量起着至关重要的作用。

图4 缓存替换流行度阈值对本地命中率的影响

3.2.3 雾节点存储空间容量对性能的影响

在实验中,设置雾节点的存储空间容量在9、14和18之间变化,而流行度阈值则固定在3。其他参数如表1所示。显然,随着雾节点缓存容量的增加,雾节点能够缓存更多的内容,更多的内容请求可以从雾节点网络得到获得,从而提高了雾节点缓存命中率。图5显示,与CA_fogCDN架构相比,NCA_fogCDN架构雾节点缓存命中率更低。这是由于NCA_fogCDN架构缺乏内容感知路由机制,并且,雾节点缓存内容时,未考虑流行度带来的影响。因此,与CA_fogCDN相比,NCA_fogCDN中的节点无论从本地雾节点还是其他雾节点缓存种都无法获得更多满足用户需求的内容,这导致NCA_fogCDN架构的雾节点缓存命中率较低。

图5 雾节点存储空间容量对命中率的影响

3.2.4 持续五天访问内容的性能仿真结果与分析

为验证提出的CA_fogCDN架构,在性能上具有持续的优势,进行了5天持续仿真内容的性能测试。实验结果如图6、7、8所示。可以看出,无论是传输时延、雾节点本地命中率还是雾节点命中率,与对比模型架构相比,CA_fogCDN架构均表现出最优的性能。

图6 持续五天访问内容传输时延

图7 持续五天访问内容本地命中率

图8 持续五天访问内容命中率

4 结束语

视频服务的发展趋势是面向更庞大的用户群和存储更巨大的视频数据,并为用户提供更优质的观看体验。在这种趋势下,视频服务所面临的主要挑战是如何优化CDN的系统性能,并同时降低部署与运营成本。

通过大量的仿真实验,证明了本文提出的基于CA_fogCDN架构优于其他比较的CDN架构。CA_fogCDN以最低的时延为所有模拟连接用户分发内容。此外,CA_fogCDN架构中雾节点采用的优先淘汰热度最低的最近最少使用内容的缓存策略能够确保边缘高缓存命中率(包括雾节点本地命中率和雾节点命中率),因此,可以证明CA_fogCDN对于实时或时延敏感的应用,是一种极具前景的解决方案。

猜你喜欢

云化命中率路由
基于文献回顾的罚球命中率与躯干稳定性影响因素研究
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
夜夜“奋战”会提高“命中率”吗
2015男篮亚锦赛四强队三分球进攻特点的比较研究
探究路由与环路的问题
5G/云化下的VR产业未来
投篮的力量休斯敦火箭
IBM中国企业云化实践中心成立