APP下载

一种基于云计算任务神经网络调度算法

2021-02-19谢剑

现代信息科技 2021年13期
关键词:数据分析神经网络云计算

摘  要:针对云计算环境下数据中心机房的云计算任务调度问题,本文提出一种基于云计算任务数据分析的神经网络调度算法,首先介绍了针对云计算任务的数据分析模型,计算云计算任务和计算节点的匹配度,定义了基于云计算任务调度最优化的目标能量函数,接着提出了任务调度神经网络算法的核心步骤,最后通过仿真验证神经网络调度算法的有效性。

关键词:云计算;任务调度;数据分析;神经网络

中图分类号:TP391.9     文献标识码:A文章编号:2096-4706(2021)13-0031-04

A Neural Network Scheduling Algorithm Based on Cloud Computing Task

XIE Jian

(Guangxi University of Science and Technology, Liuzhou  545006, China)

Abstract: Aiming at the cloud computing task scheduling problem of data center computer room in cloud computing environment, this paper proposes a neural network scheduling algorithm based on cloud computing task data analysis. Firstly, the data analysis model for cloud computing task, the matching degree between cloud computing task and computing node are introduced, and the objective energy function based on cloud computing task scheduling optimization is defined, Then, the core steps of task scheduling neural network algorithm are proposed. Finally, the effectiveness of neural network scheduling algorithm is verified by simulation.

Keywords: cloud computing; task scheduling; data analysis; neural network

0  引  言

随着社会对计算领域需求的增加,数据中心的大量建立,云计算应用普及,云计算相关技术成为了研究热点。任务调度是云计算的核心技术之一,如何设计一种有效、快速的任務调度方案是至关重要的,局域网中的云计算环境与公网的云计算环境有所不同,局域网的云计算服务具有大多数时间任务相对固定,调度要求时间短,瞬时任务爆发较大等特点。

针对上述问题,本文提出了基于数据分析的神经网络云计算任务调度算法,算法充分考虑了局域网云计算的用户和云计算服务提供商两方面的需求,对局域网用户云计算任务和云计算的主机相关特点和属性进行统计和分析,并结合历史的调度数据得到初始化调度方案。通过构建评价函数对调度方案进行评估,然后通过神经网络算法进行训练,从而得到一个具有计算出相对最优化任务调度方案功能的神经网络,最后就可以针对不同的任务群落进行快速计算得到调度方案,并且可以在云计算数据中心提供云计算服务的时候,不断地训练神经网络,对相关的权重适当调整,得到适应数据计算中心的神经网络,为后续的任务调度提供快速经济的调度方案。

1  基于大数据分析DATA-HNN

1.1  基于大数据的数据分析模型

本文主要依据用户及云资源提供商在云环境下所提供的计算任务和云计算资源进行数据分析,得到相关数据模型,并以此为依据生成神经网络初始训练集。

用户提交的云计算任务是根据自己的需求建立的,而云计算的资源提供商是根据计算中心的资源提供服务,他们都有自己的内在属性和特点,比如计算资源有带宽、计算速度、内存等限制,云计算任务有任务大小,带宽和时间等要求。为了能够对用户提交的任务和计算资源进行数据分析,可以根据以上一个或者多个维度进行归类和分析,为后续的任务或者计算资源的调度提供依据。

为了避免数据对计算调度方案的过多干扰,选取云计算资源的计算能力(mips)作为描述云计算资源的属性值,选取用户提交的任务大小作为描述云计算任务的属性值,然后根据任务的大小和云计算资源的计算能力进行分类汇总,设置一个标准值P用来描述任务和云计算资源的匹配度,即使用任务大小CM除以云计算资源的计算能力VM,如果P的值较大或者较小,两者匹配度不高,如果P的值接近于1,说明云计算资源和任务大小匹配度较高,或者说在云计算资源一个计算单位时间周期内能够计算完成该云计算任务,并且不会产生较多的空闲时间。根据P的值,构建多个云计算任务调度方案,最后通过Cloudsim模拟计算出调度方案的计算执行时间,可以得到一个完整的描述云计算调度的过程的集合,也就是相关的训练集,选取执行时间最优的方案作为神经网络神经节点权重的初始值。P表达式为:

(1)

表达式中云计算任务i与云计算节点主机j匹配度的计算方式为:根据云计算资源属性相关权重计算并相加得到。

