一种基于飞蛾算法的云数据中心认知资源调度方法与流程

文档序号:12550428阅读:388来源:国知局
一种基于飞蛾算法的云数据中心认知资源调度方法与流程

本发明涉及大数据分析领域和信息可视化领域,特别涉及一种基于飞蛾算法的云数据中心认知资源调度方法。



背景技术:

云计算被认为是下一代的IT服务模式,近年来受到政府,企业,学术界的巨大关注。此外,它还是一种超级的计算模式,其中包含着大量分散、异构资源,通过整合这些异构,分散资源,以服务的形式提供给使用者,只需要通过具有普通计算和存储能力的终端设备,就可以获得强大的计算能力。现在云计算普遍采用虚拟化技术,利用分散在各地的物理机剩余资源,虚拟出统一的虚拟资源池(包括处理器,内存,存储,网络等),将这些资源像水电等公共事业一样被组织与管理,供需要它的用户按需调度。

云数据中心认知资源调度系统模型架构由云代理,资源调度器,云服务器三大部分构成,云代理的具体工作内容有:根据用户请求中的标志位判断用户请求类别,若表示用户请求为实时性,应立即配资源,将该类用户请求按先来先服方式插入到等待队列Ⅰ;若表示用户请求可以允许有一定时延,将该类用户请求插入到等待队列Ⅱ,我们对这些用户请求做批量处理,采用时间片轮询的方式将队列Ⅱ的请求批量向资源调度器提交。

目前云服务提供商SP(Service Provider)在大多数情况下主要为用户(User)提供资源按需配置方案。资源按需配置是指云服务提供商实时为用户调度各种所需资源。在云计算中,资源分配更确切的是一种商业行为,必须兼顾云服务提供商(SP)的收益与云用户(User)满意度,通过合理的资源调度算法,可以实现在两者基础的资源最优化配置。

现有云计算技术中,云数据中心资源利用率较低。另一方面,由于前者利用率较低导致云服务提供商的收益也受到相应影响。

例如申请号为201610057638.8的基于改进的遗传算法的云计算资源调度实现方法,该发明为基于改进的遗传算法的云计算资源调度实现方法,随着云计算的发展,数据中心规模越大,能耗问题和资源利用率成为最主要的制约因素,因此在满足用户需求的基础上,如何设计合理的资源调度方法,提高资源利用率,降低能耗成为迫切需要解决的问题,也是目前云计算发展的瓶颈之一。该方法将遗传算法进行改进,并应用到云计算资源调度中。将SLA约束和能耗约束作为适应度函数,使得虚拟机在物理机上创建时能够找到最合适的放置策略,改进后的遗传算法在满足用户需求基础上,节约能耗,最大程度产生最优的经济效益。

但该方法仅从单目标方面考虑适应度函数的设计,同时,遗传算法的执行效率较低且易出现过早收敛等情况。



技术实现要素:

本发明所要解决的技术问题是解决上述的技术问题,提出了一种基于飞蛾算法的云数据中心认知资源调度方法,将飞蛾算法用于解决云数据中心认知资源调度问题,从而提升云数据中心资源利用率和云服务提供商的收益。

本发明为解决上述技术问题采用以下技术方案

一种基于飞蛾算法的云数据中心认知资源调度方法,具体包含如下步骤:

步骤1,用户根据自身所需资源向云数据库中的资源库提出请求;

步骤2,将云数据库中的资源初始化成一个飞蛾种群,并计算每个飞蛾种群的适应度值;

步骤3,初始化火焰种群和火焰适应度值,对飞娥种群的适应度值进行从大到小的排序,并将排序后的种群和适应度值作为火焰的种群和适应度值;

步骤4,记录最大的火焰适应度值和相应适应度值对应的位置,并对飞蛾的种群进行位置更新;

步骤5,判断迭代次数是否满足设定迭代次数,若达到指定代数,输出最终的火焰种群和火焰适应度值,若不满足,继续进行迭代操作;

步骤6,对最终输出的火焰种群和火焰适应度值进行相关映射,从而得到云数据库中所有资源的一个最佳调度方案;

步骤7,得出最终结果,按照结果将任务分配到虚拟机中。

作为本发明一种基于飞蛾算法的云数据中心认知资源调度方法的进一步优选方案,在步骤2中,计算每个飞蛾种群的适应度值,具体计算如下:

其中,为飞蛾i在第t次迭代的解,表示解的个体执行时间适应度函数;表示解的个体负载适应度函数。

作为本发明一种基于飞蛾算法的云数据中心认知资源调度方法的进一步优选方案,在步骤3中,根据飞蛾种群适应度数值的大小进行从大到小的排序。

作为本发明一种基于飞蛾算法的云数据中心认知资源调度方法的进一步优选方案,步骤4中的位置更新是对已有飞蛾种群的一次迭代,进而产生下一代的飞蛾种群。

