武警工程大学 陕西西安 710086
摘 要:雾计算将云中心的部分存储计算功能下放到靠近用户的网络边缘,缓解了海量数据上传所带来的压力,为移动性业务提供了支持,具有极大的研究前景。由于雾计算相比云计算增加了“雾层”的设计,结构更加复杂,因此合理的资源调度策略对于提高业务处理速度和效率是必不可少的。文章对雾计算基本概念进行阐述,将当前常用资源调度算法进行对比分析,指出了雾计算资源调度问题所面临的资源的动态性、用户请求的不确定性、算法性能改进等挑战以及下一步工作需解决的问题。
关键词:雾计算;云计算;资源调度;启发式算法
中图分类号:TP301 文献标志码:A
2007年,IBM正式提出了云计算技术的概念,云计算技术因其超强的计算能力,海量数据处理能力等优势在各研究领域得到了广泛的应用。随着当前大数据、物联网、人工智能等新一代科学技术的快速发展,数据呈现爆发式增长的态势,这使得云计算的数据上传和处理能力面临挑战。在这样的背景下,国内外学者提出了雾计算的概念,赋予网络边缘一定的存储计算功能,以减轻云中心的服务压力。雾计算有效的减轻了云端的压力和前传链路拥挤的问题,缩短了与用户之间的距离,能够支持部分时延敏感业务,在实现与用户终端直接相连的同时与云计算架构互相补充、协同处理业务。
国内外学者在雾计算的基本架构、时延优化、隐私保护和具体应用等问题上已获得一定研究成果。其中,资源调度是雾计算的一个热点研究内容。为了提高雾计算对用户请求的处理速度,尽可能降低任务完成时间,有效发挥雾计算的优势,急需对雾计算资源调度问题进行深入研究。
1 雾计算资源调度
雾计算架构主要由云中心、终端设备层和雾层组成。云中心包含各类大型服务器,具有超强的存储、计算能力。终端设备主要由手机、笔记本电脑等组成,当前物联网的发展成熟使得终端设备也可包含无人驾驶汽车、智能交通灯、智能家居等设备。雾层作为雾计算的核心层,根据部署的位置和处理业务不同包含多种类型的雾节点,终端设备的数据存储与用户的请求上传至雾节点即可。“雾层”结构的设计使得用户到云端的距离缩短,大大降低了时延,能够支持车联网等对于时延敏感的业务。
雾计算中各个类型的雾节点具有一定的存储、计算功能,但与云服务中心相比,其存储计算能力是有限的,因此对于用户所请求的资源当前雾节点不一定拥有,此时就需要向其他雾节点请求资源。用户请求资源有两种方式,一种用户将任务上传至雾服务器,雾服务器可以将用户提交的任务划分成多个子任务,将这多个子任务提交至多个雾节点进行处理,另一种方式是用户根据任务将所需要使用的资源类型、数量等提交至雾节点,雾节点根据资源监控器的相关信息、用户需求等因素给用户分配资源。
2 雾计算资源调度算法比较
雾计算是异构式网络,相比同构网络来说资源调度问题更加复杂,启发式任务调度算法对于异构计算系统很重要,当前已有很多可用于解决雾计算资源调度问题的算法,如表1所示,这些算法各有优劣,需要进行一定的改进使其更加适用于雾计算资源调度问题。
表1 各种调度算法对比
Tab.1 Comparison of various scheduling algorithms
算法名称 | 优点 | 缺点 |
遗传算法 | 收敛速度快,通用性强 | 早熟收敛,迭代后期收敛速度慢,尤其是高维高精度优化问题 |
粒子群算法 | 收敛速度快,设置参数少 | 后期容易陷入局部最优解,且搜索精度不高 |
蚁群算法 | 通过个体间信息素共享,形成正反馈机制,提高全局寻优效率 | 迭代初期收敛速度慢,易陷入局部最优解,问题规模增大时,算法效率明显下降 |
人工蜂群算法 | 收敛速度快,通过劳动分工和协作机制,全局寻优能力强 | 接近全局最优解时,搜索速度变慢 |
刘芸翠[1]对传统的人工蜂群算法(Artificial Bee Colony,ABC)进行改进,在初始化中引进混沌策略以改善算法受初始化影响大的缺点,实现了任务执行时间的降低。韩奎奎[2]在遗传算法的基础上,为了克服变异操作中的盲目性将适应度引入到亲代变异操作中,提高了该算法对于时延敏感型业务的执行速度,降低了服务等级目标违规率和服务提供商的花费。孙岩[3] 提出了类人体神经系统的雾计算架构,同样对遗传算法进行优化,通过优化拥挤距离算子提高最优解集中的个体的分布性,并通过实验进行验证。
除了上述算法优化外,对于蜂群算法、粒子群算法和蚁群算法等等算法也有相应的改进优化方法。例如,文献[4]建立了多目标优化模型,考虑时延、资源负载和经济原则三个因素,在蜂群算法的基础上引入了局部搜索算子改变侦察蜂搜索方式,使得优化后的算法具有普适性和更高的稳定性。文献[5]将蜂群算法与粒子群算法相融合,既解决了传统粒子群算法易早熟的缺点,也有效降低了任务完成时间。
3 雾计算资源调度研究挑战及建议
由于国内对于雾计算的研究处于初级阶段,尽管在雾计算资源调度问题上已有相关研究,但仍面临以下诸多挑战:
1.资源调度算法有待继续改进。现有可用于解决资源调度问题的算法仍存在各自的缺点。以ABC算法为例,ABC算法具有收敛速度快,全局搜索能力优的特点,在解决组合优化问题和连续优化问题上应用广泛。基于ABC算法的资源调度还存在以下几个问题:一是算法结果受初始化解的影响大。二是该算法易陷入局部最优。三是后期收敛速度慢。算法改进大部分只实现了个别缺点的优化,要想获得更佳的资源分配,还需要对资源调度算法继续改进。
2.资源分配的动态性和用户请求的不确定性。雾节点需要根据附近用户需求的喜爱度及时的卸载更新资源,防止过时或错误的信息占用空间,因此每个雾节点的资源是动态变化的。而用户的请求也是各式各样的,这要求资源调度必须是动态的,资源调度策略必须根据这一现状进行动态的调整以适应上述两点特性。
3.在真实环境中进行验证。现在雾计算资源调度算法大多仍处于实验仿真验证环节,接下来需在真实的环境中研究验证。如果输出的全局最优解距离该用户较远,在实际场景中中不如选择距离用户较近的次优解与用户请求进行匹配。另外,雾计算的异构性使得雾服务器的类型复杂,各服务器的数据处理性能不同,需要考虑的因素更多,因此各资源调度算法需在真实环境中进行验证与改进。
参考文献:
[1]刘芸翠.雾计算中的资源调度算法研究[D].山东: 曲阜师范大学, 2019.
[2]韩奎奎, 谢在鹏, 吕鑫. 一种基于改进遗传算法的雾计算任务调度策略[J]. 计算机科学, 2018, 045 (004): 137-142.
[3]孙岩. 雾计算环境下资源管理模型及算法研究[D].北京:北京科技大学,2018.
[4]刘倩玉. 面向智能制造服务的雾资源调度技术研究[D].西安:电子科技大学,2018
[5]李志敏, 张伟.基于差分进化人工蜂群算法的云计算资源调度[J]. 计算机工程与设计, 2018, 039 (011): 3451-3455.
基金项目:青年科学基金项目(61801516)
第一作者:李莹(1997-),女,山东潍坊人,硕士研究生在读,.研究方向为边缘计算、雾计算.