其中,i代表云计算任务编号i;j代表云计算任务编号j;A、B、C……表示云计算资源其中一种属性的权值;CiM为任务序列任务编号i任务大小;VjM为云计算资源序列云计算节点编号j运算速度;CiMe为任务序列任务编号i需求计算资源的内存大小;VjMe为云计算资源序列云计算节点编号j内存大小;CiB为任务序列任务编号i需求计算资源的带宽大小;VjB为云计算资源序列云计算节点编号j需求计算资源的带宽大小。

1.2  基于云计算任务调度的连续型Hopfield神经网络定义

将目前初始的云计算任务调度方案,按照云计算任务序列m和云计算节点序列n构成mn行mn列换位矩阵。Xij表示该云计算任务i是否选择在该计算资源节点j运行,取值为0或者1,0代表否定,1代表确定,并定义Xij作为神经网络的神经元,神经元的激活态与非激活态与其值相对应,i取值范围为1到M,j取值范围为1到N。

定义1(约束条件1)一个计算节点上可以有多个或者一个计算任务顺序运行。

(2)

定义2(约束条件2)一个计算任务只能选择在一个计算节点运行。

(3)

定义3(约束条件3)计算节点在有云计算任务没有被执行的情况下尽量不空闲。

(4)

值越小,空闲的计算节点越少,以确保不会有大量的空闲节点。

定义4(约束条件4)计算节点和云计算任务的相关属性匹配度评价。

(5)

自定义变量Q作为云计算任务与计算节点的匹配度评价的阈值,如果当前云计算任务和云计算节点匹配度评价的均值越接近阈值Q,值越小。

根据定义分析可知,当调度方案满足约束条件时,相关的约束条件其值为0,整个能量函数表达式为:

(6)

Sy为相关约束条件的权值,取值大于0。这样就能通过能量函数定义优化目标,就能得到满足约束条件的调度方案。

由于Hopfield神经网络算法运算速度快,具有较强的并行运算能力,能在较短的时间内计算出组合优化问题的结果,通过结合约束条件和公式(6)转换为以下能量函数:

(7)

其中,Uij表示当前云计算任务i在元计算计算节点j运行,在HNN神经网络中表示神经元节点;Ωijkl为两个神經元节点的链接强度;φkl为相关节点神经元的阈值,该阈值根据相关约束条件计算得出。神经元状态只有激活态(1)和非激活态(0),变化规律依据约束条件通过式(9)计算结果进行变换。式(9)表达式为:

(9)

1.3  基于数据分析的云计算任务调度DATA-HNN算法

本文通过对云计算任务进行数据分析,通过形成数据分类,求取对云计算任务和云计算主机之间的匹配度,然后根据匹配度形成Hopfield神经网络所需的初始训练集,这样的训练集可以在运算的初始阶段涵盖云计算任务总运算时间相对较短的调度方案,然后通过初始训练集确定神经网络神经节点的参数,这样就能快速地计算出相对最优化的云计算任务调度方案。

核心步骤为:

步骤1 根据子任务集合和云计算节点集合,计算出匹配度矩阵。

步骤2 根据匹配度矩阵,随机构造初始神经元状态。

步骤3 利用式7至9计算能量函数,通过能量函数迭代计算并修正神经网络中的节点相关参数,最后通过Cloudsim平台计算每次迭代的云任务运行时间,直至神经网络的能量函数输出值收敛,或者规定时间内(迭代次数)调度方案云任务运行时间不再变化。

步骤4最后输出当前云计算调度方案、运行时间和神经网络结构作为计算结果。保留神经网络结构和相关参数,作为未来云计算调度计算的参考。

2  仿真实验

2.1  实验数据初始化设置

针对本文采用的算法进行评估,将采用Cloudsim平台对DATA-HNN与HNN算法、遗传算法进行对比实验。

假定云环境拥有的主机种类有10种不同运算速度的云计算主机资源,其主要性能如表1所示。

为了排除云计算主机其他参数对实验的影响,主机只保持运算速度有差异,主机的其他参数保持一致,只要满足不产生性能瓶颈即可。

云计算任务集合通过随机数生成任务大小不同的2000条任务,部分任务参数如表2所示。

为了验证数据分析模型匹配度的有效性,降低相关云计算任务其他参数要求对数据的影响,云计算任务只有任务计算大小的差异,其他属性保持一致。

根据相关文献和实验经验设置式(6)的相关权重参数为S1=4.3,S2=4.0,S3=2.4,S4=1.2,DATA-HNN与HNN算法、遗传算法迭代次数统一设置为300。

2.2  实验结果分析及其展望

