CN117032902A - 一种基于负载的改进离散粒子群算法的云任务调度方法 - Google Patents
一种基于负载的改进离散粒子群算法的云任务调度方法 Download PDFInfo
- Publication number
- CN117032902A CN117032902A CN202311246928.3A CN202311246928A CN117032902A CN 117032902 A CN117032902 A CN 117032902A CN 202311246928 A CN202311246928 A CN 202311246928A CN 117032902 A CN117032902 A CN 117032902A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- load
- task
- particle
- particles
- 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.)
- Pending
Links
- 239000002245 particle Substances 0.000 title claims abstract description 104
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000005457 optimization Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 19
- 230000006978 adaptation Effects 0.000 claims description 7
- 238000011282 treatment Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000007423 decrease Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013209 evaluation strategy Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002922 simulated annealing Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于负载的改进离散粒子群算法的云任务调度方法,属于云计算领域。本发明首先建立时间‑成本双适应度函数,并将负载均衡指标加入到离散粒子群算法的调整解的接受概率当中,在迭代后期提高系统负载较好的解的接受概率,从而使任务在在减少时间以及成本的同时系统达到负载均衡。本发明的粒子群算法本身是基于群体智能理论的、高效的并行优化算法;降低了任务调度总执行时间以及任务执行成本,提高了系统的负载均衡度;不易陷入局部极值。能够以一定概率接受差解,且差解为偏向负载均衡度较高的分配方案。
Description
技术领域
本发明属于云计算领域,具体涉及一种基于负载的改进离散粒子群算法的云任务调度方法。
背景技术
近几年来,由于互联网网络规模快速扩展,其所需要处理的业务量也随之快速增长。如何在较多时间内处理更多的数据与服务,高效率地为用户群体提供便捷优良的网络服务,已成为当前互联网发展所面临的一个问题。这种大背景下,产生了一种新型服务计算模型:云计算。而云计算中的虚拟化技术在现今作为一种资源管理技术,是将计算机的各种实体资源,如服务器,网络,内存及存储等,予以抽象转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源,其以更高的资源利用率,使用更加灵活,更加安全,可扩展性强等特点被广泛应用到各种领域。虚拟化技术中的资源调度过程指物理机被虚拟化成可在数据中心上同时运行的多个虚拟机。任务调度算法就是确定任务和虚拟资源之间的映射,以便满足一个或多个优化目标。当然用户提交的任务对性能要求较高时,可以将任务与物理机直接映射,交由物理机直接处理。通常,当任务被提交后,计算资源管理者通过管理中间件中的资源管理机制为任务分配虚拟化资源。
期刊《计算机应用与软件》第40卷第6期220-228页“基于交换改进粒子群算法的云计算任务调度算法”中将负载定义为虚拟机预期执行时间,执行时间越长,则负载越大。这里忽略了云环境的一个重要特点,那就是云环境的计算节点差异较大,性能差别较大,高性能的计算节点与低性能的计算节点被使用相同的时间所消耗的成本差异较大。因此此种负载计算方式不利于云环境下的负载均衡。
期刊数据通信第一卷第2期21-28页“一种云环境下多目标优化虚拟机调度算法”所建立得到均衡度模型如下:
Loadi=(vmeloadi-loadavg)2+(vcloadi-loadavg)2
式中Loadi为第i个虚拟机的资源负载,vmeloadi为内存负载,loadavg为i虚拟机的平均资源负载,vcloadi为虚拟机i的cpu负载.
并将此模型作为目标函数,其值作为遗传模拟退火算法产生新解的一个评价标准。由上式可以看出,当cpu与内存利用率相等时,Loadi这时候达到了最小值0,说明这时候cpu与内存的使用都达到了均衡,二者若相差较大,如内存使用率0%,cpu使用率100%,则Loadi达到了最大值0.5,因此此模型对于衡量系统是否达到负载均衡有一定的的意义。
第一项中只以预期执行时间为评价函数,而未考虑任务执行的成本消耗,对于任务所使用的资源利用率也未加衡量,因此适用范围较为局限。
负载均衡的目的是为了使系统加强系统的处理任务的能力,增加吞吐量,提高系统可用性和灵活性,而第二项中的模型是在cpu或者内存使用率较高时才有效的模型,若二者使用率都较高时,这里取极值都为1时,这时候按以上模型衡量时达到了系统负载均衡,但是这时候cpu利用率和内存利用率极高,系统处于高负荷状态,很有可能会造成响应延时,甚至导致任务失败。无论是吞吐量还是任务处理能力都大大降低。此文并未给出针对这种情况行之有效的方法。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于负载的改进离散粒子群算法的云任务调度方法,以解决现有技术中云环境下的负载均衡的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于负载的改进离散粒子群算法的云任务调度方法,该方法包括如下步骤:
S11、初始化:输入算法参数ω,α,β,并在问题解空间里随机产生m个粒子的位置序列以及n个速度交换序,n为任务数量,m为虚拟机数量;
S12、评价粒子:通过时间成本双适应度函数计算每一个粒子所在位置序列Xi的适应度值Fe(Xi);
其中,让m台虚拟机执行n个相互独立的任务,m<n,其中虚拟机集合VM=(vm1,vm2,...,vmm),任务集合T=(t1,t2,...,tn);每个子任务只能被一台虚拟机调度执行,则二者的关系用以下矩阵R来表示:
其中Rij表示子任务tj与虚拟机vmi的分配关系,即子任务tj是否被vmi调度执行;取值为0表示未被调度,取值为1表示被调度执行;
适应度值Fe(Xi)通过资源选择的双适应度函数求取,资源选择的双适应度函数为
Fe(xs)=a*Fvect(xs)+b*Fvecc(xs)
式中,a、b为时间以及成本的权重因子,a,b∈[0,1],a+b=1;Ncpu、Nmem与Nbw为目前数据中心的cpu数、内存以及带宽总大小;
整个系统用分配方案XS去执行任务集T的时间的适应度为Fvect(XS),成本适应度为Fvecc(xs),vcpui为虚拟机vmi的分配到的处理器数量,vmemi虚拟机vmi的内存,vbwi为虚拟机vmi的网络带宽;
S13、更新极值:比较粒子的适应度值和本身历史最优值,若前者优于后者,则将个体自身历史最优位置Pi换成粒子当前的位置序列;
S14、更新粒子:依据初始化时的交换序计算交换执行虚拟机编号后的粒子位置,并计算交换后的位置,根据速度-位置更新公式分别更新群体所有粒子的速度以及位置:
Xi+1=Xi+Vi
式中Vi是粒子i的速度;Xi表示第i个粒子的位置,而Xi+1和Vi+1分别是粒子i的新位置与速度;Gb与Pi分别是迄今位置粒子群所搜索的最优位置以及粒子i的历史最优位置;ω是惯性权重,α,β分别为个体学习因子和群体学习因子;ω,α,β∈[0,1];运算符号表示两个交换序进行合并;
S15、调整:若Fe(Xi)>Fe(Xi+1),则接受此解Xi+1,否则根据接受概率公式决定是否接受较差解Xi+1,若ρ<Random(),则弃掉此解Xi+1,保留粒子原位置Xi,否则接受此较差解,并把粒子历史最优位置设为粒子调整后的位置序列;
其中,
Fe(Xi)和Fe(Xi+1)为粒子i所在位置以及交换两虚拟机后粒子i的适应度值,K为Bolzmann常数,N为当前迭代次数,ΔL为负载均方差;
S16、重复步骤S12~S15,直至满足算法终止条件。
(三)有益效果
本发明提出一种基于负载的改进离散粒子群算法的云任务调度方法,本发明首先建立时间-成本双适应度函数,并将负载均衡指标加入到离散粒子群算法的调整解的接受概率当中,在迭代后期提高系统负载较好的解的接受概率,从而使任务在在减少时间以及成本的同时系统达到负载均衡。本发明具有以下特点:
1、建立时间-成本双适应度函数并将其作为粒子群算法的解的评价策略;
2、建立负载均衡指标并将其加入改进粒子群算法的metropolis准则中;
3、将基于随机模拟的优化策略metropolis准则应用到离散粒子群算法中;
相较于其他任务调度算法,本发明设计的算法包括以下优点:
1、粒子群算法本身是基于群体智能理论的、高效的并行优化算法;
2、本算法降低了任务调度总执行时间以及任务执行成本,提高了系统的负载均衡度;
3、不易陷入局部极值。能够以一定概率接受差解,且差解为偏向负载均衡度较高的分配方案。
附图说明
图1为本发明基于负载的改进离散粒子群算法流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
云环境下的任务调度问题可简化为(本发明中假定云任务之间无相互关联关系,或者已被拆分为相互独立的子任务):以一个较为合理的策略让m台虚拟机执行n个相互独立的任务,m<n,其中虚拟机集合VM=(vm1,vm2,...,vmm),任务集合T=(t1,t2,...,tn)。每个子任务只能被一台虚拟机调度执行,则二者的关系可用以下矩阵R来表示:
其中Rij表示子任务tj与虚拟机vmi的分配关系,即子任务tj是否被vmi调度执行。取值为0表示未被调度,取值为1表示被调度执行。
本发明从任务执行时间、成本以及系统负载均衡方面入手来表示云计算任务调度问题的约束模型。
用etcij(expected time to complete)表示子任务tj在虚拟机vmi上的预期执行时间,而预期执行时间由传输时间和在虚拟机上的运行时间决定,即
etcij=transij+eij
式中transij为将子任务tj传输到虚拟机vmi上的时间,eij为子任务在虚拟机vmi上的预期运行时间,eij计算公式如下:
式中tasklengthj为子任务tj的长度,vcali为虚拟机vmi的计算能力,一般由以下方式计算:
vcali=vcpui*vmipsi+vmemi+vbwi
式中vcpui为虚拟机vmi的分配到的处理器数量,vmipsi为虚拟机vmi的处理器运算速度(每秒百万条指令数),vmemi虚拟机vmi的内存,vbwi为虚拟机vmi的网络带宽。
令vecti为第i个虚拟机的任务预期累计执行时间,则 由于虚拟机并发执行任务的特性,因此只需求出某一虚拟机执行一个或者多个子任务的最大预期执行时间,即vectmax=max(vetci)。整个系统用分配方案XS去执行任务集T的时间的适应度函数为
Fvect(XS)=max(vetci)
式中Fvect值越小,表示任务预执行时间越短,则分配方案越好。
设虚拟机vmi单位时间内执行任务所耗费的资源成本为ri,eccij表示子任务tj在虚拟机vmi的预期执行成本,则eccij=ri*etcij,则在虚拟机vmi上处理任务的总成本因此成本适应度函数为
式中可以看出Fvecc(xs)值越小,则资源成本耗费越少。
至此我们可以得到资源选择的双适应度函数为
Fe(xs)=a*Fvect(xs)+b*Fvecc(xs)
式中,a、b为时间以及成本的权重因子,a,b∈[0,1],a+b=1。Ncpu、Nmem与Nbw为目前数据中心的cpu数、内存以及带宽总大小。
影响负载的因素中主要考虑虚拟机内存使用率以及cpu占用率。
CPU负载定义为
式中vcloadi为第i个虚拟机的cpu负载,vcsi为执行第j个任务前所占用的初始cpu使用率,vcij为执行第j个任务后所占用的cpu使用率,vci为i虚拟机处理分配给其一批任务时的最高cpu使用率。
同理有内存负载与带宽负载定义为:
式中vmeloadi为第i个虚拟机的内存负载,vmesi为执行第j个任务前所占用的初始内存使用率,vemij为执行第j个任务后所占用的内存大小,vmei为第i个虚拟机处理分配给其一批任务时的最高内存使用率。
式中vbwloadi为执行第j个任务后所占用的网络带宽负载,vbwsi为执行第j个任务前所占用的初始带宽利用率,vbwij为执行第j个任务后所占用的带宽使用率,vbwi为第i个虚拟机处理分配给其一批任务时的最高带宽使用率。
第i个虚拟机的总负载为:
sumloadi=A*vcloadi+B*vmeloadi+C*vbwloadi
A,B,C为权重因子,且A+B+C=1,A,B,C∈[0,1],虚拟机集的平均负载为:
第i个虚拟机的负载与虚拟机集的平均负载差值为:
ΔLi=|sumloadi-loadaverage|
由上可得,以单个虚拟机上的负载与整体的相比较,负载均方差ΔL值越小,负载就越均衡,如果能将ΔLi值加入到metropolis准则(一种基于随机模拟的策略,用于解决优化问题),则将有效的解决了上文提到的问题。
metropolis准则内容如下:若在温度T,当前状态i→状态j,若Ei>Ej(Ei,Ej分别为T温度下以及下一温度下的能量值),这接受j为当前状态。否则以计算状态j的接受概率,κ为玻尔兹曼常数,若此接受概率大于[0,1)区间的随机数,则仍然接受状态j为当前状态,若不成立,则保留状态i为当前状态。加入ΔL值的公式如下:
若Ei<Ej,ΔL值越小使得差解接受概率p越大,从而使系统负载均衡的解的接受概率增大。但模拟退火算法本身有诸多限制,如单向收敛导致收敛速度较慢,收敛得到的解的质量较差。因此可以将并行优化的粒子群算法与metropolis准则结合起来。
在本发明研究的问题中,同一个虚拟资源可以执行多个不同的子任务,为一对多的关系。传统粒子群算法中的粒子速度和位移更新公式并不适合求解离散空间组合优化问题,故采用基于交换的离散运算。结合云计算任务调度的特点,采用进制编码对粒子的编码方式进行改进。
如下表1所示:
表1粒子的进制编码
其中,虚拟资源的编号为1至m的整数。一组1至n的组合序列代表该问题解空间里的一个解,即表示一种云计算任务调度方案。
由于在本问题中,两个任务可能被同一虚拟机调度执行,如果交换这两个任务对应的虚拟机编号,则交换没有意义。因此在这里规定,交换的任务不能被同一虚拟机执行,否则重新选择交换的任务。这里将交换两个任务的资源称作交换子,一个或者多个交换子构成了交换序。
本发明采用如下速度-位置更新公式进行粒子速度以及位置更新。
Xi+1=Xi+Vi
式中Vi是粒子i的速度(即交换序);Xi表示第i个粒子的位置,这是一个离散值向量(问题的一个解)。而Xi+1和Vi+1分别是粒子i的新位置与速度。Gb与Pi分别是迄今位置粒子群所搜索的最优位置以及粒子i的历史最优位置。ω是惯性权重,α,β分别为个体学习因子(朝向个体历史最优位置靠近的权重)和群体学习因子(朝向群体最优位置靠近的权重)。ω,α,β∈[0,1]。运算符号表示两个交换序进行合并。
基本交换粒子群算法容易出现粒子聚集现象,导致算法在进化后期陷入局部最优的可能性增加。本发明引进基于随机模拟的优化策略—metropolis准则对粒子群算法做了改进。算法根据此接受概率决定是否对粒子当前所处的位置序列做调整。主要过程如下:在粒子的位置序列中随机挑选两个不被同一台虚拟机调度执行的任务,然后互换这两个任务对应映射的虚拟机编号。若互换后该粒子评价值减小,即Fe(Xi)>Fe(Xi+1),则按照此解继续迭代,否则则按以下公式进行计算此解接受概率:
只有此解的接受概率ρ高于Random()时,Random()∈(0,1),则认为此次调整操作有效并把该位置标记成种群当前最优位置。
上式中Fe(Xi)和Fe(Xi+1)为粒子i所在位置以及交换两虚拟机后粒子i的适应度值,K为Bolzmann常数,N为当前迭代次数。
在算法前期,优先关注任务的完成时间与成本,在后期随着N的值增大,ρ逐渐向1靠近,使得能够完成负载均衡指标的解的接受概率增大。
基于负载的模拟粒子群算法具体步骤如下:
S11、初始化。输入算法参数ω,α,β,并在问题解空间里随机产生m个粒子的位置序列以及n个速度交换序,n为任务数量;
S12、评价粒子。通过时间成本双适应度函数计算每一个粒子所在位置序列Xi的适应度值Fe(Xi);
S13、更新极值。比较粒子的适应度值和本身历史最优值。若前者优于后者,则将个体自身历史最优位置Pi换成粒子当前的位置序列。
S14、更新粒子。依据初始化时的交换序计算交换执行虚拟机编号后的粒子位置,如(1,n-1)表示将1任务和n-1任务对应的虚拟机编号交换,并计算交换后的位置。根据速度-位置更新公式分别更新群体所有粒子的速度以及位置。
Xi+1=Xi+Vi
S15、调整。若Fe(Xi)>Fe(Xi+1),则接受此解Xi+1,否则根据接受概率公式决定是否接受较差解Xi+1,若ρ<Pandom(),则弃掉此解Xi+1,保留粒子原位置Xi,否则接受此较差解,并把粒子历史最优位置设为粒子调整后的位置序列。
S16、重复步骤S12~S15,直至满足算法终止条件。
本发明首先建立时间-成本双适应度函数,并将负载均衡指标加入到离散粒子群算法的调整解的接受概率当中,在迭代后期提高系统负载较好的解的接受概率,从而使任务在在减少时间以及成本的同时系统达到负载均衡。本发明具有以下特点:
1、建立时间-成本双适应度函数并将其作为粒子群算法的解的评价策略;
2、建立负载均衡指标并将其加入改进粒子群算法的metropolis准则中;
3、将基于随机模拟的优化策略metropolis准则应用到离散粒子群算法中;
相较于其他任务调度算法,本发明设计的算法包括以下优点:
1、粒子群算法本身是基于群体智能理论的、高效的并行优化算法;
2、本算法降低了任务调度总执行时间以及任务执行成本,提高了系统的负载均衡度;
3、不易陷入局部极值。能够以一定概率接受差解,且差解为偏向负载均衡度较高的分配方案。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于负载的改进离散粒子群算法的云任务调度方法,其特征在于,该方法包括如下步骤:
S11、初始化:输入算法参数ω,α,β,并在问题解空间里随机产生m个粒子的位置序列以及n个速度交换序,n为任务数量,m为虚拟机数量;
S12、评价粒子:通过时间成本双适应度函数计算每一个粒子所在位置序列Xi的适应度值Fe(Xi);
其中,让m台虚拟机执行n个相互独立的任务,m<n,其中虚拟机集合VM=(vm1,vm2,...,vmm),任务集合T=(t1,t2,...,tn);每个子任务只能被一台虚拟机调度执行,则二者的关系用以下矩阵R来表示:
其中Rij表示子任务tj与虚拟机vmi的分配关系,即子任务tj是否被vmi调度执行;取值为0表示未被调度,取值为1表示被调度执行;
适应度值Fe(Xi)通过资源选择的双适应度函数求取,资源选择的双适应度函数为
Fe(xs)=a*Fvect(xs)+b*Fvecc(xs)
式中,a、b为时间以及成本的权重因子,a,b∈[0,1],a+b=1;Ncpu、Nmem与Nbw为目前数据中心的cpu数、内存以及带宽总大小;
整个系统用分配方案XS去执行任务集T的时间的适应度为Fvect(XS),成本适应度为Fvecc(xs),vcpui为虚拟机vmi的分配到的处理器数量,vmemi虚拟机vmi的内存,vbwi为虚拟机vmi的网络带宽;
S13、更新极值:比较粒子的适应度值和本身历史最优值,若前者优于后者,则将个体自身历史最优位置Pi换成粒子当前的位置序列;
S14、更新粒子:依据初始化时的交换序计算交换执行虚拟机编号后的粒子位置,并计算交换后的位置,根据速度-位置更新公式分别更新群体所有粒子的速度以及位置:
Xi+1=Xi+Vi
式中Vi是粒子i的速度;Xi表示第i个粒子的位置,而Xi+1和Vi+1分别是粒子i的新位置与速度;Gb与Pi分别是迄今位置粒子群所搜索的最优位置以及粒子i的历史最优位置;ω是惯性权重,α,β分别为个体学习因子和群体学习因子;ω,α,β∈[0,1];运算符号表示两个交换序进行合并;
S15、调整:若Fe(Xi)>Fe(Xi+1),则接受此解Xi+1,否则根据接受概率公式决定是否接受较差解Xi+1,若ρ<Random(),则弃掉此解Xi+1,保留粒子原位置Xi,否则接受此较差解,并把粒子历史最优位置设为粒子调整后的位置序列;
其中,
Fe(Xi)和Fe(Xi+1)为粒子i所在位置以及交换两虚拟机后粒子i的适应度值,K为Bolzmann常数,N为当前迭代次数,ΔL为负载均方差;
S16、重复步骤S12~S15,直至满足算法终止条件。
2.如权利要求1所述的基于负载的改进离散粒子群算法的云任务调度方法,其特征在于,
用etcij(expected time to complete)表示子任务tj在虚拟机vmi上的预期执行时间,而预期执行时间由传输时间和在虚拟机上的运行时间决定,即
etcij=transij+eij
式中transij为将子任务tj传输到虚拟机vmi上的时间,eij为子任务在虚拟机vmi上的预期运行时间,eij计算公式如下:
式中tasklengthj为子任务tj的长度,vcali为虚拟机vmi的计算能力,由以下方式计算:
vcali=vcpui*vmipsi+vmemi+vbwi
式中vcpui为虚拟机vmi的分配到的处理器数量,vmipsi为虚拟机vmi的处理器运算速度,vmemi虚拟机vmi的内存,vbwi为虚拟机vmi的网络带宽;
令vetci为第i个虚拟机的任务预期累计执行时间,则 由于虚拟机并发执行任务的特性,因此只需求出某一虚拟机执行一个或者多个子任务的最大预期执行时间,即vectmax=max(vetci);整个系统用分配方案XS去执行任务集T的时间的适应度函数为
Fvect(XS)=max(vetci)
式中Fvect值越小,表示任务预执行时间越短,则分配方案越好。
3.如权利要求2所述的基于负载的改进离散粒子群算法的云任务调度方法,其特征在于,设虚拟机vni单位时间内执行任务所耗费的资源成本为ri,eccij表示子任务tj在虚拟机vmi的预期执行成本,则eccij=ri*etcij,则在虚拟机vmi上处理任务的总成本因此,成本适应度函数为
式中看出Fvecc(xs)值越小,则资源成本耗费越少。
4.如权利要求3所述的基于负载的改进离散粒子群算法的云任务调度方法,其特征在于,
第i个虚拟机的负载与虚拟机集的平均负载差值为:
ΔLi=|sumloadi-loadaverage|
负载均方差为:
负载均方差ΔL值越小,负载就越均衡。
5.如权利要求4所述的基于负载的改进离散粒子群算法的云任务调度方法,其特征在于,
第i个虚拟机的总负载为:
sumloadi=A*vcloadi+B*vmeloadi+C*vbwloadi
A,B,C为权重因子,且A+B+C=1,A,B,C∈[0,1];vcloadi为第i个虚拟机的cpu负载,vmeloadi为第i个虚拟机的内存负载,vbwloadi为执行第j个任务后所占用的网络带宽负载;
虚拟机集的平均负载为:
6.如权利要求5所述的基于负载的改进离散粒子群算法的云任务调度方法,其特征在于,CPU负载定义为
式中vcloadi为第i个虚拟机的cpu负载,vcsi为执行第j个任务前所占用的初始cpu使用率,vcij为执行第j个任务后所占用的cpu使用率,vci为i虚拟机处理分配给其一批任务时的最高cpu使用率。
7.如权利要求5所述的基于负载的改进离散粒子群算法的云任务调度方法,其特征在于,内存负载定义为:
式中vmeloadi为第i个虚拟机的内存负载,vmesi为执行第j个任务前所占用的初始内存使用率,vmeij为执行第j个任务后所占用的内存大小,vmei为第i个虚拟机处理分配给其一批任务时的最高内存使用率。
8.如权利要求5所述的基于负载的改进离散粒子群算法的云任务调度方法,其特征在于,带宽负载定义为:
式中vbwloadi为执行第j个任务后所占用的网络带宽负载,vbwsi为执行第j个任务前所占用的初始带宽利用率,vbwij为执行第j个任务后所占用的带宽使用率,vbwi为第i个虚拟机处理分配给其一批任务时的最高带宽使用率。
9.如权利要求5所述的基于负载的改进离散粒子群算法的云任务调度方法,其特征在于,两个任务可能被同一虚拟机调度执行,如果交换这两个任务对应的虚拟机编号,则交换没有意义;因此,交换的任务不能被同一虚拟机执行,否则重新选择交换的任务;这里将交换两个任务的资源称作交换子,一个或者多个交换子构成了交换序。
10.如权利要求9所述的基于负载的改进离散粒子群算法的云任务调度方法,其特征在于,在粒子的位置序列中随机挑选两个不被同一台虚拟机调度执行的任务,然后互换这两个任务对应映射的虚拟机编号;若互换后该粒子评价值减小,即Fe(Xi)>Fe(Xi+1),则按照此解继续迭代,否则则按以下公式进行计算此解接受概率:
只有此解的接受概率ρ高于Random( )时,Random( )∈(0,1),则认为此次调整操作有效并把该位置标记成种群当前最优位置;
上式中Fe(Xi)和Fe(Xi+1)为粒子i所在位置以及交换两虚拟机后粒子i的适应度值,K为Bolzmann常数,N为当前迭代次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311246928.3A CN117032902A (zh) | 2023-09-26 | 2023-09-26 | 一种基于负载的改进离散粒子群算法的云任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311246928.3A CN117032902A (zh) | 2023-09-26 | 2023-09-26 | 一种基于负载的改进离散粒子群算法的云任务调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117032902A true CN117032902A (zh) | 2023-11-10 |
Family
ID=88602687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311246928.3A Pending CN117032902A (zh) | 2023-09-26 | 2023-09-26 | 一种基于负载的改进离散粒子群算法的云任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117032902A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117311993A (zh) * | 2023-11-28 | 2023-12-29 | 华东交通大学 | 一种云计算负载均衡方法及系统 |
-
2023
- 2023-09-26 CN CN202311246928.3A patent/CN117032902A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117311993A (zh) * | 2023-11-28 | 2023-12-29 | 华东交通大学 | 一种云计算负载均衡方法及系统 |
CN117311993B (zh) * | 2023-11-28 | 2024-03-08 | 华东交通大学 | 一种云计算负载均衡方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kong et al. | Heuristic load balancing based zero imbalance mechanism in cloud computing | |
CN107168770B (zh) | 一种低能耗的云数据中心工作流调度与资源供给方法 | |
Al-Olimat et al. | Cloudlet scheduling with particle swarm optimization | |
CN112181620B (zh) | 云环境下虚拟机服务能力感知的大数据工作流调度方法 | |
Tong et al. | DDQN-TS: A novel bi-objective intelligent scheduling algorithm in the cloud environment | |
CN117032902A (zh) | 一种基于负载的改进离散粒子群算法的云任务调度方法 | |
Patel et al. | Gwo based task allocation for load balancing in containerized cloud | |
Peng et al. | A reinforcement learning-based mixed job scheduler scheme for cloud computing under SLA constraint | |
CN112954012B (zh) | 基于负载的改进模拟退火算法的云任务调度方法 | |
Madhumala et al. | Virtual machine placement using energy efficient particle swarm optimization in cloud datacenter | |
Chalack et al. | Resource allocation in cloud environment using approaches based particle swarm optimization | |
Awan et al. | A survey on task scheduling algorithms in cloud computing environment | |
CN112835684A (zh) | 一种面向移动边缘计算的虚拟机部署方法 | |
Yuan et al. | A DRL-Based Container Placement Scheme with Auxiliary Tasks. | |
Gąsior et al. | A Sandpile cellular automata-based scheduler and load balancer | |
CN114968554B (zh) | 一种基于核函数映射方式的鲸鱼算法的工作流云调度方法 | |
CN115086249B (zh) | 一种基于深度强化学习的云数据中心资源分配方法 | |
Javadi-Moghaddam et al. | Resource allocation in cloud computing using advanced imperialist competitive algorithm. | |
Wang | A dynamic resource management in mobile agent by artificial neural network | |
Negi et al. | Novel hybrid ANN and clustering inspired load balancing algorithm in cloud environment | |
Zhang et al. | Multi-user multi-provider resource allocation in cloud computing | |
CN112306642A (zh) | 一种基于稳定匹配博弈理论的工作流调度方法 | |
Yan et al. | Cloud computing workflow framework with resource scheduling mechanism | |
Al-Olimat et al. | Cloudlet Scheduling with Population Based Metaheuristics | |
Liu et al. | Resource management in cloud based on deep reinforcement learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |