一种基于离子运动算法的云计算资源调度方法与流程

文档序号:14994138发布日期:2018-07-24 04:23阅读:514来源:国知局

本发明属于云计算领域,涉及一种基于离子运动算法的云计算资源调度方法。



背景技术:

随着IT行业的快速发展,信息科学技术己经进入大数据、数据挖掘、云计算的新时代。云计算是一种新型的以用户服务为中心的商业计算模式,运用虚拟化技术将分布于不同地理位置、不同功能的计算节点资源虚拟成庞大的虚拟资源池供用户使用。由于云计算涉及到虚拟化技术、并行运算、高效的数据通信和存储,且自身的状态也处于不断的变化中,因此,云计算任务调度策略己是实现云计算的关键所在。

云计算的资源调度,是指在某个云环境下,根据该环境下资源的使用策略和不同资源的消费者需求,在使用者之间进行的资源的调度过程。由于云计算平台的资源是异构的,在调度时候既要考虑用户需求的动态改变还要考虑系统的协调以及成本因素,因此如何高效的对云资源进行调度成为云计算研究的一个难点。

资源调度的评价指标包括:集群性能、服务质量、经济效益、负载均衡等。近年来学者在云环境下的资源调度方面做了很多研究工作。大多研究工作关注于性能为中心的调度,服务质量为中心的调度和以经济原则为目标的调度。但大多数研究没有考虑任务超时的成本问题,即云服务提供商承诺的延时赔偿。而且,大多数研究是基于单一目标,调度过程中往往会过度优化某一项指标,但恶化其他指标。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于离子运动算法的云计算资源调度方法,该方法具有较快的调度速度,降低运行商的运营成本,从而提高云服务商经济效益。

为达到上述目的,本发明提供如下技术方案:

一种基于离子运动算法的云计算资源调度方法,该方法包括以下步骤:

S1:初始化各个服务器参数,给出超时赔偿参数;其中,服务器参数包括:服务器个数以及每个服务器拥有的CPU和内存信息;

S2:用户提交任务;其中,用户提交的任务包括:任务CPU、内存需求和期望完成时间;

S3:采用离子运动算法得到资源调度的分配方案,即任务与服务器的映射关系;

S4:调度器根据步骤S3得到的分配方案进行资源调度。

进一步,所述步骤S3具体包括:

S31:初始化种群的产生:系统随机生成S个任务与服务器的对应序列,即S个阴离子和阳离子,所有的离子个体组成一个种群;

S32:计算适应度值;

S33:选择操作:选择适应度值高的个体演化到下一代种群;

S34:更新操作:根据适应度值高低和离子之间的吸引力排斥力更新阴阳离子位置;

S35:是否达到迭代次数,是则选择适应度值最大的个体,得到该个体任务与服务器的对应方案;若没有达到迭代次数,则转到步骤S34选择出适应度值较高的S个个体继续循环。

进一步,所述步骤S32具体包括:

S321:根据分配方案,计算每台服务器运行时间,超时任务;

S322:计算出个体所需成本W,根据适应度函数,计算每个个体的适应值;

所述的个体所需成本W=∑i∈[0,W-1]Ki*Ti+∑b∈Bf(b,t),其中Ki为服务器i的单位成本,B为期望时间内没有完成的任务集合,f(b,t)为任务b超时t的成本函数;Ti为服务器i运行的时间,计算公式为:其中taski表示服务器i的任务量,job表示总任务需求,jobc表示单个任务需求,Ci表示资源节点计算能力;

适应度函数为所述适应度函数是根据整体的运行成本来计算的,对一个个体,如果所有服务器都有能力执行分配的任务,则计算这种分配方案的运算成本。适应度采用成本的倒数,成本越大,适应度越低。

进一步,所述步骤S33具体包括:所述选择操作采用轮盘赌方法,对适应度值较高的个体之间进行保留,如果保留的个体数达不到种群数S,则用轮盘赌方法进行选择余下个体。

进一步,所述步骤S34具体包括:所述更新操作采用位置变异方法,用适应度值最高的阴离子和阳离子来计算它们的吸引力,吸引力推动阴阳离子在群体里面运动,从而进一步更新阴阳离子位置;

假设在更新操作阶段离子间的吸引力远大于排斥力,忽视排斥力的大小,因此影响吸引力的唯一因素是离子之间的距离,建立数学模型如下:

ADx,y=|Ax,y-Cbesty|,CDx,y=|Dx,y-Abesty|

阴阳离子位置更新如下:

Ax,y=Ax,y+AFx,y×(Cbesty-Ax,y),Cx,y=Cx,y+CFx,y×(Abesty-Cx,y)

其中,x表示离子,y表示维度;ADx,y表示第x个阴离子与适用度值最高的阳离子之间的距离;CDx,y表示第x个阳离子与适用度值最高的阴离子之间的距离;AFx,y表示阴离子的吸引力,CFx,y表示阳离子的吸引力;Ax,y,Cx,y分别表示阴阳离子更新后的位置;Dx,y表示更新前的位置;Abesty表示适应度值最大的阴离子,Cbesty表示适应度值最大的阳离子。