作为本发明一种基于飞蛾算法的云数据中心认知资源调度方法的进一步优选方案,在步骤5中,迭代次数为50。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

本发明针对目前云数据中心资源利用率较低以及云服务提供商收益低的问题,将飞蛾算法用于解决云数据中心认知资源调度问题,从而提升云数据中心资源利用率和云服务提供商的收益。此外,改进后的飞蛾算法在满足用户需求的基础上,最大程度上地去产生最优的经济效益。

附图说明

图1是本发明基于飞蛾算法的云数据中心认知资源调度方案流程图;

图2是基于遗传算法的发明框架示意图;

图3是本发明云计算任务调度模型。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

如图1所示,一种基于飞蛾算法的云数据中心认知资源调度方法,具体包含如下步骤:

步骤1,用户根据自身所需资源向云数据库中的资源库提出请求;

步骤2,将云数据库中的资源初始化成一个飞蛾种群,并计算每个飞蛾种群的适应度值;

步骤3,初始化火焰种群和火焰适应度值,对飞娥种群的适应度值进行从大到小的排序,并将排序后的种群和适应度值作为火焰的种群和适应度值;

步骤4,记录最大的火焰适应度值和相应适应度值对应的位置,并对飞蛾的种群进行位置更新;

步骤5,判断迭代次数是否满足设定迭代次数,若达到指定代数,输出最终的火焰种群和火焰适应度值,若不满足,继续进行迭代操作;

步骤6,对最终输出的火焰种群和火焰适应度值进行相关映射,从而得到云数据库中所有资源的一个最佳调度方案;

步骤7,得出最终结果,按照结果将任务分配到虚拟机中。

在步骤3中,根据飞蛾种群适应度数值的大小进行从大到小的排序。

步骤4中的位置更新是对已有飞蛾种群的一次迭代,进而产生下一代的飞蛾种群。

在步骤5中,迭代次数为50。

如图2所示,云任务调度可以描述为由任务调度器将n个相互独立的任务分配到m个空闲的资源上(n>m)的过程,并遵循负载均衡、最优跨度、QoS等原则,实现资源的充分利用。

如图3所示,云计算任务调度模型

假设n个任务,m个虚拟化资源。在这个模型中,存在着从任务到虚拟机的调度,该调度根据任务的大小、优先级以及虚拟机的处理能力、内存等为虚拟机分配任务策略。本文研究的是从任务到虚拟机的调度。在这个过程中,适应度函数的设计对飞蛾算法在寻优过程中起着决定性作用。

本发明为实现上述发明目的采用如下技术方案:

为使云数据中心认知资源调度达到最优,需综合考虑以下两个因素:执行时间和负载均衡。

1)执行时间会影响用户对服务的满意程度和用户体验,从而影响资源服务提供商的收益。因此,执行时间可以定义为:

runTimeij=finishTimeij-startTimeij (1)

其中,runTimeij为任务ti在虚拟机VMj上的执行时间,finishTimeij为任务ti在虚拟机VMj上的完成时间,starTimeij为任务ti在虚拟机VMj上的开始时间。则全部虚拟机的总执行时间为:

2)云数据中心认知资源调度要考虑的另一个因素是负载均衡。负载是指被分到一台虚拟机上的所有任务的总长度。多个任务被分配到一台或多台虚拟机上同时执行,调度器需协调好任务分配,避免出现虚拟机负载过重或空闲状态。

假设所有任务是独立的,非抢占式的,所有虚拟机是独立的,并行的。

虚拟机VMj在某一时刻的负载定义为:

其中,taskLengthj为某时刻虚拟机VMj服务队列中的任务长度。

则全部虚拟机的总负载为:

适应度值用来评价群体智能算法中个体的优劣程度,适应度值越大,则个体越好,反之个体越差。将飞蛾算法用于云数据中心认知资源调度的主要思想是通过适应度值对选出来的资源调度方案进行评估,从而选出一个最佳的调度方案,设为飞蛾i在第t次迭代的解,则拟设计出如下适应度函数来评估飞蛾i:

其中,为飞蛾i在第t次迭代的解,表示解的个体执行时间适应度函数;表示解的个体负载适应度函数。由于两个优化目标的数量级相差较远,直接相加误差较大,则需要对两个结果进行数值规范化。通过对两个结果分别取对数,再取倒数,得到各自的适应度函数。再采用最简便的求和策略来获得适应度值,则整合两个优化目标的适应度函数为:

在群体智能算法中,通常采用特定的编码方式来表示任务调度方案,再根据该编码进行操作,最后迭代到最优解,从而选出最优任务调度方案。

本发明针对目前云数据中心资源利用率较低以及云服务提供商收益低的问题,将飞蛾算法用于解决云数据中心认知资源调度问题,从而提升云数据中心资源利用率和云服务提供商的收益。此外,改进后的飞蛾算法在满足用户需求的基础上,最大程度上地去产生最优的经济效益。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1