CN105975342A - 基于改进布谷鸟搜索算法的云计算任务调度方法及系统 - Google Patents

基于改进布谷鸟搜索算法的云计算任务调度方法及系统 Download PDF

Info

Publication number
CN105975342A
CN105975342A CN201610279700.8A CN201610279700A CN105975342A CN 105975342 A CN105975342 A CN 105975342A CN 201610279700 A CN201610279700 A CN 201610279700A CN 105975342 A CN105975342 A CN 105975342A
Authority
CN
China
Prior art keywords
bird
cloud computing
nest
task
cauchy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610279700.8A
Other languages
English (en)
Other versions
CN105975342B (zh
Inventor
刘竹松
陈洁
田龙
李志科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201610279700.8A priority Critical patent/CN105975342B/zh
Publication of CN105975342A publication Critical patent/CN105975342A/zh
Application granted granted Critical
Publication of CN105975342B publication Critical patent/CN105975342B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Abstract

本发明公开了一种基于改进布谷鸟搜索算法的云计算任务调度方法及系统,方法包括:构建云计算任务调度模型,并以最优时间跨度时间和负载均衡为原则,确立云计算任务调度方案的适应度函数;根据云计算任务调度模型采用整数编码来对云计算任务调度方案的解进行描述;根据云计算任务调度方案的适应度函数采用改进的布谷鸟搜索算法求解云计算任务调度方案的最优解,然后根据求解的最优解为云计算任务分配相应的资源,所述改进的布谷鸟搜索算法采用柯西分布对陷入局部最优解的鸟巢进行柯西变异。本发明能跳出局部最优解,且能使调度方案同时在最优时间跨度和负载均衡方面表现优异,可广泛应用于云计算领域。

Description

基于改进布谷鸟搜索算法的云计算任务调度方法及系统
技术领域
本发明涉及云计算领域,尤其是一种基于改进布谷鸟搜索算法的云计算任务调度方法及系统。
背景技术
随着信息时代的快速发展,在分布式计算、并行计算和网格计算逐步发展成熟的基础上,云计算应运而生。作为一种新兴的商业计算模型,云计算已经成为了工业界和学术界研究的热点。云计算的核心思想是利用分布在各地闲散异构的大规模廉价物理资源,整合形成巨大的虚拟资源池,再通过网络将用户提交的计算和存储任务调度到不同的虚拟机上,使得人们能够以极低的成本投入提升计算能力及存储容量,获得较高的服务质量。在云计算系统中,可按需进行动态地部署、配置、重新配置和取消服务。
然而,由于不断增长的用户量和云计算网络中节点的异构性和复杂性,如何及时、高效地进行任务调度,合理地利用资源,提高资源利用率和任务执行的效率,成为云计算研究的核心问题之一。
在云计算系统中,任务调度的实质是将n个相互独立的任务合理分配到m个异构的可用资源上,以达到任务调度目标。云计算的任务调度的目标是对用户提交的任务实现最优调度,具体包括实现最优时间跨度(Optimal Makespan),保障服务质量(Quality ofService,QoS),保证负载均衡(Load Balancing)以及节省经济成本(EconomicPrinciples)。时间跨度是从云计算系统中第一个任务开始,直到最后一个任务执行完成过程中所消耗的时间,时间跨度越短证明调度策略越好。跨度是调度中重要且常见的目标,因此,实现最优时间跨度是用户和云计算提供商的共同目标。而负载均衡是云计算系统中的资源分配负载平衡,达到最佳化资源使用、最大化吞吐量和最小化响应时间,避免过载。
在云任务调度过程中,最优调度方案的求解过程是一个离散型组合优化问题。近年来,众多学者提出或优化了很多算法应用于任务调度,如蚁群算法、模拟退火算法、粒子群优化算法、遗传算法等。这些算法以各自的优点对非确定性多项式问题和组合优化问题进行求解。这些算法虽然可以从某个角度提高任务调度的效率,但是也存在其局限性,如很难同时在最优时间跨度和负载均衡方面均表现良好。相比较而言,布谷鸟搜索算法是一种比较新颖的群体智能启发式优化算法,其利用Lévy flights(莱维飞行)随机游动和偏好随机游动来共同构成平衡算法的局部搜索和全局搜索的步骤,能通过Lévy flights(莱维飞行)较快地寻找到全局最优解。国内外的一些学者在此方面做了一些研究,但鲜有将此算法应用于求解云计算调度上。此外,现有的布谷鸟算法在进化后期容易造成早熟,易陷入局部最优解,导致无法搜索出全局最优解,也限制了其在云计算调度上的应用。
发明内容
为解决上述技术问题,本发明的目的在于:提供一种能跳出局部最优解,且能使调度方案同时在最优时间跨度和负载均衡方面表现优异的,基于改进布谷鸟搜索算法的云计算任务调度方法。
本发明的另一目的在于:提供一种能跳出局部最优解,且能使调度方案同时在最优时间跨度和负载均衡方面表现优异的,基于改进布谷鸟搜索算法的云计算任务调度系统。
本发明所采取的技术方案是:
基于改进布谷鸟搜索算法的云计算任务调度方法,包括以下步骤:
S1、构建云计算任务调度模型,并以最优时间跨度时间和负载均衡为原则,确立云计算任务调度方案的适应度函数;
S2、根据云计算任务调度模型采用整数编码来对云计算任务调度方案的解进行描述;
S3、根据云计算任务调度方案的适应度函数采用改进的布谷鸟搜索算法求解云计算任务调度方案的最优解,然后根据求解的最优解为云计算任务分配相应的资源,所述改进的布谷鸟搜索算法采用柯西分布对陷入局部最优解的鸟巢进行柯西变异。
进一步,所述步骤S1中云计算任务调度模型G的表达式为:
G = { T a s k , S } S = { VM 1 , VM 2 , ... , VM m } T a s k = { Clet 1 , Clet 2 , ... , Clet n } V M = { v m i d , m i p s , s i z e , r a m , b w , p e s N u m b e r } C l e t = { i d , l e n g t h , f i l e S i z e , o u t p u t S i z e } ,
所述云计算任务调度方案X的适应度函数F(X)的表达式为:
F ( X ) = ω * T i m e ( X ) + ( 1 - ω ) * L o a d ( X ) T i m e ( X ) = m a x i = 1 m T i V M L o a d ( X ) = β D ( X ) V M + ( 1 - β ) D ( X ) C l e t D ( X ) V M = 1 m Σ i = 1 m ( T i V M - E ( X ) V M ) 2 Σ i = 1 m E ( X ) V M = 1 m Σ i = 1 m T i V M D ( X ) C l e t = 1 n Σ j = 1 n ( T j C l e t - E ( X ) C l e t ) 2 E ( X ) C l e t = 1 n Σ j = 1 n T j C l e t ,
其中,Task为任务集,S为资源集,n为任务的数量,m为资源的数量,VM为任务集中的任一任务,Clet为资源集中的任一资源,vmid表示资源id号,mips表示CPU运行指令数,size表示资源大小,ram表示内存,bw表示带宽,pesNumber代表拥有的CPU个数,id表示任务id,length代表任务长度,fileSize、outputSize分别代表任务Clet的输入、输出文件大小,Ti VM为S中资源i运行的总时间,为Task中任务j执行所需要的时间,E(X)VM表示资源VM运行时间的期望值,D(X)VM表示资源VM运行时间的方差,E(X)Clet表示任务Clet运行时间的期望值,D(X)Clet表示任务Clet运行时间的方差,β∈(0,1)为比例因子,Load(X)为负载平衡因子,ω∈(0,1]为权值因子。
进一步,所述步骤S2采用整数编码来对云计算任务调度方案的解进行描述时,编码公式为:C=[c1,c2,...,cl,...,cn],对应的解码公式为:其中,cl∈[1,m+1)且cl为实数,C为对m个资源的序列号进行编码后得到的一维编码数组集,C'为C对应的一维解码数组集,为向下取整符号,C'中每一维上的数值代表n个任务中对应任务所分配的执行资源序列号。
进一步,所述步骤S3包括:
S31、采用改进的布谷鸟搜索算法求解云计算任务调度方案X的适应度函数F(X)的全局最优解;
S32、根据求解的最优解进行为云计算任务分配相应的资源。
进一步,所述步骤S31包括:
S311、初始化布谷鸟搜索算法的基本参数和鸟巢;
S312、计算各鸟巢的适应度并根据柯西扰动条件判断其是否需要进行柯西变异,若满足柯西扰动条件,则需要则执行步骤S313,反之,则跳至步骤S314,所述设定的柯西扰动条件为:
1 T p r e Σ e = T c u r T c u r - ( T p r e - 1 ) | F e ( X ) - F e - 1 ( X ) | ≤ δ ,
其中,Tpre表示向前比较的代数,Tcur表示当前代数,Fe(X)表示第e代当前鸟巢的适应度值,Tpre<e≤Tcur,δ为柯西扰动因子;
S313、根据柯西变异公式对鸟巢进行变异,然后以变异后的鸟巢执行步骤S314,所述柯西变异公式为:其中,表示变异前第k代鸟巢群中的第h个鸟巢的第o个蛋,表示变异后第k代鸟巢群中的第h个鸟巢的第o个蛋,C(0,1)为标准柯西分布的随机变量;
S314、根据莱维飞行的公式更新鸟巢的位置,并计算及评估新的鸟巢适应度值,然后对比先前最优后更新最优鸟巢记录,所述莱维飞行的公式为:其中,表示在t+1代中第u个鸟巢的位置,表示在t代中第u个鸟巢的位置,α表示步长控制量,表示点乘积,Lévy(λ)服从λ(1<λ≤3)的莱维分布;
S315、通过偏好随机游动产生随机数R,然后将R与布谷鸟的蛋被寄主发现的概率Pa进行比较,其中,Pa∈[0,1],若R>Pa,则随机改变鸟巢位置,得到一组新的鸟巢位置,反之,则保留当前鸟巢位置;
S316、判断是否满足设定的停止条件,若是,则表明最优鸟巢位置寻找完毕,此时根据最优鸟巢位置得到云计算任务调度方案对应的最优解,否则返回步骤S312继续下一代的搜索。
进一步,所述资源集中的资源为虚拟机,所述云计算任务调度方案X的最优解为适应度函数F(X)取最小值时对应的解。
本发明所采取的另一技术方案是:
基于改进布谷鸟搜索算法的云计算任务调度系统,包括:
建模模块,用于构建云计算任务调度模型,并以最优时间跨度时间和负载均衡为原则,确立云计算任务调度方案的适应度函数;
整数编码模块,用于根据云计算任务调度模型采用整数编码来对云计算任务调度方案的解进行描述;
最优解寻找与分配模块,用于根据云计算任务调度方案的适应度函数采用改进的布谷鸟搜索算法求解云计算任务调度方案的最优解,然后根据求解的最优解为云计算任务分配相应的资源,所述改进的布谷鸟搜索算法采用柯西分布对陷入局部最优解的鸟巢进行柯西变异;
所述建模模块的输出端通过整数编码模块而和最优解寻找与分配模块的输入端连接。
进一步,所述建模模块中云计算任务调度模型G的表达式为:
G = { T a s k , S } S = { VM 1 , VM 2 , ... , VM m } T a s k = { Clet 1 , Clet 2 , ... , Clet n } V M = { v m i d , m i p s , s i z e , r a m , b w , p e s N u m b e r } C l e t = { i d , l e n g t h , f i l e S i z e , o u t p u t S i z e } ,
所述云计算任务调度方案X的适应度函数F(X)的表达式为:
F ( X ) = ω * T i m e ( X ) + ( 1 - ω ) * L o a d ( X ) T i m e ( X ) = m a x i = 1 m T i V M L o a d ( X ) = β D ( X ) V M + ( 1 - β ) D ( X ) C l e t D ( X ) V M = 1 m Σ i = 1 m ( T i V M - E ( X ) V M ) 2 Σ i = 1 m E ( X ) V M = 1 m Σ i = 1 m T i V M D ( X ) C l e t = 1 n Σ j = 1 n ( T j C l e t - E ( X ) C l e t ) 2 E ( X ) C l e t = 1 n Σ j = 1 n T j C l e t ,
其中,Task为任务集,S为资源集,n为任务的数量,m为资源的数量,VM为任务集中的任一任务,Clet为资源集中的任一资源,vmid表示资源id号,mips表示CPU运行指令数,size表示资源大小,ram表示内存,bw表示带宽,pesNumber代表拥有的CPU个数,id表示任务id,length代表任务长度,fileSize、outputSize分别代表任务Clet的输入、输出文件大小,Ti VM为S中资源i运行的总时间,为Task中任务j执行所需要的时间,E(X)VM表示资源VM运行时间的期望值,D(X)VM表示资源VM运行时间的方差,E(X)Clet表示任务Clet运行时间的期望值,D(X)Clet表示任务Clet运行时间的方差,β∈(0,1)为比例因子,Load(X)为负载平衡因子,ω∈(0,1]为权值因子。
进一步,所述最优解寻找与分配模块包括:
最优解寻找单元,用于采用改进的布谷鸟搜索算法求解云计算任务调度方案X的适应度函数F(X)的全局最优解;
分配单元,用于根据求解的最优解进行为云计算任务分配相应的资源;
整数编码模块的输出端通过最优解寻找单元进而与分配单元的输入端连接。
进一步,所述最优解寻找单元包括:
初始化子单元,用于初始化布谷鸟搜索算法的基本参数和鸟巢;
柯西变异判断子单元,用于计算各鸟巢的适应度并根据柯西扰动条件判断其是否需要进行柯西变异,若满足柯西扰动条件,则需要则转至柯西变异子单元,反之,则跳至莱维飞行更新子单元,所述设定的柯西扰动条件为:
1 T p r e Σ e = T c u r T c u r - ( T p r e - 1 ) | F e ( X ) - F e - 1 ( X ) | ≤ δ ,
其中,Tpre表示向前比较的代数,Tcur表示当前代数,Fe(X)表示第e代当前鸟巢的适应度值,Tpre<e≤Tcur,δ为柯西扰动因子;
柯西变异子单元,用于根据柯西变异公式对鸟巢进行变异,然后以变异后的鸟巢执行莱维飞行更新子单元的操作,所述柯西变异公式为:其中,表示变异前第k代鸟巢群中的第h个鸟巢的第o个蛋,表示变异后第k代鸟巢群中的第h个鸟巢的第o个蛋,C(0,1)为标准柯西分布的随机变量;
莱维飞行更新子单元,用于根据莱维飞行的公式更新鸟巢的位置,并计算及评估新的鸟巢适应度值,然后对比先前最优后更新最优鸟巢记录,所述莱维飞行的公式为:其中,表示在t+1代中第u个鸟巢的位置,表示在t代中第u个鸟巢的位置,α表示步长控制量,表示点乘积,Lévy(λ)服从λ(1<λ≤3)的莱维分布;
偏好随机游动子单元,用于通过偏好随机游动产生随机数R,然后将R与布谷鸟的蛋被寄主发现的概率Pa进行比较,其中,Pa∈[0,1],若R>Pa,则随机改变鸟巢位置,得到一组新的鸟巢位置,反之,则保留当前鸟巢位置;
寻优终止输出子单元,判断是否满足设定的停止条件,若是,则表明最优鸟巢位置寻找完毕,此时根据最优鸟巢位置得到云计算任务调度方案对应的最优解,否则返回柯西变异判断子单元继续下一代的搜索;
所述整数编码模块的输出端通过初始化子单元而与柯西变异判断子单元的输入端连接,所述柯西变异判断子单元的输出端分别与柯西变异子单元的输入端和莱维飞行更新子单元的第一输入端连接,所述柯西变异子单元的输出端和莱维飞行更新子单元的第二输入端连接,所述莱维飞行更新子单元的输出端通过偏好随机游动子单元而与寻优终止输出子单元的输入端连接,所述寻优终止输出子单元输出端分别与柯西变异判断子单元的输入端以及分配单元的输入端连接。
本发明的方法的有益效果是:先构建云计算任务调度模型和确定适应度函数,再进行整数编码,最后采用改进的布谷鸟搜索算法求解最优解,将基于全局搜索柯西变异的布谷鸟搜索算法应用于云计算任务调度,利用柯西变异对陷入局部最优解的鸟巢进行扰动,以跳出局部最优解,提高了搜索速度和搜索质量;且以最优时间跨度时间和负载均衡为原则,确立云计算任务调度方案的适应度函数,能使调度方案同时在最优时间跨度和负载均衡方面表现优异。
本发明的系统的有益效果是:先在构建模块中构建云计算任务调度模型和确定适应度函数,再在整数编码模块进行整数编码,最后在最优解寻找与分配模块中采用改进的布谷鸟搜索算法求解最优解,将基于全局搜索柯西变异的布谷鸟搜索算法应用于云计算任务调度,利用柯西变异对陷入局部最优解的鸟巢进行扰动,以跳出局部最优解,提高了搜索速度和搜索质量;且以最优时间跨度时间和负载均衡为原则,确立云计算任务调度方案的适应度函数,能使调度方案同时在最优时间跨度和负载均衡方面表现优异。
附图说明
图1为本发明基于改进布谷鸟搜索算法的云计算任务调度方法的整体流程图;
图2为本发明基于改进布谷鸟搜索算法的云计算任务调度系统的结构框图;
图3为高斯N(0,1)随机数和柯西C(0,1)随机数的分布密度;
图4为本发明改进的布谷鸟搜索算法流程图。
具体实施方式
参照图1,基于改进布谷鸟搜索算法的云计算任务调度方法,包括以下步骤:
S1、构建云计算任务调度模型,并以最优时间跨度时间和负载均衡为原则,确立云计算任务调度方案的适应度函数;
S2、根据云计算任务调度模型采用整数编码来对云计算任务调度方案的解进行描述;
S3、根据云计算任务调度方案的适应度函数采用改进的布谷鸟搜索算法求解云计算任务调度方案的最优解,然后根据求解的最优解为云计算任务分配相应的资源,所述改进的布谷鸟搜索算法采用柯西分布对陷入局部最优解的鸟巢进行柯西变异。
进一步作为优选的实施方式,所述步骤S1中云计算任务调度模型G的表达式为:
G = { T a s k , S } S = { VM 1 , VM 2 , ... , VM m } T a s k = { Clet 1 , Clet 2 , ... , Clet n } V M = { v m i d , m i p s , s i z e , r a m , b w , p e s N u m b e r } C l e t = { i d , l e n g t h , f i l e S i z e , o u t p u t S i z e } ,
所述云计算任务调度方案X的适应度函数F(X)的表达式为:
F ( X ) = ω * T i m e ( X ) + ( 1 - ω ) * L o a d ( X ) T i m e ( X ) = m a x i = 1 m T i V M L o a d ( X ) = β D ( X ) V M + ( 1 - β ) D ( X ) C l e t D ( X ) V M = 1 m Σ i = 1 m ( T i V M - E ( X ) V M ) 2 Σ i = 1 m E ( X ) V M = 1 m Σ i = 1 m T i V M D ( X ) C l e t = 1 n Σ j = 1 n ( T j C l e t - E ( X ) C l e t ) 2 E ( X ) C l e t = 1 n Σ j = 1 n T j C l e t ,
其中,Task为任务集,S为资源集,n为任务的数量,m为资源的数量,VM为任务集中的任一任务,Clet为资源集中的任一资源,vmid表示资源id号,mips表示CPU运行指令数,size表示资源大小,ram表示内存,bw表示带宽,pesNumber代表拥有的CPU个数,id表示任务id,length代表任务长度,fileSize、outputSize分别代表任务Clet的输入、输出文件大小,Ti VM为S中资源i运行的总时间,为Task中任务j执行所需要的时间,E(X)VM表示资源VM运行时间的期望值,D(X)VM表示资源VM运行时间的方差,E(X)Clet表示任务Clet运行时间的期望值,D(X)Clet表示任务Clet运行时间的方差,β∈(0,1)为比例因子,Load(X)为负载平衡因子,ω∈(0,1]为权值因子。
进一步作为优选的实施方式,所述步骤S2采用整数编码来对云计算任务调度方案的解进行描述时,编码公式为:C=[c1,c2,...,cl,...,cn],对应的解码公式为:其中,cl∈[1,m+1)且cl为实数,C为对m个资源的序列号进行编码后得到的一维编码数组集,C'为C对应的一维解码数组集,为向下取整符号,C'中每一维上的数值代表n个任务中对应任务所分配的执行资源序列号。
进一步作为优选的实施方式,所述步骤S3包括:
S31、采用改进的布谷鸟搜索算法求解云计算任务调度方案X的适应度函数F(X)的全局最优解;
S32、根据求解的最优解进行为云计算任务分配相应的资源。
进一步作为优选的实施方式,所述步骤S31包括:
S311、初始化布谷鸟搜索算法的基本参数和鸟巢;
S312、计算各鸟巢的适应度并根据柯西扰动条件判断其是否需要进行柯西变异,若满足柯西扰动条件,则需要则执行步骤S313,反之,则跳至步骤S314,所述设定的柯西扰动条件为:
1 T p r e Σ e = T c u r T c u r - ( T p r e - 1 ) | F e ( X ) - F e - 1 ( X ) | ≤ δ ,
其中,Tpre表示向前比较的代数,Tcur表示当前代数,Fe(X)表示第e代当前鸟巢的适应度值,Tpre<e≤Tcur,δ为柯西扰动因子;
S313、根据柯西变异公式对鸟巢进行变异,然后以变异后的鸟巢执行步骤S314,所述柯西变异公式为:其中,表示变异前第k代鸟巢群中的第h个鸟巢的第o个蛋,表示变异后第k代鸟巢群中的第h个鸟巢的第o个蛋,C(0,1)为标准柯西分布的随机变量;
S314、根据莱维飞行的公式更新鸟巢的位置,并计算及评估新的鸟巢适应度值,然后对比先前最优后更新最优鸟巢记录,所述莱维飞行的公式为:其中,表示在t+1代中第u个鸟巢的位置,表示在t代中第u个鸟巢的位置,α表示步长控制量,表示点乘积,Lévy(λ)服从λ(1<λ≤3)的莱维分布;
S315、通过偏好随机游动产生随机数R,然后将R与布谷鸟的蛋被寄主发现的概率Pa进行比较,其中,Pa∈[0,1],若R>Pa,则随机改变鸟巢位置,得到一组新的鸟巢位置,反之,则保留当前鸟巢位置;
S316、判断是否满足设定的停止条件,若是,则表明最优鸟巢位置寻找完毕,此时根据最优鸟巢位置得到云计算任务调度方案对应的最优解,否则返回步骤S312继续下一代的搜索。
进一步作为优选的实施方式,所述资源集中的资源为虚拟机,所述云计算任务调度方案X的最优解为适应度函数F(X)取最小值时对应的解。
参照图2,基于改进布谷鸟搜索算法的云计算任务调度系统,包括:
建模模块,用于构建云计算任务调度模型,并以最优时间跨度时间和负载均衡为原则,确立云计算任务调度方案的适应度函数;
整数编码模块,用于根据云计算任务调度模型采用整数编码来对云计算任务调度方案的解进行描述;
最优解寻找与分配模块,用于根据云计算任务调度方案的适应度函数采用改进的布谷鸟搜索算法求解云计算任务调度方案的最优解,然后根据求解的最优解为云计算任务分配相应的资源,所述改进的布谷鸟搜索算法采用柯西分布对陷入局部最优解的鸟巢进行柯西变异;
所述建模模块的输出端通过整数编码模块而和最优解寻找与分配模块的输入端连接。
进一步作为优选的实施方式,所述建模模块中云计算任务调度模型G的表达式为:
G = { T a s k , S } S = { VM 1 , VM 2 , ... , VM m } T a s k = { Clet 1 , Clet 2 , ... , Clet n } V M = { v m i d , m i p s , s i z e , r a m , b w , p e s N u m b e r } C l e t = { i d , l e n g t h , f i l e S i z e , o u t p u t S i z e } ,
所述云计算任务调度方案X的适应度函数F(X)的表达式为:
F ( X ) = ω * T i m e ( X ) + ( 1 - ω ) * L o a d ( X ) T i m e ( X ) = m a x i = 1 m T i V M L o a d ( X ) = β D ( X ) V M + ( 1 - β ) D ( X ) C l e t D ( X ) V M = 1 m Σ i = 1 m ( T i V M - E ( X ) V M ) 2 Σ i = 1 m E ( X ) V M = 1 m Σ i = 1 m T i V M D ( X ) C l e t = 1 n Σ j = 1 n ( T j C l e t - E ( X ) C l e t ) 2 E ( X ) C l e t = 1 n Σ j = 1 n T j C l e t ,
其中,Task为任务集,S为资源集,n为任务的数量,m为资源的数量,VM为任务集中的任一任务,Clet为资源集中的任一资源,vmid表示资源id号,mips表示CPU运行指令数,size表示资源大小,ram表示内存,bw表示带宽,pesNumber代表拥有的CPU个数,id表示任务id,length代表任务长度,fileSize、outputSize分别代表任务Clet的输入、输出文件大小,Ti VM为S中资源i运行的总时间,为Task中任务j执行所需要的时间,E(X)VM表示资源VM运行时间的期望值,D(X)VM表示资源VM运行时间的方差,E(X)Clet表示任务Clet运行时间的期望值,D(X)Clet表示任务Clet运行时间的方差,β∈(0,1)为比例因子,Load(X)为负载平衡因子,ω∈(0,1]为权值因子。
参照图2,进一步作为优选的实施方式,所述最优解寻找与分配模块包括:
最优解寻找单元,用于采用改进的布谷鸟搜索算法求解云计算任务调度方案X的适应度函数F(X)的全局最优解;
分配单元,用于根据求解的最优解进行为云计算任务分配相应的资源;
整数编码模块的输出端通过最优解寻找单元进而与分配单元的输入端连接。
参照图2,进一步作为优选的实施方式,所述最优解寻找单元包括:
初始化子单元,用于初始化布谷鸟搜索算法的基本参数和鸟巢;
柯西变异判断子单元,用于计算各鸟巢的适应度并根据柯西扰动条件判断其是否需要进行柯西变异,若满足柯西扰动条件,则需要则转至柯西变异子单元,反之,则跳至莱维飞行更新子单元,所述设定的柯西扰动条件为:
1 T p r e Σ e = T c u r T c u r - ( T p r e - 1 ) | F e ( X ) - F e - 1 ( X ) | ≤ δ ,
其中,Tpre表示向前比较的代数,Tcur表示当前代数,Fe(X)表示第e代当前鸟巢的适应度值,Tpre<e≤Tcur,δ为柯西扰动因子;
柯西变异子单元,用于根据柯西变异公式对鸟巢进行变异,然后以变异后的鸟巢执行莱维飞行更新子单元的操作,所述柯西变异公式为:其中,表示变异前第k代鸟巢群中的第h个鸟巢的第o个蛋,表示变异后第k代鸟巢群中的第h个鸟巢的第o个蛋,C(0,1)为标准柯西分布的随机变量;
莱维飞行更新子单元,用于根据莱维飞行的公式更新鸟巢的位置,并计算及评估新的鸟巢适应度值,然后对比先前最优后更新最优鸟巢记录,所述莱维飞行的公式为:其中,表示在t+1代中第u个鸟巢的位置,表示在t代中第u个鸟巢的位置,α表示步长控制量,表示点乘积,Lévy(λ)服从λ(1<λ≤3)的莱维分布;
偏好随机游动子单元,用于通过偏好随机游动产生随机数R,然后将R与布谷鸟的蛋被寄主发现的概率Pa进行比较,其中,Pa∈[0,1],若R>Pa,则随机改变鸟巢位置,得到一组新的鸟巢位置,反之,则保留当前鸟巢位置;
寻优终止输出子单元,判断是否满足设定的停止条件,若是,则表明最优鸟巢位置寻找完毕,此时根据最优鸟巢位置得到云计算任务调度方案对应的最优解,否则返回柯西变异判断子单元继续下一代的搜索;
所述整数编码模块的输出端通过初始化子单元而与柯西变异判断子单元的输入端连接,所述柯西变异判断子单元的输出端分别与柯西变异子单元的输入端和莱维飞行更新子单元的第一输入端连接,所述柯西变异子单元的输出端和莱维飞行更新子单元的第二输入端连接,所述莱维飞行更新子单元的输出端通过偏好随机游动子单元而与寻优终止输出子单元的输入端连接,所述寻优终止输出子单元输出端分别与柯西变异判断子单元的输入端以及分配单元的输入端连接。
下面结合说明书附图和具体实施例对本发明作进一步解释和说明。
实施例一
本实施例对本发明所涉及的相关理论及实现过程进行说明。
(一)云计算任务调度模型及适应度函数。
在云计算系统中,任务调度的实质是将n个相互独立的任务合理分配到m个异构的可用资源(如虚拟机等)上,以达到任务调度目标。
云计算中资源通过虚拟化的方式提供给用户,通常云计算中任一资源VM可以被描述为:
VM={vmid,mips,size,ram,bw,pesNumber}
其中,vmid表示资源id号,mips表示CPU运行指令数,size表示资源大小,ram表示内存,bw表示带宽,pesNumber代表拥有的CPU个数。
而用户提交的任一任务Clet可以被描述为:
Clet={id,length,fileSize,outputSize}
其中,id表示任务id,length代表任务长度,fileSize、outputSize分别代表任务Clet的输入、输出文件大小。
基于以上理论,本发明提出了如下的计算任务调度模型G:
G = { T a s k , S } S = { VM 1 , VM 2 , ... , VM m } T a s k = { Clet 1 , Clet 2 , ... , Clet n } V M = { v m i d , m i p s , s i z e , r a m , b w , p e s N u m b e r } C l e t = { i d , l e n g t h , f i l e S i z e , o u t p u t S i z e } - - - ( 1 )
而为实现调度方案具有最优跨度和较优的负载均衡,本发明定义了如下公式:
T i m e ( X ) = m a x i = 1 m T i V M - - - ( 2 )
其中,Time(X)为最优跨度时间综合值;Ti VM为资源i运行的总时间;m为系统中资源的数量;Time(X)值越小,代表该调度方案所用总的执行时间越短。
而对于负载均衡,则有:
E ( X ) V M = 1 m Σ i = 1 m T i V M ⇒ D ( X ) V M = 1 m Σ i = 1 m ( T i V M - E ( X ) V M ) 2
E ( X ) C l e t = 1 n Σ j = 1 n T j C l e t ⇒ D ( X ) C l e t = 1 n Σ j = 1 n ( T j C l e t - E ( X ) C l e t ) 2 ⇒ L o a d ( X ) = β D ( X ) V M + ( 1 - β ) D ( X ) C l e t - - - ( 3 )
其中,为任务j执行所需要的时间;n为系统中任务的数量;E(X)VM表示虚拟机运行时间的期望值;D(X)VM表示虚拟机运行时间的方差,E(X)Clet表示任务运行时间的期望值;D(X)Clet表示任务运行时间的方差;β∈(0,1)为比例因子;Load(X)即为本发明使用的负载平衡因子;Load(X)值越小,代表该调度方案的负载越均衡。
综合考虑调度方案的最优时间跨度时间和负载均衡,由公式(2)和(3)可得出用来进行任务调度方案评价的目标函数(即适应度函数)公式(4)。其中,ω∈(0,1]为权值因子;F(X)越小,调度方案X越优:
F(X)=ω*Time(X)+(1-ω)*Load(X) (4)
(二)基于整数编码的调度方案。
资源调度方案属于组合优化问题,应用布谷鸟算法求解调度问题首先需要构造合理的编码方式来表示调度问题的解。
在云任务调度中,设有n个任务需要在有m个虚拟机上执行,则代表解为n维的一元数组,每个任务对应的虚拟机号即为当前维的值。在对虚拟机号进行编码时,采用从1至m递增的整数编码。由于布谷鸟算法迭代过程中使用的为实数编码方式,所以本发明在进行编码时使用公式(5),解码时使用公式(6)的编解码算法进行调度:
C=[c1,c2,...,cl,...,cn],cl∈[1,m+1)且cl为实数 (5)
解码后每一维上的数值代表对应任务所分配的执行资源序列号即虚拟机编号。
(三)基本布谷鸟算法。
布谷鸟搜索(Cuckoo Search,简称CS)算法是一种新兴的仿生智能算法,由XinsheYang和S.Deb在2009年提出,其思想源于对布谷鸟寄生育雏行为以及鸟类或果蝇Lévyflights行为的模拟。该算法中的Lévy flights随机游动和偏好随机游动这两个主要方面,共同构成平衡算法的局部搜索和全局搜索的步骤。
布谷鸟搜索算法建立在3个理想条件上:
(1)每只布谷鸟一次只产一个蛋,并且把蛋放在随机选择的鸟巢里;
(2)孵化质量高的蛋的鸟巢将会传给下一代;
(3)可用的寄主的鸟巢数量是固定的,布谷鸟的蛋被寄主发现的概率是Pa∈[0,1]。被发现后,寄主可以把蛋扔了或者遗弃原来的鸟巢并新建一个。
在布谷鸟搜索算法中,基于莱维飞行,布谷鸟选择寄主鸟巢的位置更新式为:
其中,表示在t+1代中,第i个鸟巢的位置,表示在t代中,第i个鸟巢的位置,α表示步长控制量,通常α=1,表示点乘积,Lévy(λ)服从λ(1<λ≤3)的Lévy分布。
布谷鸟算法的群体由k个随机生成的布谷鸟巢组成,即群体:P={X1,X2,...Xk};每个布谷鸟巢包含n个鸟蛋,一个鸟巢代表一个候选解X={x1,x1,...,xn}。
(四)改进的布谷鸟搜索算法
在云任务调度过程中,最优调度方案的求解过程是一个离散型组合优化问题,但基本布谷鸟算法在进化后期容易造成早熟,易陷入局部最优解,导致无法搜索出全局最优解。由于基本布谷鸟的缺点以及云任务调度的特点,本发明对基本布谷鸟算法进行了改进,提出了基于自适应柯西变异的布谷鸟搜索算法(Adaptive Cauchy Cuckoo Search,简称ACCS)。
ACCS的基本思想是当布谷鸟搜索的单个鸟巢陷入局部极值时,利用柯西分布的全局变异和离散分布特点,对单个鸟巢进行柯西变异以增加鸟巢的多样性,有利于跳出局部极值进行全局搜索,同时提高搜索速度和质量。
当同一鸟巢在连续q代中,若鸟巢的适应度平均差值仍然保持在变异范围之内,则说明此鸟巢已陷入局部最优状态,无法自主进步,此时需要进行外部干预。由于柯西变异在全局搜索时有较优的表现,本发明引入了柯西扰动算子,对陷入局部最优状态的鸟巢进行外部干预,以进行扰动变异。
(1)柯西分布
柯西分布是一种常见的分布函数,一维柯西分布随机变量C(0,σ)的密度函数fc(x)定义为:
f c ( x ) = &sigma; &lsqb; &pi; ( &sigma; 2 + x 2 ) &rsqb; , - &infin; < x < + &infin; - - - ( 8 )
其中,σ为尺度参数。当σ=1时,C(0,σ)称为标准柯西分布随机变量。
由图3可见,柯西分布在原点的峰值比高斯分布小,而两端无限趋近于X轴的速度比高斯分布慢,说明柯西分布更易产生远离远点的随机数,柯西变异的扰动能力比高斯变异强,能有效防止算法陷入局部最优。
(2)柯西变异的扰动时机。
本发明进行柯西变异时所采用的扰动时机为:
1 T p r e &Sigma; e = T c u r T c u r - ( T p r e - 1 ) | F e ( X ) - F e - 1 ( X ) | &le; &delta; - - - ( 9 )
其中,Tpre表示向前比较的代数;Tcur表示当前代数;Fe(X)表示第e代当前鸟巢的适应度值;其中Tpre<e≤Tcur;δ为柯西扰动因子。
(3)柯西变异的扰动方法。
本发明进行柯西变异时所采用的扰动方法为:
( X h o k ) &prime; = X h o k + C ( 0 , 1 ) - - - ( 10 )
其中,表示变异前第k代鸟巢群中的第h个鸟巢的第o个蛋,表示变异后第k代鸟巢群中的第h个鸟巢的第o个蛋,C(0,1)为标准柯西分布的随机变量。
(4)改进后的布谷鸟搜索算法流程。
如图4所示,改进后的布谷鸟搜索算法流程为:
步骤1:初始化布谷鸟搜索算法的基本参数和鸟巢。其中,初始化布谷鸟搜索算法的基本参数包括但不限于:设置布谷鸟算法的群体数目以及每个群体中鸟巢的数目K,设置布谷鸟的蛋被寄主发现的概率Pa,设定结束条件等。
步骤2:计算各鸟巢的适应度并根据柯西扰动条件判断其是否需要进行柯西变异,若满足柯西扰动条件,则需要则执行步骤3,反之,则跳至步骤4,所述设定的柯西扰动条件为:
1 T p r e &Sigma; e = T c u r T c u r - ( T p r e - 1 ) | F e ( X ) - F e - 1 ( X ) | &le; &delta; ,
其中,Tpre表示向前比较的代数,Tcur表示当前代数,Fe(X)表示第e代当前鸟巢的适应度值,Tpre<e≤Tcur,δ为柯西扰动因子;
步骤3:根据柯西变异公式对鸟巢进行变异,然后以变异后的鸟巢执行步骤4,所述柯西变异公式为:其中,表示变异前第k代鸟巢群中的第h个鸟巢的第o个蛋,表示变异后第k代鸟巢群中的第h个鸟巢的第o个蛋,C(0,1)为标准柯西分布的随机变量;
步骤4:根据莱维飞行的公式更新鸟巢的位置,并计算及评估新的鸟巢适应度值,然后对比先前最优后更新最优鸟巢记录,所述莱维飞行的公式为:其中,表示在t+1代中第u个鸟巢的位置,表示在t代中第u个鸟巢的位置,α表示步长控制量,表示点乘积,Lévy(λ)服从λ(1<λ≤3)的莱维分布;
步骤5:通过偏好随机游动产生随机数R,然后将R与布谷鸟的蛋被寄主发现的概率Pa进行比较,其中,Pa∈[0,1],若R>Pa,则随机改变鸟巢位置,得到一组新的鸟巢位置,反之,则保留当前鸟巢位置;
步骤6:判断是否满足设定的停止条件,若是,则表明最优鸟巢位置寻找完毕,此时根据最优鸟巢位置得到云计算任务调度方案对应的最优解,否则返回步骤2继续下一代的搜索。
其中,鸟巢的最佳位置就是云计算资源的最佳任务分配方案,对应的鸟巢最佳位置中的鸟蛋就是云计算任务调度方案的最优解。
本发明提出了一种基于全局搜索柯西变异的布谷鸟搜索算法ACCS,并将其运用于云计算任务调度,且基于最优时间跨度和负载均衡两个目标,采用了整数编码方式应用ACCS算法进行求解,从而能够在更短的时间内寻取到更优的调度方案,并使调度方案同时在最优时间跨度和负载均衡方面均表现良好。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.基于改进布谷鸟搜索算法的云计算任务调度方法,其特征在于:包括以下步骤:
S1、构建云计算任务调度模型,并以最优时间跨度时间和负载均衡为原则,确立云计算任务调度方案的适应度函数;
S2、根据云计算任务调度模型采用整数编码来对云计算任务调度方案的解进行描述;
S3、根据云计算任务调度方案的适应度函数采用改进的布谷鸟搜索算法求解云计算任务调度方案的最优解,然后根据求解的最优解为云计算任务分配相应的资源,所述改进的布谷鸟搜索算法采用柯西分布对陷入局部最优解的鸟巢进行柯西变异。
2.根据权利要求1所述的基于改进布谷鸟搜索算法的云计算任务调度方法,其特征在于:所述步骤S1中云计算任务调度模型G的表达式为:
G = { T a s k , S } S = { VM 1 , VM 2 , ... , VM m } T a s k = { Clet 1 , Clet 2 , ... , Clet n } V M = { v m i d , m i p s , s i z e , r a m , b w , p e s N u m b e r } C l e t = { i d , l e n g t h , f i l e S i z e , o u t p u t S i z e } ,
所述云计算任务调度方案X的适应度函数F(X)的表达式为:
F ( X ) = &omega; * T i m e ( X ) + ( 1 - &omega; ) * L o a d ( X ) T i m e ( X ) = m a x i = 1 m T i V M L o a d ( X ) = &beta; D ( X ) V M + ( 1 - &beta; ) D ( X ) C l e t D ( X ) V M = 1 m &Sigma; i = 1 m ( T i V M - E ( X ) V M ) 2 &Sigma; i = 1 m E ( X ) V M = 1 m &Sigma; i = 1 m T i V M D ( X ) C l e t = 1 n &Sigma; j = 1 n ( T j C l e t - E ( X ) C l e t ) 2 E ( X ) C l e t = 1 n &Sigma; j = 1 n T j C l e t ,
其中,Task为任务集,S为资源集,n为任务的数量,m为资源的数量,VM为任务集中的任一任务,Clet为资源集中的任一资源,vmid表示资源id号,mips表示CPU运行指令数,size表示资源大小,ram表示内存,bw表示带宽,pesNumber代表拥有的CPU个数,id表示任务id,length代表任务长度,fileSize、outputSize分别代表任务Clet的输入、输出文件大小,为S中资源i运行的总时间,为Task中任务j执行所需要的时间,E(X)VM表示资源VM运行时间的期望值,D(X)VM表示资源VM运行时间的方差,E(X)Clet表示任务Clet运行时间的期望值,D(X)Clet表示任务Clet运行时间的方差,β∈(0,1)为比例因子,Load(X)为负载平衡因子,ω∈(0,1]为权值因子。
3.根据权利要求2所述的基于改进布谷鸟搜索算法的云计算任务调度方法,其特征在于:所述步骤S2采用整数编码来对云计算任务调度方案的解进行描述时,编码公式为:C=[c1,c2,...,cl,...,cn],对应的解码公式为:其中,cl∈[1,m+1)且cl为实数,C为对m个资源的序列号进行编码后得到的一维编码数组集,C'为C对应的一维解码数组集,为向下取整符号,C'中每一维上的数值代表n个任务中对应任务所分配的执行资源序列号。
4.根据权利要求2所述的基于改进布谷鸟搜索算法的云计算任务调度方法,其特征在于:所述步骤S3包括:
S31、采用改进的布谷鸟搜索算法求解云计算任务调度方案X的适应度函数F(X)的全局最优解;
S32、根据求解的最优解进行为云计算任务分配相应的资源。
5.根据权利要求4所述的基于改进布谷鸟搜索算法的云计算任务调度方法,其特征在于:所述步骤S31包括:
S311、初始化布谷鸟搜索算法的基本参数和鸟巢;
S312、计算各鸟巢的适应度并根据柯西扰动条件判断其是否需要进行柯西变异,若满足柯西扰动条件,则需要则执行步骤S313,反之,则跳至步骤S314,所述设定的柯西扰动条件为:
1 T p r e &Sigma; e = T c u r T c u r - ( T p r e - 1 ) | F e ( X ) - F e - 1 ( X ) | &le; &delta; ,
其中,Tpre表示向前比较的代数,Tcur表示当前代数,Fe(X)表示第e代当前鸟巢的适应度值,Tpre<e≤Tcur,δ为柯西扰动因子;
S313、根据柯西变异公式对鸟巢进行变异,然后以变异后的鸟巢执行步骤S314,所述柯西变异公式为:其中,表示变异前第k代鸟巢群中的第h个鸟巢的第o个蛋,表示变异后第k代鸟巢群中的第h个鸟巢的第o个蛋,C(0,1)为标准柯西分布的随机变量;
S314、根据莱维飞行的公式更新鸟巢的位置,并计算及评估新的鸟巢适应度值,然后对比先前最优后更新最优鸟巢记录,所述莱维飞行的公式为:其中,表示在t+1代中第u个鸟巢的位置,表示在t代中第u个鸟巢的位置,α表示步长控制量,表示点乘积,Lévy(λ)服从λ(1<λ≤3)的莱维分布;
S315、通过偏好随机游动产生随机数R,然后将R与布谷鸟的蛋被寄主发现的概率Pa进行比较,其中,Pa∈[0,1],若R>Pa,则随机改变鸟巢位置,得到一组新的鸟巢位置,反之,则保留当前鸟巢位置;
S316、判断是否满足设定的停止条件,若是,则表明最优鸟巢位置寻找完毕,此时根据最优鸟巢位置得到云计算任务调度方案对应的最优解,否则返回步骤S312继续下一代的搜索。
6.根据权利要求2-5任一项所述的基于改进布谷鸟搜索算法的云计算任务调度方法,其特征在于:所述资源集中的资源为虚拟机,所述云计算任务调度方案X的最优解为适应度函数F(X)取最小值时对应的解。
7.基于改进布谷鸟搜索算法的云计算任务调度系统,其特征在于:包括:
建模模块,用于构建云计算任务调度模型,并以最优时间跨度时间和负载均衡为原则,确立云计算任务调度方案的适应度函数;
整数编码模块,用于根据云计算任务调度模型采用整数编码来对云计算任务调度方案的解进行描述;
最优解寻找与分配模块,用于根据云计算任务调度方案的适应度函数采用改进的布谷鸟搜索算法求解云计算任务调度方案的最优解,然后根据求解的最优解为云计算任务分配相应的资源,所述改进的布谷鸟搜索算法采用柯西分布对陷入局部最优解的鸟巢进行柯西变异;
所述建模模块的输出端通过整数编码模块而和最优解寻找与分配模块的输入端连接。
8.根据权利要求7所述的基于改进布谷鸟搜索算法的云计算任务调度系统,其特征在于:所述建模模块中云计算任务调度模型G的表达式为:
G = { T a s k , S } S = { VM 1 , VM 2 , ... , VM m } T a s k = { Clet 1 , Clet 2 , ... , Clet n } V M = { v m i d , m i p s , s i z e , r a m , b w , p e s N u m b e r } C l e t = { i d , l e n g t h , f i l e S i z e , o u t p u t S i z e } ,
所述云计算任务调度方案X的适应度函数F(X)的表达式为:
F ( X ) = &omega; * T i m e ( X ) + ( 1 - &omega; ) * L o a d ( X ) T i m e ( X ) = m a x i = 1 m T i V M L o a d ( X ) = &beta; D ( X ) V M + ( 1 - &beta; ) D ( X ) C l e t D ( X ) V M = 1 m &Sigma; i = 1 m ( T i V M - E ( X ) V M ) 2 &Sigma; i = 1 m E ( X ) V M = 1 m &Sigma; i = 1 m T i V M D ( X ) C l e t = 1 n &Sigma; j = 1 n ( T j C l e t - E ( X ) C l e t ) 2 E ( X ) C l e t = 1 n &Sigma; j = 1 n T j C l e t ,
其中,Task为任务集,S为资源集,n为任务的数量,m为资源的数量,VM为任务集中的任一任务,Clet为资源集中的任一资源,vmid表示资源id号,mips表示CPU运行指令数,size表示资源大小,ram表示内存,bw表示带宽,pesNumber代表拥有的CPU个数,id表示任务id,length代表任务长度,fileSize、outputSize分别代表任务Clet的输入、输出文件大小,为S中资源i运行的总时间,为Task中任务j执行所需要的时间,E(X)VM表示资源VM运行时间的期望值,D(X)VM表示资源VM运行时间的方差,E(X)Clet表示任务Clet运行时间的期望值,D(X)Clet表示任务Clet运行时间的方差,β∈(0,1)为比例因子,Load(X)为负载平衡因子,ω∈(0,1]为权值因子。
9.根据权利要求8所述的基于改进布谷鸟搜索算法的云计算任务调度系统,其特征在于:所述最优解寻找与分配模块包括:
最优解寻找单元,用于采用改进的布谷鸟搜索算法求解云计算任务调度方案X的适应度函数F(X)的全局最优解;
分配单元,用于根据求解的最优解进行为云计算任务分配相应的资源;
整数编码模块的输出端通过最优解寻找单元进而与分配单元的输入端连接。
10.根据权利要求9所述的基于改进布谷鸟搜索算法的云计算任务调度系统,其特征在于:所述最优解寻找单元包括:
初始化子单元,用于初始化布谷鸟搜索算法的基本参数和鸟巢;
柯西变异判断子单元,用于计算各鸟巢的适应度并根据柯西扰动条件判断其是否需要进行柯西变异,若满足柯西扰动条件,则需要则转至柯西变异子单元,反之,则跳至莱维飞行更新子单元,所述设定的柯西扰动条件为:
1 T p r e &Sigma; e = T c u r T c u r - ( T p r e - 1 ) | F e ( X ) - F e - 1 ( X ) | &le; &delta; ,
其中,Tpre表示向前比较的代数,Tcur表示当前代数,Fe(X)表示第e代当前鸟巢的适应度值,Tpre<e≤Tcur,δ为柯西扰动因子;
柯西变异子单元,用于根据柯西变异公式对鸟巢进行变异,然后以变异后的鸟巢执行莱维飞行更新子单元的操作,所述柯西变异公式为:其中,表示变异前第k代鸟巢群中的第h个鸟巢的第o个蛋,表示变异后第k代鸟巢群中的第h个鸟巢的第o个蛋,C(0,1)为标准柯西分布的随机变量;
莱维飞行更新子单元,用于根据莱维飞行的公式更新鸟巢的位置,并计算及评估新的鸟巢适应度值,然后对比先前最优后更新最优鸟巢记录,所述莱维飞行的公式为:其中,表示在t+1代中第u个鸟巢的位置,表示在t代中第u个鸟巢的位置,α表示步长控制量,表示点乘积,Lévy(λ)服从λ(1<λ≤3)的莱维分布;
偏好随机游动子单元,用于通过偏好随机游动产生随机数R,然后将R与布谷鸟的蛋被寄主发现的概率Pa进行比较,其中,Pa∈[0,1],若R>Pa,则随机改变鸟巢位置,得到一组新的鸟巢位置,反之,则保留当前鸟巢位置;
寻优终止输出子单元,判断是否满足设定的停止条件,若是,则表明最优鸟巢位置寻找完毕,此时根据最优鸟巢位置得到云计算任务调度方案对应的最优解,否则返回柯西变异判断子单元继续下一代的搜索;
所述整数编码模块的输出端通过初始化子单元而与柯西变异判断子单元的输入端连接,所述柯西变异判断子单元的输出端分别与柯西变异子单元的输入端和莱维飞行更新子单元的第一输入端连接,所述柯西变异子单元的输出端和莱维飞行更新子单元的第二输入端连接,所述莱维飞行更新子单元的输出端通过偏好随机游动子单元而与寻优终止输出子单元的输入端连接,所述寻优终止输出子单元输出端分别与柯西变异判断子单元的输入端以及分配单元的输入端连接。
CN201610279700.8A 2016-04-29 2016-04-29 基于改进布谷鸟搜索算法的云计算任务调度方法及系统 Expired - Fee Related CN105975342B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610279700.8A CN105975342B (zh) 2016-04-29 2016-04-29 基于改进布谷鸟搜索算法的云计算任务调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610279700.8A CN105975342B (zh) 2016-04-29 2016-04-29 基于改进布谷鸟搜索算法的云计算任务调度方法及系统

Publications (2)

Publication Number Publication Date
CN105975342A true CN105975342A (zh) 2016-09-28
CN105975342B CN105975342B (zh) 2019-02-15

Family

ID=56993481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610279700.8A Expired - Fee Related CN105975342B (zh) 2016-04-29 2016-04-29 基于改进布谷鸟搜索算法的云计算任务调度方法及系统

Country Status (1)

Country Link
CN (1) CN105975342B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528654A (zh) * 2016-10-17 2017-03-22 中国电子技术标准化研究院 一种基于布谷鸟搜索的方法
CN106535242A (zh) * 2016-09-30 2017-03-22 东南大学 一种无线云计算系统性能预测方法
CN107329826A (zh) * 2017-06-16 2017-11-07 王海燕 一种基于Cloudsim平台上的启发式融合资源动态调度算法
CN108245194A (zh) * 2017-12-21 2018-07-06 四川省人民医院 基于布谷鸟优化策略的超声图像心脏流场运动估计方法
CN109062664A (zh) * 2018-07-25 2018-12-21 南京邮电大学 基于蚁狮优化算法的云计算任务调度方法
CN109819030A (zh) * 2019-01-22 2019-05-28 西北大学 一种基于边缘计算的数据资源预先调度方法
CN110062421A (zh) * 2019-04-08 2019-07-26 东南大学 用于雾无线接入网中的鸽群优化算法及基于该算法的协作缓存方法
CN110321208A (zh) * 2019-06-27 2019-10-11 大连理工大学 一种求解云任务调度的进化计算方法
CN110688219A (zh) * 2019-09-05 2020-01-14 浙江理工大学 基于反向混沌布谷鸟搜索的自适应权重负载均衡算法
CN111885493A (zh) * 2020-08-04 2020-11-03 西安邮电大学 一种基于改进布谷鸟搜索算法的微云部署方法
CN113411369A (zh) * 2020-03-26 2021-09-17 山东管理学院 一种云服务资源协同优化调度方法、系统、介质及设备
CN114928542A (zh) * 2022-05-17 2022-08-19 内蒙古工业大学 一种基于动态整合和多目标布谷鸟算法的虚拟机迁移方法
CN115018221A (zh) * 2022-08-10 2022-09-06 浙江浩普智能科技有限公司 基于改进布谷鸟搜索算法的锅炉负荷分配方法及系统
CN115421885A (zh) * 2022-08-29 2022-12-02 山东财经大学 一种分布式多目标云任务的调度方法、装置及云服务系统
CN115730432A (zh) * 2022-11-09 2023-03-03 国网湖南省电力有限公司 物联网数据处理任务的调度方法及系统、设备、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080228691A1 (en) * 2007-03-12 2008-09-18 Shavit Nir N Concurrent extensible cuckoo hashing
US20140118561A1 (en) * 2012-10-31 2014-05-01 The Aerospace Corporation Optimized illumination for imaging
CN104318329A (zh) * 2014-10-20 2015-01-28 国家电网公司 一种布谷鸟搜索算法改进支持向量机的电力负荷预测方法
US9020953B1 (en) * 2011-03-08 2015-04-28 Pmc-Sierra Us, Inc. Search table for data networking matching
CN104936186A (zh) * 2015-07-21 2015-09-23 桂林电子科技大学 基于布谷鸟搜索算法的认知无线电网络频谱分配方法
CN105260785A (zh) * 2015-08-24 2016-01-20 屈迟文 一种基于改进布谷鸟算法的物流配送车辆路径优化方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080228691A1 (en) * 2007-03-12 2008-09-18 Shavit Nir N Concurrent extensible cuckoo hashing
US9020953B1 (en) * 2011-03-08 2015-04-28 Pmc-Sierra Us, Inc. Search table for data networking matching
US20140118561A1 (en) * 2012-10-31 2014-05-01 The Aerospace Corporation Optimized illumination for imaging
CN104318329A (zh) * 2014-10-20 2015-01-28 国家电网公司 一种布谷鸟搜索算法改进支持向量机的电力负荷预测方法
CN104936186A (zh) * 2015-07-21 2015-09-23 桂林电子科技大学 基于布谷鸟搜索算法的认知无线电网络频谱分配方法
CN105260785A (zh) * 2015-08-24 2016-01-20 屈迟文 一种基于改进布谷鸟算法的物流配送车辆路径优化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘竹松等: "基于改进布谷鸟搜索算法的云计算任务调度", 《广东工业大学学报》 *
郑洪清: "改进布谷鸟搜索算法求解批量流水线调度问题", 《计算机系统应用》 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106535242A (zh) * 2016-09-30 2017-03-22 东南大学 一种无线云计算系统性能预测方法
CN106528654B (zh) * 2016-10-17 2019-10-22 中国电子技术标准化研究院 一种基于布谷鸟搜索的方法
CN106528654A (zh) * 2016-10-17 2017-03-22 中国电子技术标准化研究院 一种基于布谷鸟搜索的方法
CN107329826A (zh) * 2017-06-16 2017-11-07 王海燕 一种基于Cloudsim平台上的启发式融合资源动态调度算法
CN108245194A (zh) * 2017-12-21 2018-07-06 四川省人民医院 基于布谷鸟优化策略的超声图像心脏流场运动估计方法
CN109062664A (zh) * 2018-07-25 2018-12-21 南京邮电大学 基于蚁狮优化算法的云计算任务调度方法
CN109819030A (zh) * 2019-01-22 2019-05-28 西北大学 一种基于边缘计算的数据资源预先调度方法
CN110062421A (zh) * 2019-04-08 2019-07-26 东南大学 用于雾无线接入网中的鸽群优化算法及基于该算法的协作缓存方法
CN110062421B (zh) * 2019-04-08 2022-05-10 东南大学 用于雾无线接入网中的鸽群优化算法及基于该算法的协作缓存方法
CN110321208A (zh) * 2019-06-27 2019-10-11 大连理工大学 一种求解云任务调度的进化计算方法
CN110321208B (zh) * 2019-06-27 2022-10-14 大连理工大学 一种求解云任务调度的进化计算方法
CN110688219A (zh) * 2019-09-05 2020-01-14 浙江理工大学 基于反向混沌布谷鸟搜索的自适应权重负载均衡算法
CN113411369A (zh) * 2020-03-26 2021-09-17 山东管理学院 一种云服务资源协同优化调度方法、系统、介质及设备
CN111885493A (zh) * 2020-08-04 2020-11-03 西安邮电大学 一种基于改进布谷鸟搜索算法的微云部署方法
CN111885493B (zh) * 2020-08-04 2022-03-29 西安邮电大学 一种基于改进布谷鸟搜索算法的微云部署方法
CN114928542A (zh) * 2022-05-17 2022-08-19 内蒙古工业大学 一种基于动态整合和多目标布谷鸟算法的虚拟机迁移方法
CN114928542B (zh) * 2022-05-17 2023-05-16 内蒙古工业大学 一种基于动态整合和多目标布谷鸟算法的虚拟机迁移方法
CN115018221A (zh) * 2022-08-10 2022-09-06 浙江浩普智能科技有限公司 基于改进布谷鸟搜索算法的锅炉负荷分配方法及系统
CN115018221B (zh) * 2022-08-10 2022-11-11 浙江浩普智能科技有限公司 基于改进布谷鸟搜索算法的锅炉负荷分配方法及系统
CN115421885A (zh) * 2022-08-29 2022-12-02 山东财经大学 一种分布式多目标云任务的调度方法、装置及云服务系统
CN115730432A (zh) * 2022-11-09 2023-03-03 国网湖南省电力有限公司 物联网数据处理任务的调度方法及系统、设备、存储介质

Also Published As

Publication number Publication date
CN105975342B (zh) 2019-02-15

Similar Documents

Publication Publication Date Title
CN105975342A (zh) 基于改进布谷鸟搜索算法的云计算任务调度方法及系统
CN109947567B (zh) 一种多智能体强化学习调度方法、系统及电子设备
Alkayal et al. Efficient task scheduling multi-objective particle swarm optimization in cloud computing
Wang et al. Distributed machine learning with a serverless architecture
Mansouri et al. Hybrid task scheduling strategy for cloud computing by modified particle swarm optimization and fuzzy theory
Mirhoseini et al. A hierarchical model for device placement
CN110737529B (zh) 一种面向短时多变大数据作业集群调度自适应性配置方法
CN108776612A (zh) 一种云计算任务分配方法、装置、设备及存储介质
CN111722910B (zh) 一种云作业调度及资源配置的方法
CN110351348B (zh) 一种基于dqn的云计算资源调度优化方法
CN106055395A (zh) 一种基于蚁群优化算法的云环境中截止时间约束工作流调度方法
CN109828836B (zh) 一种批量流式计算系统参数动态配置方法
CN105159762A (zh) 基于贪心策略的启发式云计算任务调度方法
CN111124689A (zh) 一种集群中容器资源动态分配方法
CN108182109A (zh) 一种云环境下的工作流调度与数据分配方法
CN105049536A (zh) IaaS云环境中的负载均衡系统和负载均衡方法
CN110058924A (zh) 一种多目标优化的容器调度方法
CN106371924B (zh) 一种最小化MapReduce集群能耗的任务调度方法
CN113037800B (zh) 作业调度方法以及作业调度装置
CN111274036A (zh) 一种基于速度预测的深度学习任务的调度方法
CN113742089B (zh) 异构资源中神经网络计算任务的分配方法、装置和设备
CN106250650A (zh) 高通量仿真中模型的资源分配与优化方法
CN111831415A (zh) 一种多队列多集群的任务调度方法及系统
CN113469372A (zh) 强化学习训练方法、装置、电子设备以及存储介质
CN115085202A (zh) 电网多区域智能功率协同优化方法、装置、设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190215