进一步,所述云资源调度方法需要输入参数有:

(1)服务器参数:云中服务器的个数,每个服务器的CPU、内存信息和每个服务器的运算成本;

(2)任务参数:任务的总个数,每个任务需求的CPU、内存信息,期望完成时间和任务超时赔偿参数;

(3)算法参数:种群数S,终止迭代次数。

本发明的有益效果在于:本发明结合离子运动算法,查找最优速度较快,不易陷入局部最优,容易实现。并在寻优过程中,方法具有较好的鲁棒性。在考虑资源使用的同时,本发明考虑到了运行成本,并引入任务超时赔偿,降低云服务提供商的运行成本,能有效提高云服务商的经济效益。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明所述的云计算资源调度方法流程图;

图2为本发明所述的离子运动算法选择操作流程图;

图3为本发明所述的离子运动算法流程图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

本发明通过对云提供商成本建模,利用离子运动算法求出最优解,能有效地提高云服务提供商的效益。本发明不仅考虑设备利用成本,还考虑到超时成本,考虑的成本更加全面。同时,在求解最优解过程中,本发明使用离子运动算法进行求解,查找速度快,不易陷入局部最优。

图1为本发明所述的一种基于离子运动算法的云计算资源调度方法流程图,如图1所示,该方法包括以下步骤:

S1:初始化各个服务器参数,给出超时赔偿参数;其中,服务器参数包括:服务器个数以及每个服务器拥有的CPU和内存信息;

S2:用户提交任务;其中,用户提交的任务包括:任务CPU、内存需求和期望完成时间;

S3:采用离子运动算法得到资源调度的分配方案,即任务与服务器的映射关系;

S4:调度器根据步骤S3得到的分配方案进行资源调度。

在进入改进遗传算法之前,需要对一些参数初始化,任务的需求参数,与服务器的配置参数安装实际情况赋值即可。

如图3所示,本发明所述的离子运动算法具体实施步骤如下:

步骤1:生成初始种群;

由系统使用RANDOM函数随机生成满足条件的S个阴阳离子,即种群规模为S。在生成离子的过程中,可能要产生大于S个离子,有些离子的分配方案并不满足条件,因为某些资源节点的内存大小不能满足任务的内存需求。

步骤2:计算适应值;

本发明的适应度函数为其中Ki为服务器i的单位成本,Ti为服务器i运行的时间,B为期望时间内没有完成的任务集合,f(b,t)为任务b超时t的成本函数,f(b,t)采用线性函数或二次函数,推荐采用二次函数f(b,t)=f0+kt2

在计算成本时候,有可能多个任务分给同一个资源节点,在资源节点上本发明采用任务优先级方式调度,因为优先级较高的任务超时赔偿要多。单个资源节点运行时间,总运行时间为任务的需求计算总和除以资源节点计算能力。

并记录出哪些任务超时,以及超时时间。这样就可以计算出个体适应值。其中taski表示服务器i的任务量,job表示总任务需求,jobc表示单个任务需求,Ci表示资源节点计算能力。

步骤3:选择操作;

选择操作是离子运动算法评价个体适应性强度的方式,其流程如图2所示,先根据适应度公式计算出每个阴阳离子的适应度值,然后对其进行递减排序。选出适应度值大于某个阈值的所有个体,这个阈值要根据实际情况调整。如果选出的个体数大于S,则从中选取最高的S个个体,如果选出的个体数小于S,则从余下的个体中采用轮盘赌方法进行选择。

步骤4:更新操作;

假设在更新操作阶段离子间的吸引力远大于排斥力,忽视排斥力的大小,因此影响吸引力的唯一因素是离子之间的距离,建立数学模型如下:

ADx,y=|Ax,y-Cbesty|,CDx,y=|Dx,y-Abesty|

阴阳离子位置更新如下:

Ax,y=Ax,y+AFx,y×(Cbesty-Ax,y),Cx,y=Cx,y+CFx,y×(Abesty-Cx,y)

其中,x表示离子,y表示维度;ADx,y表示第x个阴离子与适用度值最高的阳离子之间的距离;CDx,y表示第x个阳离子与适用度值最高的阴离子之间的距离;AFx,y表示阴离子的吸引力,CFx,y表示阳离子的吸引力;Ax,y,Cx,y分别表示阴阳离子更新后的位置;Dx,y表示更新前的位置;Abesty表示适应度值最大的阴离子,Cbesty表示适应度值最大的阳离子。

步骤5:迭代数加1;

迭代次数加1,判断是否到达最大迭代值,如果达到最大迭代值,继续执行步骤5,如果没有达到则转入步骤2继续迭代。

步骤6:输出最优解。

从所有个体中选出评价值最高的个体即时所求解,也是任务与资源的对应关系。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

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