在HNN算法中不同于搜索类和群算法,HNN把云计算任务和计算节点形成二位矩阵,矩阵中每一个节点都是该神经网络的神经元,通过神经元状态的变化和能量函数的计算实现对最优化解空间的搜索,最后计算时间最小值找到解空间的最优调度方案。通过对云计算任务集合与云计算节点集合数据分析,通过计算云计算任务与计算节点的匹配度,根据匹配度排序优先级生成初始调度方案。最后在相同条件下,分别比较DATA-HNN、随机HNN、Data-GA、随机遗传算法在计算云计算调度方案中的优劣。

为了便于比较,在作对比的时候只记录每一种算法输出结果的最优调度方案。对比结果如图1所示。

经过10次迭代次数为300次实验仿真,得到相关运行数据总结如下:运行结果在迭代次数达到100后趋向平稳,图1显示前100次迭代的平均运行时间,调度方案各有不同,云计算任务的运行时间有一定的差别,但是差别不大。

从图1中可以看出,HNN算法能在较短的时间和较少迭代次数下快速得到解空间中相对最优解,但是在后续中会有一定的波动,HNN因为有矩阵运算会耗费大量的运算资源。GA算法的云计算任务运算时间下降速度稍快,但是相对比较稳定,得到相对最优解后变化不大。HNN和GA两者比较,GA算法在同样迭代次数条件下较HNN快得多,但是GA并不是稳定收敛的,HNN由于能量函数的存在,由于能量数值逐渐减少,HNN是稳定收敛的。

DATA-HNN、Data-GA由于在仿真实验之前,通过数据分析算法,计算云计算计算节点和云计算任务的匹配度,然后通过匹配度优先依次顺序匹配云计算任务和计算,在仿真实验的初始階段就能够得到相对运行时间比较短的调度方案,而基于HNN算法的特点,随着能量函数能量数值的减少,HNN只能越来越收敛,得到的调度方案的运行时间只能越来越小,不会产生波动,而GA由于是变异搜索算法,GA会产生波动,不会变为越来越小,需要结合其他算法,才能达到相对好的运算效果。HNN可以通过长时间运行,积累云计算中心接收的云计算任务的特点,形成相对固定且适应云计算数据中心的HNN参数,云计算中心就能更快速高效完成任务调度。

3  结  论

针对解决云环境下云数据中心任务频繁、大量任务调度优化问题,建立了基于数据分析的调度算法Data-HNN,通过云仿真平台CloudSim将Data-HNN算法与HNN算法、Data-GA算法、GA算法进行比较,仿真结果表明Data-HNN算法能够在云计算中心任务调度实现对云计算任务的数据分析,形成初始的任务调度方案,并通过HNN算法实现对任务调度方案的优化,从而形成相对固定的神经网络结构和相关参数,以便实现对云计算任务的再次调度。但是,本文仅仅考虑了云计算任务和计算节点的一个维度(任务大小)对算法的影响,同时HNN算法相关网络参数为人为固定,下一步将考虑计算云计算任务多个维度和计算节点匹配度,生成初始调度方案的问题,HNN算法相关网络参数动态调整的问题。

参考文献:

[1] 李枝勇,马良,张惠珍.蝙蝠算法在多目标多选择背包问题中的应用 [J].计算机仿真,2013,30(10):350-353.

[2] 金伟健,王春枝.基于蝙蝠算法的云计算资源分配研究 [J].计算机应用研究,2015,32(4):1184-1187.

[3] 许波,赵超,祝衍军,等.云计算中虚拟机资源调度多目标优化 [J].系统仿真学报,2014,26(3):592-595+620.

[4] 张晓东.遗传算法与蚁群算法相融合的云计算任务调度算法研究 [D].镇江:江苏大学,2013.

[5] 张宇楠,刘付永.一种改进的变步长自适应蝙蝠算法及其应用 [J].广西民族大学学报(自然科学版),2013,19(2):51-54+81.

[6] 唐大志.用Hopfield神经网络解决作业车间调度问题 [J].辽宁工程技术大学学报,2004(S1):88-90.

[7] 郭玉栋,左金平.基于霍普菲尔德网络的云作业调度算法 [J].系统仿真学报,2019,31(12):2859-2867.

作者简介:谢剑(1986.08—)男,壮族,广西柳州人,工程师,硕士,研究方向:云计算神经网络大数据。

猜你喜欢

数据分析神经网络云计算
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
基于自适应神经网络的电网稳定性预测
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
新常态下集团公司内部审计工作研究
基于云计算的移动学习平台的设计
浅析大数据时代对企业营销模式的影响
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用