CN115421885A - 一种分布式多目标云任务的调度方法、装置及云服务系统 - Google Patents
一种分布式多目标云任务的调度方法、装置及云服务系统 Download PDFInfo
- Publication number
- CN115421885A CN115421885A CN202211042893.7A CN202211042893A CN115421885A CN 115421885 A CN115421885 A CN 115421885A CN 202211042893 A CN202211042893 A CN 202211042893A CN 115421885 A CN115421885 A CN 115421885A
- Authority
- CN
- China
- Prior art keywords
- optimal solution
- population
- fitness
- task
- cloud
- 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
Links
Images
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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]
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (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
技术领域
本申请涉及云计算技术领域,特别是涉及一种分布式多目标云任务的调度方法、装置及云服务系统。
背景技术
迄今为止,国内外研究学者已经开发出多种传统算法、博弈论算法和启发式算法来解决任务调度优化问题。经典的Min-Min与Max-Min算法通过优先安排计算量过小或过大的任务方式缩短总任务完成时间,但是这类算法没有考虑到云环境中的负载均衡,导致负载均衡较差。
目前,研究学者大多数采用启发式算法来解决云计算任务调度这一多项式复杂程度的非确定性问题(Non-deterministic Polynomial,NP问题)。启发式算法包括蚁群算法、粒子群算法、微生物遗传算法和布谷鸟搜索算法以及相关的改进融合算法。这类方法具备操作简单、扩充性好的特点,能够有效地缩短任务完成时间,解决资源负载均衡问题。例如,孙长亚等提出基于MGA-PSO的云计算多目标任务调度,使粒子群优化算法和微生物遗传算法互补,融合两个算法的优点,弥补各自的不足。
但是发明人认识到,现有的使用微生物遗传算法的融合算法,必须将迭代次数控制在较小的范围内,可能导致没有将样本缩小在一个可观的范围;并且,现有算法都没有考虑计算集群的分布式环境,而是将所有节点的算法统一成一种,没有更好地利用分布式计算的特性更好地改进算法。
发明内容
基于此,针对上述技术问题,提供一种分布式多目标云任务的调度方法和装置,以在用户使用云计算时能够提供更合理的资源分配方案。
第一方面,一种分布式多目标云任务的调度方法,包括:
步骤A,获取待调度的分布式多目标云任务的任务参数,以及云服务系统的可用虚拟机的虚拟机参数,并构建适应度函数;
步骤B,基于步骤A构建的适应度函数,使用微生物遗传算法缩小多目标云任务在云服务系统的最优调度方案的求解范围,得到相应的种群;
步骤C,将步骤B得到的种群随机分为染色体数量相等的第一种群和第二种群;
步骤D,在所述第一种群上使用粒子群优化算法,得到第一种群中的调度方案的当前最优解并记为第一最优解;
步骤E,在所述第二种群上使用布谷鸟搜索算法,得到第二种群中的调度方案的当前最优解并记为第二最优解;
步骤F,判断是否到达第一最优解和第二最优解进行共享的时刻;当算法整体迭代次数达到预设的次数时,则判定对第一最优解和第二最优解进行共享,并执行步骤G;当算法迭代次数未达到预设的次数时,则判定对第一最优解和第二最优解不进行共享,并跳过步骤G,直接执行步骤H;
步骤G,共享第一最优解与第二最优解中的优秀个体,更新第一最优解与第二最优解,相应第一种群和第二种群也得到更新;
步骤H,将第一最优解中适应度最小的个体与第二最优解中适应度最小的个体进行比较,保存比较结果中适应度更小的一个个体,并将比较结果中适应度更小的一个个体作为全局最优解;
步骤I,重复步骤D至步骤H,直至算法整体迭代次数达到预设的最大算法整体迭代次数;
步骤J,输出所述全局最优解,所述全局最优解即为多目标云任务在云服务系统的最优调度方案。
可选地,所述分布式多目标云任务的任务参数包括所述分布式多目标云任务的子任务数目以及每个子任务的任务大小;所述可用虚拟机的虚拟机参数包括可用虚拟机数目以及每个虚拟机的处理能力;所述可用虚拟机数目是由所述云服务系统的资源决策器根据云任务的任务信息和云服务系统的资源使用机器学习算法来分配的。
进一步可选地,所述云任务的任务信息包括云任务的预算、开销、内存和截止日期;所述云服务系统的资源包括计算资源、网络资源和存储资源;所述机器学习算法包括循环神经网络算法和深度神经网络算法。
进一步可选地,步骤A中所述构建适应度函数具体包括:
设获取到的多目标云任务的子任务数目为n,A={α1,α2,...,αn},其中αi表示第i个子任务,0≤i≤n,每个子任务的任务大小为SIZEi;另设云服务系统的可用虚拟机数目为p,B={β1,β2,...,βp},其中βj代表第j个可用虚拟机,0≤j≤p,每个虚拟机的处理能力为MIPSj;n个子任务被调度到P个虚拟机上执行,n>p;
(1)基于各子任务在各虚拟机上的执行时间计算执行全部子任务所花费的最大时间:
任务i在虚拟机j上的执行时间Tij的计算公式如下:
Tij=SIZEi/MIPSj
虚拟机j的释放时间RTj初始化为0,当有任务i在虚拟机j上执行时,RTj的计算公式如下:
RTj=RTj+Tij
任务i是虚拟机j上的第一个任务时,其开始执行时间STIj定义为0,否则定义为虚拟机j的释放时间RTj:
STij=RTj
任务i在虚拟机j上的完成时间FTij为任务i在虚拟机j上的开始执行时间STij与执行时间Tij之和,FTij的计算公式如下:
FTij=STij+Tij
任务的最大完工时间Makespan为所有虚拟机释放时间的最大值,Makespan的计算公式如下:
(2)根据各虚拟机的执行成本计算总执行成本:
为云服务系统的内存、带宽、处理器和存储空间预先设置相应的单位价格,通过统计任务调度过程中各虚拟机对内存、带宽、处理器和存储空间的使用量,计算P个虚拟机对n个子任务的总执行成本Cost;
(3)基于所有虚拟机的释放时间计算云环境的负载均衡:
云服务系统的负载均衡定义为所有虚拟机释放时间的标准差,负载均衡的计算公式如下:
(4)基于所述执行全部子任务所花费的最大时间、所述总执行成本以及负载均衡构建适应度函数,所述适应度函数为任务完工时间、总执行成本及云环境负载均衡的加权和,用于衡量云计算任务调度的性能,适应度函数的公式表示如下:
fitness=λ1×Makespan+λ2×LB+λ3×Cost
式中λ1+λ2+λ3=1,λ1、λ2和λ3的取值根据云任务需求调整;适应度越小,对应的多目标云任务的调度方案越优,最小适应度对应的调度方案为所述多目标云任务的最优调度方案。
优选地,所述步骤B具体包括:
步骤B1,通过随机创建X个染色体对种群进行初始化,每个染色体为云任务在云服务系统的可用虚拟机上的一种调度方案,种群表示云任务的一系列调度方案;
步骤B2,在种群上使用微生物遗传算法,在种群每次迭代过程中,随机抽取两个染色体作为父染色体并比较两个父染色体的适应度,对适应度小的一个父染色体不作任何处理,对适应度大的父染色体进行交叉操作和变异操作,得到相应的子染色体;
步骤B3,若所述子染色体的适应度<相应的父染色体的适应度,用所述子染色体取代所述适应度大的父染色体,更新种群;若所述子染色体的适应度≥相应的父染色体的适应度,保留原种群;
步骤B4,重复步骤B2至B3,直至达到预设的第一迭代次数;
步骤B5,输出最终得到的种群。
优选地,所述步骤D具体包括:
步骤D1,在所述第一种群上使用粒子群优化算法,将Y个粒子随机撒在第一种群上;
步骤D2,计算第一种群中每个粒子的适应度,通过比较确定当前每个粒子的个体最优位置以及种群最优位置,所述粒子的个体最优位置即粒子适应度最小时所在的位置,所述种群最优位置即第一种群中适应度最小的位置;
步骤D3,更新粒子的速度与位置;
步骤D4,若更新后的粒子适应度小于该粒子在个体最优位置的适应度,将该粒子的个体最优位置更新为该粒子的当前位置;
步骤D5,将所有粒子的个体最优位置的适应度与种群最优位置的适应度比较,如果其中一个粒子的个体最优位置的适应度小于种群最优位置的适应度,将种群最优位置更新为该粒子的个体最优位置;
步骤D6,重复步骤D3至D5,直至达到预设的第二迭代次数;
步骤D7,输出所述种群最优位置,得到第一种群中的调度方案的当前最优解,并将第一种群中的调度方案的当前最优解记为第一最优解。
优选地,所述步骤E具体包括:
步骤E1,在所述第二种群上使用布谷鸟搜索算法,随机生成Z个鸟巢的初始位置;
步骤E2,计算第二种群中每个鸟巢的适应度,通过比较确定当前最优鸟巢位置,所述最优鸟巢位置即适应度最小的鸟巢位置;
步骤E3,保留当前最优鸟巢,其他鸟巢位置通过莱维飞行机制进行更新,更新公式为:
步骤E4,计算更新后的鸟巢的适应度,并对比更新前的最优鸟巢位置的适应度,更新当前最优鸟巢位置;
步骤E5,根据发现概率遗弃部分鸟巢,对要遗弃的鸟巢的位置进行随机更新,用更新后的位置代替要遗弃的鸟巢的位置;
步骤E6,重复步骤E2至E5,直至达到预设的第三迭代次数;
步骤E7,输出所述最优鸟巢位置,得到第二种群中的调度方案的当前最优解,并将第二种群中的调度方案的当前最优解记为第二最优解。
优选地,步骤G所述共享第一最优解与第二最优解中的优秀个体具体包括:
将所述第一最优解中适应度最小的m个个体和所述第二最优解中适应度最小的m个个体,分别替换所述第二最优解中适应度最大的m个个体和所述第一最优解中适应度最大的m个个体;
m的值小于第一种群或第二种群规模的一半,m按照如下公式取值:
当用第二最优解中适应度最小的m个个体替换第一最优解中适应度最大的m个个体时,利用第一最优解中适应度最小的m个个体的速度,采用混沌模式产生相应的速度序列替换第一最优解中适应度最大的m个个体的速度;
混沌模式采用以下的形式:
yi(t)=μyi(t-1)(1-yi(t-1))
其中,yi(t)是[0,1]中的一个随机数;t为当前算法整体迭代次数;μ是控制参数;μ=4。
第二方面,一种分布式多目标云任务的调度装置,包括:
适应度函数构建模块,用于获取待调度的分布式多目标云任务的任务参数,以及云服务系统的可用虚拟机的虚拟机参数,并构建适应度函数;
微生物遗传算法工作模块,用于基于适应度函数构建模块构建的适应度函数,使用微生物遗传算法缩小多目标云任务在云服务系统的最优调度方案的求解范围,得到相应的种群;
种群均分模块,用于将微生物遗传算法工作模块得到的种群随机分为染色体数量相等的第一种群和第二种群;
粒子群优化算法工作模块,用于在所述第一种群上使用粒子群优化算法,得到第一种群中的调度方案的当前最优解并记为第一最优解;
布谷鸟搜索算法工作模块,用于在所述第二种群上使用布谷鸟搜索算法,得到第二种群中的调度方案的当前最优解并记为第二最优解;
共享时刻判断模块,用于判断是否到达第一最优解和第二最优解进行共享的时刻;当算法整体迭代次数达到预设的次数时,则判定对第一最优解和第二最优解进行共享,并使共享模块进行工作;当算法迭代次数未达到预设的次数时,则判定对第一最优解和第二最优解不进行共享,并跳过共享模块,直接使全局最优解生成模块进行工作;
共享模块,用于共享第一最优解与第二最优解中的优秀个体,更新第一最优解与第二最优解,相应第一种群和第二种群也得到更新;
全局最优解生成模块,用于将第一最优解中适应度最小的个体与第二最优解中适应度最小的个体进行比较,保存比较结果中适应度更小的一个个体,并将比较结果中适应度更小的一个个体作为全局最优解;
算法整体迭代模块,用于使粒子群优化算法工作模块至全局最优解生成模块重复工作,直至算法整体迭代次数达到预设的最大算法整体迭代次数;
全局最优解输出模块,用于输出所述全局最优解,所述全局最优解即为多目标云任务在云服务系统的最优调度方案。
第三方面,一种云服务系统,包括用户终端、云服务器和云服务终端,所述用户终端与云服务器双向通信连接,所述云服务器与云服务终端双向通信连接;
所述用户终端上运行有应用程序,用户通过相应应用程序来向云服务系统提交云任务;
所述云服务器包括分布式数据库、云调度模块和云计算模块,所述分布式数据库用于存储云服务系统在工作中所产生的数据,包括用户所提交的云任务以及用户信息;所述云调度模块包括任务管理器、资源决策器和任务调度器,所述任务管理器用于接收和管理来自用户终端的云任务的任务信息,然后将任务信息提交给资源决策器;所述资源决策器用于根据任务信息和云服务系统的资源,使用机器学习算法分配并行资源数量;所述任务调度器用于使用权利要求1所提供的调度方法将云任务以最合理的方案分配到云计算模块中的节点上执行;所述云计算模块包括多个计算节点和混合器,每个计算节点用于根据任务调度器的调度方案对相应的任务进行分布式运算,然后将运算结果发送给混合器将作进一步混合运算,从而完成用户需求;所述混合器用于将混合运算结果进一步发送给云服务终端;
所述云服务终端上有云设备,所述云设备用于接收混合器的运算结果,并通过云设备中的云应用,来为用户提供云服务。
本发明至少具有以下有益效果:
本发明实施例所提供的一种分布式多目标云任务的调度方法和装置,使用微生物遗传算法、粒子群优化算法和布谷鸟搜索算法相结合的方式,在使用微生物遗传算法后的种群上同时使用粒子群优化算法和布谷鸟搜索算法,最大程度上避免了粒子群优化算法陷入局部最优的可能性,同时克服布谷鸟搜索算法收敛速度慢的缺点,因此该算法融合了微生物遗传算法、粒子群优化算法和布谷鸟搜索算法三者的优点;具体来说:该调度方法在前期使用微生物遗传算法进行全局搜索,可大大缩小求解范围,提高解的精度,避免粒子群优化算法在进一步优化解决方案时陷入局部最优解;而由于微生物遗传算法找到较精确的解需要训练很长的时间,所以进行少次迭代,只用来缩小求解范围;粒子群优化算法具有快速收敛到最优解的优点,减少了云计算任务调度的时间,同时使用具备自组织与并行寻优的布谷鸟搜索算法再次降低了粒子群优化陷入局部最优解的可能。
同时,本发明实施例所提出的云服务系统的框架结构,考虑了在实际分布式环境下的任务调度问题,将系统设计成一个易并行的模式,能够适应云环境下分布式并行处理的特点,将多种算法在各个节点上进行分布式计算;该系统在进行任务调度前使用资源决策器根据计算资源、网络资源和存储资源和任务信息对虚拟机资源进行分配,资源决策器中使用神经网络和深度学习的机器学习算法,实现了资源的自动分配。
另外,本发明实施例所提供的调度方法,在设定适应度函数时,考虑到了任务的完工时间、执行成本和云环境的负载均衡,基本包含了在使用任务调度算法时要考虑所有成本范围,比较全面,有实现的必要性和可行性。
附图说明
图1为本发明一个实施例提供的一种分布式多目标云任务的调度方法的流程示意图;
图2为本发明一个实施例中构建适应度函数的具体流程示意图;
图3为本发明一个实施例中步骤B的具体流程示意图;
图4为本发明一个实施例中步骤D的具体流程示意图;
图5为本发明一个实施例中步骤E的具体流程示意图;
图6为本发明一个实施例中MGA-PSO-CSA算法部分的详细流程示意图;
图7为本发明一个实施例提供的一种分布式多目标云任务的调度装置的模块架构框图;
图8为本发明一个实施例提供的一个云服务系统的总体框架示意图;
图9为本发明一个实施例提供的计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本发明的核心是云服务系统的任务调度器中的调度算法,在一个实施例中,如图1所示,提供了一种分布式多目标云任务的调度方法,使用微生物遗传算法(MGA)、粒子群优化算法(PSO)和布谷鸟搜索算法(CSA)相结合的方式,该调度方法包括适应度函数构建部分(步骤A)以及MGA-PSO-CSA算法部分(步骤B至步骤J部分),该调度方法具体包括以下步骤:
步骤A,获取待调度的分布式多目标云任务的任务参数,以及云服务系统的可用虚拟机的虚拟机参数,并构建适应度函数;
步骤B,基于步骤A构建的适应度函数,使用微生物遗传算法(MGA)缩小多目标云任务在云服务系统的最优调度方案的求解范围,得到相应的种群;
步骤C,将步骤B得到的种群随机分为染色体数量相等的第一种群和第二种群;
步骤D,在所述第一种群上使用粒子群优化算法(PSO),得到第一种群中的调度方案的当前最优解并记为第一最优解;
步骤E,在所述第二种群上使用布谷鸟搜索算法(CSA),得到第二种群中的调度方案的当前最优解并记为第二最优解;
步骤F,判断是否到达第一最优解和第二最优解进行共享的时刻;当算法整体迭代次数达到预设的次数时,则判定对第一最优解和第二最优解进行共享,并执行步骤G;当算法迭代次数未达到预设的次数时,则判定对第一最优解和第二最优解不进行共享,并跳过步骤G,直接执行步骤H;
步骤G,共享第一最优解与第二最优解中的优秀个体,更新第一最优解与第二最优解,相应第一种群和第二种群也得到更新;
步骤H,将第一最优解中适应度最小的个体与第二最优解中适应度最小的个体进行比较,保存比较结果中适应度更小的一个个体,并将比较结果中适应度更小的一个个体作为全局最优解;
步骤I,重复步骤D至步骤H,直至算法整体迭代次数达到预设的最大算法整体迭代次数;
步骤J,输出所述全局最优解,所述全局最优解即为多目标云任务在云服务系统的最优调度方案。
其中,步骤A中获取的分布式多目标云任务的任务参数包括所述分布式多目标云任务的子任务数目以及每个子任务的任务大小;所述可用虚拟机的虚拟机参数包括可用虚拟机数目以及每个虚拟机的处理能力。而可用虚拟机数目是由云服务系统的资源决策器根据云任务的预算、开销、内存和截止日期等任务信息以及计算资源、网络资源和存储资源等云服务系统资源,使用循环神经网络算法和深度神经网络算法等机器学习算法来分配的。
假设获取到的多目标云任务的子任务数目为n,各子任务间相互独立,子任务的集合A={α1,α2,...,αn},其中αi表示第i个子任务,0≤i≤n,每个子任务的任务大小为SIZEi;另假设云服务系统由p个高速互联的虚拟机组成,也就是可用虚拟机的集合B={β1,β2,...,βp},其中βj代表第j个可用虚拟机,0≤j≤p,每个虚拟机的处理能力为MIPSj;进一步会通过本发明提供的MGA-PSO-CSA算法将n个子任务调度到P个虚拟机上执行,通常来说n>p;进一步地,步骤A中所述构建适应度函数具体包括:
(1)基于各子任务在各虚拟机上的执行时间计算执行全部子任务所花费的最大时间:
任务i在虚拟机j上的执行时间Tij的计算公式如下:
Tij=SIZEi/MIPSj
虚拟机j的释放时间RTj初始化为0,当有任务i在虚拟机j上执行时,RTj的计算公式如下:
RTj=RTj+Tij
任务i是虚拟机j上的第一个任务时,其开始执行时间STIj定义为0,否则定义为虚拟机j的释放时间RTj:
STij=RTj
任务i在虚拟机j上的完成时间FTij为任务i在虚拟机j上的开始执行时间STij与执行时间Tij之和,FTij的计算公式如下:
FTij=STij+Tij
任务的最大完工时间Makespan为所有虚拟机释放时间的最大值,Makespan的计算公式如下:
(2)根据各虚拟机的执行成本计算总执行成本:
为云服务系统的内存、带宽、处理器和存储空间预先设置相应的单位价格,通过统计任务调度过程中各虚拟机对内存、带宽、处理器和存储空间的使用量,计算P个虚拟机对n个子任务的总执行成本Cost;
(3)基于所有虚拟机的释放时间计算云环境的负载均衡:
云服务系统的负载均衡定义为所有虚拟机释放时间的标准差,负载均衡的计算公式如下:
(4)基于所述执行全部子任务所花费的最大时间、所述总执行成本以及负载均衡构建适应度函数,所述适应度函数为任务完工时间、总执行成本及云环境负载均衡的加权和,用于衡量云计算任务调度的性能,适应度函数的公式表示如下:
fitness=λ1×Makespan+λ2×LB+λ3×Cost
对于每一种调度方案的适应度,都通过fitness函数来计算。
式中λ1+λ2+λ3=1,权重λ1、λ2和λ3的取值根据云任务需求灵活地调整,也就是在云任务进行调度时,更看重任务完工时间、总执行成本及云环境负载均衡中的哪一个因素,就可以相应的提高该因素的权重;任务调度的最终目标是最小化适应度函数的值,也就是说适应度越小,对应的多目标云任务的调度方案越优,最小适应度对应的调度方案为所述多目标云任务的最优调度方案。
进一步地,会利用所述适应度函数和本发明提供的MGA-PSO-CSA算法(步骤B至步骤J部分)进行任务策略调度,输出虚拟机调度表,上述构建适应度函数的具体过程如图2所示。
进一步地,如图3所示,所述步骤B具体包括:
步骤B1,通过随机创建X个染色体对种群进行初始化来生成随机种群,每个染色体为云任务在云服务系统的可用虚拟机上的一种调度方案,种群表示云任务的一系列调度方案,每个解决方案是云任务在可用虚拟机上的分布;另外,X是一个正整数,在实际应用中创建的染色体的数量可以根据任务数以及可用虚拟机数目进行设定,例如,X可以为1000;
步骤B2,在种群上使用微生物遗传算法(MGA),微生物遗传算法是对遗传算法的一种改进形式,在种群每次迭代过程中,随机抽取两个染色体作为父染色体并比较两个父染色体的适应度,对适应度小的一个父染色体不作任何处理,对适应度大的父染色体进行改进的交叉操作和变异操作,得到相应的子染色体;具体来说,所述改进的交叉操作是:在适应度小的父染色体上随机截取一个基因交叉点i,将第1到i个基因片段替代适应度大的父染色体的对应位置来产生一个相应的子染色体;所述变异操作是:对改进的交叉操作产生的子染色体进行基本位变异操作,即随机选择一个新基因去替换原有基因;
步骤B3,若变异后的子染色体的适应度<相应的父染色体的适应度,用所述子染色体取代所述适应度大的父染色体,将其放置在种群中来更新种群;若所述子染色体的适应度≥相应的父染色体的适应度,则仍将两个父染色体置于种群中,也就是保留了原种群;
步骤B4,重复步骤B2至B3,直至达到预设的第一迭代次数,由于MGA算法处理初始种群、找到较精确的解需要训练很长的时间,所以迭代次数设置的很小,也就是第一迭代次数以50次以内为佳,可以设置为50次;通过重复步骤B2至B3,会筛选掉很多适应度较大的调度方案,换句话说,可以很大程度地缩小最优调度方案的求解范围;
步骤B5,输出最终得到的种群,此时种群中包含的一系列调度方案都是适应度相对来说比较小的解决方案。
然后将最终得到的种群分为染色体个体数量相等的两组种群,即第一种群和种群II,并对第一种群和第二种群进行分别处理。
进一步地,如图4所示,对第一种群进行处理的步骤D具体包括:
步骤D1,在所述第一种群上使用粒子群优化算法(PSO),在初始时刻将Y个粒子随机撒在第一种群上,Y是一个正整数,推荐取值范围可以是[20,1000],在实际应用中可以根据实际情况确定Y的值;
步骤D2,计算第一种群中每个粒子的适应度,通过比较确定当前每个粒子的个体最优位置以及种群最优位置,所述粒子的个体最优位置即粒子适应度最小时所在的位置,所述种群最优位置即第一种群中适应度最小的位置,也就是第一种群中的最优调度方案;
步骤D3,更新粒子的速度与位置;
步骤D4,若更新后的粒子适应度小于该粒子在个体最优位置的适应度,将该粒子的个体最优位置更新为该粒子的当前位置;
步骤D5,将所有粒子的个体最优位置的适应度与种群最优位置的适应度比较,如果其中一个粒子的个体最优位置的适应度小于种群最优位置的适应度,将种群最优位置更新为该粒子的个体最优位置;
步骤D6,重复步骤D3至D5,直至达到预设的第二迭代次数,第二迭代次数可以设置为100次;
步骤D7,输出所述种群最优位置,由此可以得到第一种群中的调度方案的当前最优解,当前最优解可能包含多个解决方案,并将第一种群中的调度方案的当前最优解记为第一最优解。
进一步地,如图5所示,对第二种群进行处理的步骤E具体包括:
步骤E1,在所述第二种群上使用布谷鸟搜索算法(CSA),在初始时刻随机生成Z个鸟巢的初始位置,同样在实际应用中可以根据实际情况确定Z的值;
步骤E2,计算第二种群中每个鸟巢的适应度,通过比较确定当前最优鸟巢位置,所述最优鸟巢位置即适应度最小的鸟巢位置;
步骤E3,保留当前最优鸟巢,其他鸟巢位置通过莱维飞行机制(Levyflights)进行更新,更新公式为:
公式中Xi表示第i个鸟巢,表示异或运算;α表示步长因子,控制布谷鸟随机游走的距离;一般情况下α=1,但是在多维连续问题中,步长大小通过α=α0(Xi-Xbest)来计算,其中α0是步长因子的初始值。Levy(λ)为服从Levy分布的随机搜索过程,搜索路线与时间t的关系为:
Levy(β)~μ=t-λ(1<λ≤3)
步骤E4,计算更新后的鸟巢的适应度,并对比更新前的最优鸟巢位置的适应度,更新当前最优鸟巢位置,将最好的鸟巢保留到下一代;
步骤E5,根据发现概率遗弃部分质量不好鸟巢,对要遗弃的鸟巢的位置进行随机更新,用更新后的位置代替要遗弃的鸟巢的位置;也就是说当鸟巢位置更新后,用随机数r∈[0,1]与最大发现概率pa进行比较,若r<pa,则对该巢的位置进行随机改变,反之则不变;
步骤E6,重复步骤E2至E5,直至达到预设的第三迭代次数,第三迭代次数同样可以设置为100次;
步骤E7,输出所述最优鸟巢位置,得到第二种群中的调度方案的当前最优解,并将第二种群中的调度方案的当前最优解记为第二最优解。
进一步地,规定每当MGA-PSO-CSA算法迭代10次时,也就是MGA-PSO-CSA算法整体迭代次数为10的倍数时,第一最优解与第二最优解中的优秀个体就进行共享。
具体来说,共享第一最优解与第二最优解中的优秀个体具体包括:
将所述第一最优解中适应度最小的m个个体和所述第二最优解中适应度最小的m个个体,分别替换所述第二最优解中适应度最大的m个个体和所述第一最优解中适应度最大的m个个体,也就是用第一最优解中和第二最优解中最好的m个个体替换对方最差的m个个体;替换完成后第一最优解与第二最优解就得到了更新,相应第一种群和第二种群也得到更新,同步地,第一最优解与第二最优解所属的第一种群与第二种群也就相应地得到了更新;
m的值小于第一种群或第二种群规模的一半,以免发生交换过去的个体又被原封不动的交换回来。随着算法的进化,第一最优解与第二最优解都可能发生聚集的情况,所以随着算法的进行应该进一步提高族群的多样性,所以m的值宜采取递增的情况,这里用下式计算:
由于粒子群优化算法和布谷鸟搜索算法的不同,在对采用粒子群优化算法的最优解I与采用布谷鸟搜索算法的第二最优解中的个体进行替换时,在布谷鸟搜索算法中只需要保存位置和适应度,而在粒子群优化算法中,除了需要保存位置和适应度以外,还需要保存速度。因此当用第二最优解中的优秀个体替换第一最优解中差的个体时,也就是当用第二最优解中适应度最小的m个个体替换第一最优解中适应度最大的m个个体时,位置和适应度可以直接替换,但是由于第二最优解中的个体没有速度信息,可以利用第一最优解中适应度最小的m个个体的速度,采用混沌模式产生相应的速度序列替换第一最优解中适应度最大的m个个体的速度;
混沌模式采用以下的形式:
yi(t)=μyi(t-1)(1-yi(t-1))
其中,yi(t)是[0,1]中的一个随机数;t为当前算法整体迭代次数;μ是一个控制参数,一般μ取4。
每次进化后,都会将第一最优解中适应度最小的个体与第二最优解中适应度最小的个体进行比较,判断哪一个个体更优,然后将更优的那一个个体作为全局最优解保存下来。在MGA-PSO-CSA算法整体迭代次数不是10的倍数时,会跳过上述的共享第一最优解与第二最优解中的优秀个体的过程,直接将第一最优解中适应度最小的个体与第二最优解中适应度最小的个体进行比较,从而找出当前的全局最优解并保存。
进一步地,步骤D至步骤H会重复多次,直至算法整体迭代次数达到预设的最大算法整体迭代次数,该最大算法整体迭代次数可设置为50次,也就是说,在50次迭代过程中,第一最优解与第二最优解中的优秀个体的共享会发生5次。
在上述MGA-PSO-CSA算法完成50次迭代后,会输出保存的全局最优解,该全局最优解便是多目标云任务在云服务系统上的最优的一个调度方案。综上,本发明提供的MGA-PSO-CSA算法的详细流程如图6所示。
上述实施例所提供的一种分布式多目标云任务的调度方法,使用微生物遗传算法、粒子群优化算法和布谷鸟搜索算法相结合的方式,在使用微生物遗传算法后的种群上同时使用粒子群优化算法和布谷鸟搜索算法,最大程度上避免了粒子群优化算法陷入局部最优的可能性,同时克服布谷鸟搜索算法收敛速度慢的缺点。该调度方法融合了微生物遗传算法、粒子群优化算法和布谷鸟搜索算法三者的优点。在前期使用微生物遗传算法进行全局搜索,可大大缩小求解范围,提高解的精度,避免粒子群优化算法在进一步优化解决方案时陷入局部最优解。而由于微生物遗传算法找到较精确的解需要训练很长的时间,所以进行少次迭代,只用来缩小求解范围。粒子群优化算法具有快速收敛到最优解的优点,减少了云计算任务调度的时间,同时使用具备自组织与并行寻优的布谷鸟搜索算法再次降低了粒子群优化陷入局部最优解的可能。
同时,本发明实施例所提供的调度方法,在设定适应度函数时,考虑到了任务的完工时间、执行成本和云环境的负载均衡,基本包含了在使用任务调度算法时要考虑所有成本范围,比较全面,有实现的必要性和可行性。
应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种分布式多目标云任务的调度装置,包括以下程序模块:
适应度函数构建模块701,用于获取待调度的分布式多目标云任务的任务参数,以及云服务系统的可用虚拟机的虚拟机参数,并构建适应度函数;
微生物遗传算法工作模块702,用于基于适应度函数构建模块构建的适应度函数,使用微生物遗传算法缩小多目标云任务在云服务系统的最优调度方案的求解范围,得到相应的种群;
种群均分模块703,用于将微生物遗传算法工作模块得到的种群随机分为染色体数量相等的第一种群和第二种群;
粒子群优化算法工作模块704,用于在所述第一种群上使用粒子群优化算法,得到第一种群中的调度方案的当前最优解并记为第一最优解;
布谷鸟搜索算法工作模块705,用于在所述第二种群上使用布谷鸟搜索算法,得到第二种群中的调度方案的当前最优解并记为最优解II;
共享时刻判断模块706,用于判断是否到达第一种群中的调度方案的当前最优解和第二种群中的调度方案的当前最优解进行共享的时刻;当算法整体迭代次数达到预设的次数时,则判定对第一种群中的调度方案的当前最优解和第二种群中的调度方案的当前最优解进行共享,并使共享模块进行工作;当算法迭代次数未达到预设的次数时,则判定对第一种群中的调度方案的当前最优解和第二种群中的调度方案的当前最优解不进行共享,并跳过共享模块,直接使全局最优解生成模块进行工作;
共享模块707,用于共享第一最优解与第二最优解中的优秀个体,更新第一最优解与第二最优解,相应第一种群和第二种群也得到更新;
全局最优解生成模块708,用于将第一最优解中适应度最小的个体与第二最优解中适应度最小的个体进行比较,保存比较结果中适应度更小的一个个体,并将比较结果中适应度更小的一个个体作为全局最优解;
算法整体迭代模块709,用于使粒子群优化算法工作模块至全局最优解生成模块重复工作,直至达到预设的最大算法整体迭代次数;
全局最优解输出模块710,用于输出所述全局最优解,所述全局最优解即为多目标云任务在云服务系统的最优调度方案。
关于一种分布式多目标云任务的调度装置的具体限定可以参见上文中对于一种分布式多目标云任务的调度方法的限定,在此不再赘述。上述一种分布式多目标云任务的调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述实施例所提供的的一种分布式多目标云任务的调度装置,使用微生物遗传算法、粒子群优化算法和布谷鸟搜索算法相结合的方式,在使用微生物遗传算法后的种群上同时使用粒子群优化算法和布谷鸟搜索算法,最大程度上避免了粒子群优化算法陷入局部最优的可能性,同时克服布谷鸟搜索算法收敛速度慢的缺点。该调度装置融合了微生物遗传算法、粒子群优化算法和布谷鸟搜索算法三者的优点。在前期使用微生物遗传算法进行全局搜索,可大大缩小求解范围,提高解的精度,避免粒子群优化算法在进一步优化解决方案时陷入局部最优解。而由于微生物遗传算法找到较精确的解需要训练很长的时间,所以进行少次迭代,只用来缩小求解范围。粒子群优化算法具有快速收敛到最优解的优点,减少了云计算任务调度的时间,同时使用具备自组织与并行寻优的布谷鸟搜索算法再次降低了粒子群优化陷入局部最优解的可能。
在一个实施例中,本发明提出了云服务系统的一个总框架结构,从硬件或软件结构上划分,包括用户终端、云服务器和云服务终端,所述用户终端与云服务器双向通信连接,所述云服务器与云服务终端双向通信连接;
所述用户终端上运行有应用程序,用户通过相应应用程序来向云服务系统提交云任务;
所述云服务器包括分布式数据库、云调度模块和云计算模块,所述分布式数据库用于存储云服务系统在工作中所产生的数据,包括用户所提交的云任务数据以及用户在使用中产生数据,比如用户信息;所述云调度模块包括任务管理器、资源决策器和任务调度器,所述任务管理器用于接收和管理来自用户终端的云任务的任务信息,然后将任务信息提交给资源决策器;所述资源决策器用于根据任务信息和云服务系统的资源,使用机器学习算法分配并行资源数量,并行资源指可用虚拟机数量;所述任务调度器用于使用权利要求1所提供的调度方法将云任务以最合理的方案分配到云计算模块中的节点上执行;所述云计算模块包括多个计算节点和混合器,每个计算节点用于根据任务调度器的调度方案对相应的任务进行分布式运算,然后将运算结果发送给混合器将作进一步混合运算,从而完成用户需求;所述混合器用于将混合运算结果进一步发送给云服务终端;
所述云服务终端上有云设备,所述云设备用于接收混合器的运算结果,并通过云设备中的云应用,来为用户提供云服务。
另外,从功能上划分,如图8所示,该云服务系统可分为四层,分别为数据层、调度层、计算层和应用层,具体来说:
数据层:这层中包括应用程序、应用设备和分布式数据库三部分组成,应用程序在应用设备上运行,这一层是数据的来源;用户在这些软件程序和硬件设备中产生的数据以及分布式数据库中的数据会被提交到调度层。
调度层:在该层中,首先由任务管理器接收和管理任务信息,然后将预算、开销、内存和截止日期等任务信息提交给资源决策器;资源决策器根据这些信息和计算资源、网络资源和存储资源,使用循环神经网络(CNN)和深度神经网络算法(DNN)综合任务量分配并行资源数量;任务调度器考虑用户的任务调度需求,使用调度算法将用户任务以最合理的方式分配到云计算资源上执行。
计算层:在该层中,存在大量的计算节点;每次任务的执行,都会由资源决策器划分一部分计算节点,再由调度器将任务调度到各个节点上进行分布式运算,然后由混合器将结果进一步加以运算,从而完成用户需求。
应用层:这是该系统最上层部分,经过计算层运算执行后的结果会传入本层,应用层包括云应用、云服务及云设备等。
本发明实施例所提出的云服务系统的框架结构,考虑了在实际分布式环境下的任务调度问题。将系统设计成一个易并行的模式,就是为了适应云环境下分布式并行处理的特点,将多种算法在各个节点上进行分布式计算。该系统在进行任务调度前使用资源决策器根据计算资源、网络资源和存储资源和任务信息对虚拟机资源进行分配,资源决策器中使用神经网络和深度学习的机器学习算法,实现了资源的自动分配。该系统中各节点计算完成后使用混合器将计算结果加以运算得到最终结果。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述实施例所提供的一种分布式多目标云任务的调度方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,涉及上述实施例所提供的一种分布式多目标云任务的调度方法的全部或部分流程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种分布式多目标云任务的调度方法,其特征在于,包括:
步骤A,获取待调度的分布式多目标云任务的任务参数,以及云服务系统的可用虚拟机的虚拟机参数,并构建适应度函数;
步骤B,基于步骤A构建的适应度函数,使用微生物遗传算法缩小多目标云任务在云服务系统的最优调度方案的求解范围,得到相应的种群;
步骤C,将步骤B得到的种群随机分为染色体数量相等的第一种群和第二种群;
步骤D,在所述第一种群上使用粒子群优化算法,得到第一种群中的调度方案的当前最优解并记为第一最优解;
步骤E,在所述第二种群上使用布谷鸟搜索算法,得到第二种群中的调度方案的当前最优解并记为第二最优解;
步骤F,判断是否到达第一最优解和第二最优解进行共享的时刻;当算法整体迭代次数达到预设的次数时,则判定对第一最优解和第二最优解进行共享,并执行步骤G;当算法迭代次数未达到预设的次数时,则判定对第一最优解和第二最优解不进行共享,并跳过步骤G,直接执行步骤H;
步骤G,共享第一最优解与第二最优解中的优秀个体,更新第一最优解与第二最优解,相应第一种群和第二种群也得到更新;
步骤H,将第一最优解中适应度最小的个体与第二最优解中适应度最小的个体进行比较,保存比较结果中适应度更小的一个个体,并将比较结果中适应度更小的一个个体作为全局最优解;
步骤I,重复步骤D至步骤H,直至算法整体迭代次数达到预设的最大算法整体迭代次数;
步骤J,输出所述全局最优解,所述全局最优解即为多目标云任务在云服务系统的最优调度方案。
2.根据权利要求1所述的调度方法,其特征在于,所述分布式多目标云任务的任务参数包括所述分布式多目标云任务的子任务数目以及每个子任务的任务大小;所述可用虚拟机的虚拟机参数包括可用虚拟机数目以及每个虚拟机的处理能力;所述可用虚拟机数目是由所述云服务系统的资源决策器根据云任务的任务信息和云服务系统的资源使用机器学习算法来分配的。
3.根据权利要求2所述的调度方法,其特征在于,所述云任务的任务信息包括云任务的预算、开销、内存和截止日期;所述云服务系统的资源包括计算资源、网络资源和存储资源;所述机器学习算法包括循环神经网络算法和深度神经网络算法。
4.根据权利要求2所述的调度方法,其特征在于,步骤A中所述构建适应度函数具体包括:
设获取到的多目标云任务的子任务数目为n,A={α1,α2,...,αn},其中αi表示第i个子任务,0≤i≤n,每个子任务的任务大小为SIZEi;另设云服务系统的可用虚拟机数目为p,B={β1,β2,...,βp},其中βj代表第j个可用虚拟机,0≤j≤p,每个虚拟机的处理能力为MIPSj;n个子任务被调度到P个虚拟机上执行,n>p;
(1)基于各子任务在各虚拟机上的执行时间计算执行全部子任务所花费的最大时间:
任务i在虚拟机j上的执行时间Tij的计算公式如下:
Tij=SIZEi/MIPSj
虚拟机j的释放时间RTj初始化为0,当有任务i在虚拟机j上执行时,RTj的计算公式如下:
RTj=RTj+Tij
任务i是虚拟机j上的第一个任务时,其开始执行时间STIj定义为0,否则定义为虚拟机j的释放时间RTj:
STij=RTj
任务i在虚拟机j上的完成时间FTij为任务i在虚拟机j上的开始执行时间STij与执行时间Tij之和,FTij的计算公式如下:
FTij=STij+Tij
任务的最大完工时间Makespan为所有虚拟机释放时间的最大值,Makespan的计算公式如下:
(2)根据各虚拟机的执行成本计算总执行成本:
为云服务系统的内存、带宽、处理器和存储空间预先设置相应的单位价格,通过统计任务调度过程中各虚拟机对内存、带宽、处理器和存储空间的使用量,计算P个虚拟机对n个子任务的总执行成本Cost;
(3)基于所有虚拟机的释放时间计算云环境的负载均衡:
云服务系统的负载均衡定义为所有虚拟机释放时间的标准差,负载均衡的计算公式如下:
(4)基于所述执行全部子任务所花费的最大时间、所述总执行成本以及负载均衡构建适应度函数,所述适应度函数为任务完工时间、总执行成本及云环境负载均衡的加权和,用于衡量云计算任务调度的性能,适应度函数的公式表示如下:
fitness=λ1×Makespan+λ2×LB+λ3×Cost
式中λ1+λ2+λ3=1,λ1、λ2和λ3的取值根据云任务需求调整;适应度越小,对应的多目标云任务的调度方案越优,最小适应度对应的调度方案为所述多目标云任务的最优调度方案。
5.根据权利要求1所述的调度方法,其特征在于,所述步骤B具体包括:
步骤B1,通过随机创建X个染色体对种群进行初始化,每个染色体为云任务在云服务系统的可用虚拟机上的一种调度方案,种群表示云任务的一系列调度方案;
步骤B2,在种群上使用微生物遗传算法,在种群每次迭代过程中,随机抽取两个染色体作为父染色体并比较两个父染色体的适应度,对适应度小的一个父染色体不作任何处理,对适应度大的父染色体进行交叉操作和变异操作,得到相应的子染色体;
步骤B3,若所述子染色体的适应度<相应的父染色体的适应度,用所述子染色体取代所述适应度大的父染色体,更新种群;若所述子染色体的适应度≥相应的父染色体的适应度,保留原种群;
步骤B4,重复步骤B2至B3,直至达到预设的第一迭代次数;
步骤B5,输出最终得到的种群。
6.根据权利要求1所述的调度方法,其特征在于,所述步骤D具体包括:
步骤D1,在所述第一种群上使用粒子群优化算法,将Y个粒子随机撒在第一种群上;
步骤D2,计算第一种群中每个粒子的适应度,通过比较确定当前每个粒子的个体最优位置以及种群最优位置,所述粒子的个体最优位置即粒子适应度最小时所在的位置,所述种群最优位置即第一种群中适应度最小的位置;
步骤D3,更新粒子的速度与位置;
步骤D4,若更新后的粒子适应度小于该粒子在个体最优位置的适应度,将该粒子的个体最优位置更新为该粒子的当前位置;
步骤D5,将所有粒子的个体最优位置的适应度与种群最优位置的适应度比较,如果其中一个粒子的个体最优位置的适应度小于种群最优位置的适应度,将种群最优位置更新为该粒子的个体最优位置;
步骤D6,重复步骤D3至D5,直至达到预设的第二迭代次数;
步骤D7,输出所述种群最优位置,得到第一种群中的调度方案的当前最优解,并将第一种群中的调度方案的当前最优解记为第一最优解。
7.根据权利要求1所述的调度方法,其特征在于,所述步骤E具体包括:
步骤E1,在所述第二种群上使用布谷鸟搜索算法,随机生成Z个鸟巢的初始位置;
步骤E2,计算第二种群中每个鸟巢的适应度,通过比较确定当前最优鸟巢位置,所述最优鸟巢位置即适应度最小的鸟巢位置;
步骤E3,保留当前最优鸟巢,其他鸟巢位置通过莱维飞行机制进行更新,更新公式为:
步骤E4,计算更新后的鸟巢的适应度,并对比更新前的最优鸟巢位置的适应度,更新当前最优鸟巢位置;
步骤E5,根据发现概率遗弃部分鸟巢,对要遗弃的鸟巢的位置进行随机更新,用更新后的位置代替要遗弃的鸟巢的位置;
步骤E6,重复步骤E2至E5,直至达到预设的第三迭代次数;
步骤E7,输出所述最优鸟巢位置,得到第二种群中的调度方案的当前最优解,并将第二种群中的调度方案的当前最优解记为第二最优解。
8.根据权利要求1所述的调度方法,其特征在于,步骤G所述共享第一最优解与第二最优解中的优秀个体具体包括:
将所述第一最优解中适应度最小的m个个体和所述第二最优解中适应度最小的m个个体,分别替换所述第二最优解中适应度最大的m个个体和所述第一最优解中适应度最大的m个个体;
m的值小于第一种群或第二种群规模的一半,m按照如下公式取值:
其中,N为种群数量;t为当前算法整体迭代次数,tmax为最大算法整体迭代次数;r0为比例控制常数,1≥r0≥0.51;...符号表示向下取整数;
当用第二最优解中适应度最小的m个个体替换第一最优解中适应度最大的m个个体时,利用第一最优解中适应度最小的m个个体的速度,采用混沌模式产生相应的速度序列替换第一最优解中适应度最大的m个个体的速度;
混沌模式采用以下的形式:
yi(t)=μyi(t-1)(1-yi(t-1))
其中,yi(t)是[0,1]中的一个随机数;t为当前算法整体迭代次数;μ是控制参数;μ=4。
9.一种分布式多目标云任务的调度装置,其特征在于,包括:
适应度函数构建模块,用于获取待调度的分布式多目标云任务的任务参数,以及云服务系统的可用虚拟机的虚拟机参数,并构建适应度函数;
微生物遗传算法工作模块,用于基于适应度函数构建模块构建的适应度函数,使用微生物遗传算法缩小多目标云任务在云服务系统的最优调度方案的求解范围,得到相应的种群;
种群均分模块,用于将微生物遗传算法工作模块得到的种群随机分为染色体数量相等的第一种群和第二种群;
粒子群优化算法工作模块,用于在所述第一种群上使用粒子群优化算法,得到第一种群中的调度方案的当前最优解并记为第一最优解;
布谷鸟搜索算法工作模块,用于在所述第二种群上使用布谷鸟搜索算法,得到第二种群中的调度方案的当前最优解并记为第二最优解;
共享时刻判断模块,用于判断是否到达第一最优解和第二最优解进行共享的时刻;当算法整体迭代次数达到预设的次数时,则判定对第一最优解和第二最优解进行共享,并使共享模块进行工作;当算法迭代次数未达到预设的次数时,则判定对第一最优解和第二最优解不进行共享,并跳过共享模块,直接使全局最优解生成模块进行工作;
共享模块,用于共享第一最优解与第二最优解中的优秀个体,更新第一最优解与第二最优解,相应第一种群和第二种群也得到更新;
全局最优解生成模块,用于将第一最优解中适应度最小的个体与第二最优解中适应度最小的个体进行比较,保存比较结果中适应度更小的一个个体,并将比较结果中适应度更小的一个个体作为全局最优解;
算法整体迭代模块,用于使粒子群优化算法工作模块至全局最优解生成模块重复工作,直至算法整体迭代次数达到预设的最大算法整体迭代次数;
全局最优解输出模块,用于输出所述全局最优解,所述全局最优解即为多目标云任务在云服务系统的最优调度方案。
10.一种云服务系统,其特征在于,包括用户终端、云服务器和云服务终端,所述用户终端与云服务器双向通信连接,所述云服务器与云服务终端双向通信连接;
所述用户终端上运行有应用程序,用户通过相应应用程序来向云服务系统提交云任务;
所述云服务器包括分布式数据库、云调度模块和云计算模块,所述分布式数据库用于存储云服务系统在工作中所产生的数据,包括用户所提交的云任务以及用户信息;所述云调度模块包括任务管理器、资源决策器和任务调度器,所述任务管理器用于接收和管理来自用户终端的云任务的任务信息,然后将任务信息提交给资源决策器;所述资源决策器用于根据任务信息和云服务系统的资源,使用机器学习算法分配并行资源数量;所述任务调度器用于使用权利要求1所提供的调度方法将云任务以最合理的方案分配到云计算模块中的节点上执行;所述云计算模块包括多个计算节点和混合器,每个计算节点用于根据任务调度器的调度方案对相应的任务进行分布式运算,然后将运算结果发送给混合器将作进一步混合运算,从而完成用户需求;所述混合器用于将混合运算结果进一步发送给云服务终端;
所述云服务终端上有云设备,所述云设备用于接收混合器的运算结果,并通过云设备中的云应用,来为用户提供云服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211042893.7A CN115421885B (zh) | 2022-08-29 | 2022-08-29 | 一种分布式多目标云任务的调度方法、装置及云服务系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211042893.7A CN115421885B (zh) | 2022-08-29 | 2022-08-29 | 一种分布式多目标云任务的调度方法、装置及云服务系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115421885A true CN115421885A (zh) | 2022-12-02 |
CN115421885B CN115421885B (zh) | 2023-04-28 |
Family
ID=84200588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211042893.7A Active CN115421885B (zh) | 2022-08-29 | 2022-08-29 | 一种分布式多目标云任务的调度方法、装置及云服务系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115421885B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117215799A (zh) * | 2023-11-03 | 2023-12-12 | 天津市职业大学 | 一种软件模块的管理方法、系统、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811491A (zh) * | 2015-04-17 | 2015-07-29 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
KR20160045388A (ko) * | 2014-10-17 | 2016-04-27 | 한국과학기술원 | 클라우드 서비스 브로커를 이용한 가상 머신 할당 방법 |
CN105975342A (zh) * | 2016-04-29 | 2016-09-28 | 广东工业大学 | 基于改进布谷鸟搜索算法的云计算任务调度方法及系统 |
CN107437813A (zh) * | 2017-07-17 | 2017-12-05 | 安徽大学 | 基于布谷鸟‑粒子群的配电网无功功率优化方法 |
CN108009003A (zh) * | 2017-12-01 | 2018-05-08 | 湖南女子学院 | 一种多目标虚拟机自适应位置选择方法、分布式云系统 |
CN111738523A (zh) * | 2020-06-29 | 2020-10-02 | 山东财经大学 | 一种基于多目标花粉算法的研发资源优化配置方法 |
CN113411369A (zh) * | 2020-03-26 | 2021-09-17 | 山东管理学院 | 一种云服务资源协同优化调度方法、系统、介质及设备 |
-
2022
- 2022-08-29 CN CN202211042893.7A patent/CN115421885B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160045388A (ko) * | 2014-10-17 | 2016-04-27 | 한국과학기술원 | 클라우드 서비스 브로커를 이용한 가상 머신 할당 방법 |
CN104811491A (zh) * | 2015-04-17 | 2015-07-29 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
CN105975342A (zh) * | 2016-04-29 | 2016-09-28 | 广东工业大学 | 基于改进布谷鸟搜索算法的云计算任务调度方法及系统 |
CN107437813A (zh) * | 2017-07-17 | 2017-12-05 | 安徽大学 | 基于布谷鸟‑粒子群的配电网无功功率优化方法 |
CN108009003A (zh) * | 2017-12-01 | 2018-05-08 | 湖南女子学院 | 一种多目标虚拟机自适应位置选择方法、分布式云系统 |
CN113411369A (zh) * | 2020-03-26 | 2021-09-17 | 山东管理学院 | 一种云服务资源协同优化调度方法、系统、介质及设备 |
CN111738523A (zh) * | 2020-06-29 | 2020-10-02 | 山东财经大学 | 一种基于多目标花粉算法的研发资源优化配置方法 |
Non-Patent Citations (2)
Title |
---|
T. PREM JACOB 等: "A Multi-objective Optimal Task Scheduling in Cloud Environment Using Cuckoo Particle Swarm Optimization" * |
何婧媛 等: "布谷鸟粒子群优化算法的多目标任务调度" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117215799A (zh) * | 2023-11-03 | 2023-12-12 | 天津市职业大学 | 一种软件模块的管理方法、系统、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115421885B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhu et al. | An efficient evolutionary grey wolf optimizer for multi-objective flexible job shop scheduling problem with hierarchical job precedence constraints | |
Shen et al. | Mathematical modeling and multi-objective evolutionary algorithms applied to dynamic flexible job shop scheduling problems | |
CN109165808B (zh) | 一种电力通信网现场运维工单派发方法 | |
Xiao et al. | A cooperative coevolution hyper-heuristic framework for workflow scheduling problem | |
CN109445386B (zh) | 一种基于onba的云制造任务最短生产时间调度方法 | |
CN113742089B (zh) | 异构资源中神经网络计算任务的分配方法、装置和设备 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
CN111813500B (zh) | 一种多目标云工作流调度方法及装置 | |
CN113191619A (zh) | 一种应急救援物资分配及车辆调度动态优化方法 | |
CN114595049A (zh) | 一种云边协同任务调度方法及装置 | |
CN116501711A (zh) | 一种基于“存算分离”架构的算力网络任务调度方法 | |
CN116225649A (zh) | 一种细粒度电力任务云边协同优化调度方法 | |
CN115421885B (zh) | 一种分布式多目标云任务的调度方法、装置及云服务系统 | |
CN112884368B (zh) | 高端装备交货时间与延迟最小的多目标调度方法及系统 | |
Zhou et al. | Deep reinforcement learning-based algorithms selectors for the resource scheduling in hierarchical cloud computing | |
He | Optimization of edge delay sensitive task scheduling based on genetic algorithm | |
Wang et al. | Dynamic multiworkflow deadline and budget constrained scheduling in heterogeneous distributed systems | |
CN114461368A (zh) | 一种基于协同果蝇算法的多目标云工作流调度方法 | |
Zhang et al. | Individualized requirement-driven multi-task scheduling in cloud manufacturing using an extended multifactorial evolutionary algorithm | |
CN116708446B (zh) | 基于网络性能综合权值决策的算网调度服务方法及系统 | |
CN112187535B (zh) | 雾计算环境下服务器部署方法及装置 | |
CN110928648B (zh) | 融合启发式和智能计算的云工作流分段在线调度优化方法 | |
CN113220437B (zh) | 一种工作流多目标调度方法及装置 | |
CN112506644B (zh) | 基于云边端混合计算模式系统的任务调度方法和系统 | |
Kamalinia et al. | Hybrid task scheduling method for cloud computing by genetic and PSO algorithms |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |