CN111274020A - 基于樽海鞘群的云任务调度方法、装置、设备及存储介质 - Google Patents

基于樽海鞘群的云任务调度方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111274020A
CN111274020A CN202010114242.9A CN202010114242A CN111274020A CN 111274020 A CN111274020 A CN 111274020A CN 202010114242 A CN202010114242 A CN 202010114242A CN 111274020 A CN111274020 A CN 111274020A
Authority
CN
China
Prior art keywords
goblet
ascidian
group
cloud
individual
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.)
Withdrawn
Application number
CN202010114242.9A
Other languages
English (en)
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.)
Wuhan Polytechnic University
Original Assignee
Wuhan Polytechnic University
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 Wuhan Polytechnic University filed Critical Wuhan Polytechnic University
Priority to CN202010114242.9A priority Critical patent/CN111274020A/zh
Publication of CN111274020A publication Critical patent/CN111274020A/zh
Withdrawn legal-status Critical Current

Links

Images

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Physics (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及云计算领域技术领域,尤其涉及一种基于樽海鞘群的云任务调度方法、装置、设备及存储介质。所述方法包括:获取待调度的云任务集合及云资源集合,根据云任务集合及云资源集合建立樽海鞘群并生成遗传算子;对樽海鞘群中的各樽海鞘个体进行适应度计算,并根据计算结果将樽海鞘群划分为第一樽海鞘群和第二樽海鞘群;根据计算结果对第一樽海鞘群进行位置信息更新;根据遗传算子对第二樽海鞘群进行位置信息更新;对更新后的樽海鞘群进行适应度计算,根据适应度计算结果确定适应度值最大的目标樽海鞘个体,并将其当前位置信息作为任务调度最优解;根据任务调度最优解将云任务集合中的云任务调度到云资源集合的云资源中。

Description

基于樽海鞘群的云任务调度方法、装置、设备及存储介质
技术领域
本发明涉及云计算领域技术领域,尤其涉及一种基于樽海鞘群的云任务调度方法、装置、设备及存储介质。
背景技术
云任务调度不同于传统的任务调度问题,需要考虑的因素更多更复杂。首先,其用户执行任务时的服务质量(QoS,Quality of Service)需求越来越多样化,如:服务响应时间需求或者提供服务所需的代价等问题。其次,云服务在提供给用户时具有异质性、动态性和弹性等特征。最后,在提交任务时,需要满足用户预定义的时间或执行预算等方面的约束。此时的云任务调度问题本质上是一个联合优化问题。目前的研究中,一些工作主要集中于执行时间的优化,未考虑用户的预算约束。然而,由于云计算的市场化特征,用户使用云资源必须对其进行付费,一些工作则考虑了用户预算和截止时间约束。任务调度过程中的多约束条件下的多目标优化工作相对比较少。
樽海鞘群优化算法是目前最新的智能群体算法之一,在2017年被研究人员首次提出,已经被应用于大数据领域中的特征选择问题、无缘时差定位等问题。樽海鞘群算法的思想源于樽海鞘的聚集行为,即樽海鞘链。该类生物是一种生活于海洋中的生物,其身体为透明的水桶型,与水母相似。樽海鞘通过吸收海水时产生的推动力进行移动。樽海鞘群体以链式结构顺次跟随移动。樽海鞘种群可以划分为两个群组:领导者和追随者。链首的樽海鞘称为领导者,它在寻找食物源过程中拥有最优的判断,引导整个种群的移动。除领导者以外,剩余的其它樽海鞘均称为追随者。追随者之间相互跟随,相互之间被直接或间接领导。搜索空间中的食物源即为樽海鞘种群的搜索目标。樽海鞘的群体行为与其它多数生物群体不同,利用了更为先进的群体更新机制。在每次迭代过程中,会对群体按适应性进行排序,每一个体都紧随前一个体进行移动,而不是所有个体都只向着当前的最优个体移动,这极大降低了搜索过程陷入局部最优的概率,其性能要优于同为智能群体算法的粒子群算法、遗传算法、蚁群算法以及蜂群算法等。此外,樽海鞘群算法的控制参数比较以上算法也更少,这样可以减少算法对于控制参数的依赖性。融合遗传算子和樽海鞘群群算法的先进性,可将二者应用在云计算任务调度方面,并在任务的完成时间、任务执行预算均有约束的条件下,在任务执行时间和执行代价间实现同步均衡优化,形成云任务调度的多目标均衡优化。
发明内容
本发明的主要目的在于提供一种基于樽海鞘群的云任务调度方法、装置、设备及存储介质,旨在解决优化云任务调度的技术问题。
为实现上述目的,本发明提供了一种基于樽海鞘群的云任务调度方法,所述基于樽海鞘群的云任务调度方法包括:
获取待调度的云任务集合及云资源集合,根据所述云任务集合及所述云资源集合建立樽海鞘群并生成遗传算子;
对所述樽海鞘群中的各樽海鞘个体进行适应度计算,并根据计算结果将樽海鞘群划分为第一樽海鞘群和第二樽海鞘群;
根据所述计算结果对所述第一樽海鞘群中各樽海鞘个体进行位置信息更新;
根据所述遗传算子对所述第二樽海鞘群中各樽海鞘个体进行位置信息更新;
对位置信息更新后的所有樽海鞘个体进行适应度计算,获得适应度计算结果;
根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,并将所述目标樽海鞘个体的当前位置信息作为任务调度最优解;
根据所述任务调度最优解将所述云任务集合中的云任务调度到所述云资源集合的云资源中。
优选地,所述获取待调度的云任务集合及云资源集合,根据所述云任务集合及所述云资源集合建立樽海鞘群并生成遗传算子的步骤,具体包括:
获取所述云资源集合中的云资源数及所述云任务集合的云任务数;
根据所述云资源数设置樽海鞘个体数,将所述云任务数作为樽海鞘个体对应的位置信息数;
根据所述樽海鞘个体数及所述位置信息数建立樽海鞘群,并根据所述樽海鞘群生成遗传算子。
优选地,所述对所述樽海鞘群中的各樽海鞘个体进行适应度计算,并根据计算结果将樽海鞘群划分为第一樽海鞘群和第二樽海鞘群的步骤,具体包括:
对樽海鞘群中各樽海鞘个体进行适应度计算,获取各樽海鞘个体对应的适应度值,并根据所述适应度值对所有樽海鞘个体进行降序排列;
将适应度值最大的樽海鞘个体所对应的位置信息作为目标位置信息,将剩余的樽海鞘个体作为待更新樽海鞘群;
将所述待更新樽海鞘群中适应度值最大的樽海鞘个体作为领导者樽海鞘,并将剩余的樽海鞘个体划分为个数相等的所述第一樽海鞘群和所述第二樽海鞘群。
优选地,所述根据所述计算结果对所述第一樽海鞘群中各樽海鞘个体进行位置信息更新的步骤,具体包括:
根据所述目标位置信息对所述领导者樽海鞘进行位置信息更新,获得所述领导者樽海鞘的实时位置信息;
根据所述实时位置信息对所述第一樽海鞘群中各樽海鞘个体对应进行位置信息更新。
所述遗传算子包括遗传交叉算子及遗传变异算子;
所述根据所述遗传算子对所述第二樽海鞘群中各樽海鞘个体进行位置信息更新的步骤,具体包括:
根据所述遗传交叉算子及所述遗传变异算子对所述第二樽海鞘群中各樽海鞘个体对应进行位置信息更新。
优选地,所述根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,并将所述目标樽海鞘个体的当前位置信息作为任务调度最优解的步骤,具体包括:
根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,将所述最大适应度值与位置信息更新前的最大适应度值进行比较;
根据比较结果对所述目标位置信息进行更新;
将更新后的所述目标位置信息转换为所述任务调度最优解。
优选地所述根据所述任务调度最优解将所述云任务集合中的云任务调度到所述云资源集合对应的云资源中的步骤之前,所述方法还包括:
获取所述樽海鞘群的当前迭代次数,判断所述当前迭代次数是否小于预设迭代次数;
在所述当前迭代次数小于预设迭代次数时,返回所述对所述樽海鞘群中的各樽海鞘个体进行适应度计算,并根据计算结果将樽海鞘群划分为第一樽海鞘群和第二樽海鞘群的步骤;
在所述当前迭代次数等于预设迭代次数时,输出所述所述任务调度最优解。
此外,为实现上述目的,本发明还提出一种基于樽海鞘群的云任务调度装置,所述装置包括:模型建立模块、位置更新模块、最优解获取模块及调度模块,其中:
所述模型建立模块,获取待调度的云任务集合及云资源集合,根据所述云任务集合及所述云资源集合建立樽海鞘群并生成遗传算子;
所述所述位置更新模块,用于对樽海鞘群中的各樽海鞘个体进行适应度计算,根据计算结果将樽海鞘群分为第一樽海鞘群和第二樽海鞘群;还用于根据所述计算结果对所述第一樽海鞘群中各樽海鞘个体进行位置信息更新;还用于根据所述遗传算子对所述第二樽海鞘群中各樽海鞘个体位置信息进行更新;还用于对位置信息更新后的樽海鞘个体进行适应度计算,获得适应度计算结果;
所述最优解获取模块,用于根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,并将所述目标樽海鞘个体的当前位置信息作为任务调度最优解;
所述调度模块,用于根据所述任务调度最优解将所述云任务集合中的云任务调度到云资源集合中的云资源中。
此外,为实现上述目的,本发明还提出一种电子设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于樽海鞘群的云任务调度程序,所述基于樽海鞘群的云任务调度程序配置为实现如上所述的基于樽海鞘群的云任务调度方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于樽海鞘群的云任务调度程序,所述基于樽海鞘群的云任务调度程序被处理器执行时实现如上所述的基于樽海鞘群的云任务调度方法的步骤。
本发明通过获取待调度的云任务集合及云资源集合,根据所述云任务集合及所述云资源集合建立樽海鞘群并生成遗传算子;对所述樽海鞘群中的各樽海鞘个体进行适应度计算,并根据计算结果将樽海鞘群划分为第一樽海鞘群和第二樽海鞘群;根据所述计算结果对所述第一樽海鞘群中各樽海鞘个体进行位置信息更新;根据所述遗传算子对所述第二樽海鞘群中各樽海鞘个体进行位置信息更新;对位置信息更新后的所有樽海鞘个体进行适应度计算,获得适应度计算结果;根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,并将所述目标樽海鞘个体的当前位置信息作为任务调度最优解;根据所述任务调度最优解将所述云任务集合中的云任务调度到所述云资源集合的云资源中。实现了在任务的完成时间、任务执行预算均有约束的条件下,在任务执行时间和执行代价间实现同步均衡优化,形成云任务调度的多目标均衡优化。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明基于樽海鞘群的云任务调度方法第一实施例的流程示意图;
图3为本发明基于樽海鞘群的云任务调度方法第一实施例的樽海鞘个体位置信息的编码及调度解的解码示意图;
图4为本发明基于樽海鞘群的云任务调度方法第一实施例的樽海鞘个体的遗传交叉示意图;
图5为本发明基于樽海鞘群的云任务调度方法第一实施例的双樽海鞘个体的遗传交叉示意图;
图6为本发明基于樽海鞘群的云任务调度方法第一实施例的樽海鞘个体的遗传变异示意图;
图7为本发明基于樽海鞘群的云任务调度方法第二实施例的流程示意图;
图8为本发明基于樽海鞘群的云任务调度装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的电子设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于樽海鞘群的云任务调度程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在电子设备中,所述电子设备通过处理器1001调用存储器1005中存储的基于樽海鞘群的云任务调度程序,并执行本发明实施例提供的基于樽海鞘群的云任务调度方法。
本发明实施例提供了一种基于樽海鞘群的云任务调度方法,参照图2,图2为本发明一种基于樽海鞘群的云任务调度方法第一实施例的流程示意图。
本实施例中,所述基于樽海鞘群的云任务调度方法包括以下步骤:
步骤S10:获取待调度的云任务集合及云资源集合,根据所述云任务集合及所述云资源集合建立樽海鞘群并生成遗传算子。
步骤S10具体包括:获取所述云资源集合中的云资源数及所述云任务集合的云任务数;将所述云任务数作为樽海鞘个体对应的位置信息数,根据所述所述云任务数设置樽海鞘个体数,根据所述云资源数随机设置樽海鞘个体对应的位置信息;根据所述樽海鞘个体数、所述位置信息数及所述位置信息建立樽海鞘群,并根据所述樽海鞘群生成遗传算子。
需要说明的是,云用户在云计算环境中有至少一个云任务,具有至少一个云资源,需要将各所述云任务调度到各所述云资源上执行,云任务的调度需要满足云任务及云资源的相关约束条件。例如:云用户拥有包括n个独立云任务的云任务集合T,云任务集合T表示为T={T1,T2,…,Tn},约定完成该云任务集合的截止时间为Deadline,完成所述云任务集合的费用预算为Budget。云资源集合R表示为R={R1,R2,…,Rm},表示该云资源集合中包含m个可完成任务的云资源。n个云任务分别在m个云资源上的执行时间表示为执行时间矩阵ETC,n个云任务分别在m个云资源上的执行代价表示为执行代价矩阵ECC。设,某一云任务调度至某一云资源上执行,则所述云任务独占所述云资源并不再发生迁移,直到完成才可以调度下一云任务到所述云资源上并执行下一云任务。令t(Tb,Rg)表示云任务Tb在云资源Rg上的执行时间,c(Tb,Rg)表示任务Tb在资源Rg上的执行代价,云任务T到云资源R的映射表示云任务调度到云资源上的任务调度解,则任务执行总代价Cost表示为:
Figure BDA0002390318010000071
其中,χ为调度因子,且:
Figure BDA0002390318010000072
任务执行总时间Time表示为:
Figure BDA0002390318010000081
为了同步考虑任务执行总时间和任务执行总代价的优化,以权重函数的形式表示任务调度优化目标为:
minα×Time(T,R)+β×Cost(T,R)
其中,α表示时间因子,β表示代价因子,α+β=1,α∈[0,1],β∈[0,1],调整时间因子和代价因子以满足用户执行云任务时对于任务执行总时间和任务执行总代价优化的需求。
云任务调度到云资源上的时间约束条件为:
Time(T,R)≤Deadline
云任务调度到云资源上的代价约束条件为:
Cost(T,R)≤Budget
其中,时间约束条件确保任务执行总时间不超过截止时间约束,代价约束条件确保执行代价不超过预算约束,时间因子和代价因子之和为1,且均属于[0,1]之间。
需要说明的是,传统的樽海鞘群算法中个体位置是可以连续改变的,即是连续的编码形式。然而,任务调度问题需要将任务与调度的资源一一对应起来,因此,必须将樽海鞘个体位置设计为离散式的编码形式,使离散编码序列与个体位置移动过程中的位置对应起来。
本实施例采用一种随机数的位置编码形式,然后对个体不同维度位置进行降序排列,根据降序排列结果解码出任务调度的解。令Xh表示种群中樽海鞘个体h的位置,表示为:
Xh=[xh,1,xh,2,...,xh,n]
其中,位置矩阵中的每个元素xh,k表示樽海鞘h在第k个维度上的位置。对个体位置离散化编解码的具体步骤为:初始情况下,在个体位置的每个维度上生成[0,1]间均匀分布的随机数,将生成的随机数序列作为初始的个体位置;对所述个体位置对应的的离散数值编码进行降序排列,根据降序排序结果解码出相应的任务调度资源,具体方式为:若n为任务数量,m为资源数量,通常n远大于m,令z=int(n/m),int表示取整运算,以z表示资源分隔,即以z个任务一组按序将任务调度至相应序号的资源上。
参考图3,图3为本发明基于樽海鞘群的云任务调度方法第一实施例的樽海鞘个体位置信息的编码及调度解的解码示意图。图3中设:任务数量n=10,资源数量m=3,个体位置x=(0.41,0.37,0.77,0.91,0.21,0.54,0.28,0.60,0.81,0.66),位置维度即为n=10。对位置作降序排列后得到相应序列,由于z=int(10/3)=3,所以排序1、2、3的资源为R1,排序4、5、6的资源为R2,依次类推。最后剩下的排序10对应的资源随机分配。综合以上,该个体对应的任务调度解为:任务t1、t2、t7调度至资源R3,任务t3、t4、t9调度至资源R1,任务t5、t6、t8、t10调度至资源R2
那么,所有樽海鞘的位置即为一个二维矩阵,可定义为X:
Figure BDA0002390318010000091
其中,n表示位置维度,即云任务集合中的云任务数,N表示樽海鞘群的规模,即樽海鞘个体的总数。
需要说明的是,传统的樽海鞘群算法中,所有的追随者位置信息的更新均只考虑了与其相邻的个体位置,随机性较差,为了兼顾算法的随机性和寻优性能,引入遗传算子对一半追随者位置进行更新,保证搜索全局性和个体多样性的同时,改善搜索过程易于陷入局部最优的问题。具体地,引入遗传交叉算子和遗传变异算子对追随者位置更新。
易于理解的是,需要说明的是,樽海鞘群中的位置信息需要进行随机化,在将樽海鞘个体的位置信息(区间[0,1]内)表示为以下表达式进行随机化:
xi,j=lbj,min+c4×(ubj,max-lbj,min)
Figure BDA0002390318010000092
其中,i=1,2,…,N,N表示樽海鞘种群的规模,j=1,2,…,n,n表示云任务数,c4为区间[0,1]内的随机数,ubj,max表示第j维空间的上限值,所述上限值为云资源集合中的云资源数;lbj,min表示第j维空间的下限值,定义为最小资源利用数量。通过每个樽海鞘个体的不同的ubj,max、lbj,min和c4的取值,即可得到随机生成的樽海鞘种群。易于理解的是,樽海鞘的群体行为并不以群的方式分布,而是首尾相连,形成链的形式,顺次跟随移动。樽海鞘种群可以划分为两个群组:领导者樽海鞘和追随者樽海鞘。链首的樽海鞘称为领导者樽海鞘,它在寻找食物源过程中拥有最优的判断,引导整个种群的移动。除领导者樽海鞘以外,剩余的其它樽海鞘均称为追随者樽海鞘。追随者樽海鞘之间相互跟随,相互之间被直接或间接领导。搜索空间中的食物源F即为樽海鞘种群的搜索目标,本实施例中将樽海鞘群中某一樽海鞘的位置信息作为食物源位置信息,所述某一樽海鞘即为所述目标樽海鞘个体。
易于理解的是,调度解空间是一个N×n的欧式空间,x1,j表示领导者第j维空间上的位置,即领导者樽海鞘所代表的调度解中第j个任务调度至序号为x1,j的资源上执行。xi,j(i>1)表示追随者第j维空间上的位置,即追随者樽海鞘i所代表的调度解中第j个任务调度至资源xi,j上执行。
步骤S20:对所述樽海鞘群中的各樽海鞘个体进行适应度计算,并根据计算结果将樽海鞘群划分为第一樽海鞘群和第二樽海鞘群。
需要说明的是,所述步骤S20具体包括:对樽海鞘群中各樽海鞘个体进行适应度计算,获取各樽海鞘个体对应的适应度值,并根据所述适应度值对所有樽海鞘个体进行降序排列;将适应度值最大的樽海鞘个体所对应的位置信息作为目标位置信息,将剩余的樽海鞘个体作为待更新樽海鞘群;将所述待更新樽海鞘群中适应度值最大的樽海鞘个体作为领导者樽海鞘,并将剩余的樽海鞘个体划分为个数相等的所述第一樽海鞘群和所述第二樽海鞘群。
需要说明的是,根据任务调度目标,目标函数值越小,个体适应度越大。故可以设置评估樽海鞘个体位置信息所代表的任务调度解的适应度函数为:
Figure BDA0002390318010000101
若得到的调度解无法满足任务执行总时间和任务执行总代价对应的某一个约束条件,可将其适应度设置为0。因此,评估樽海鞘个体所代表的调度解的质量时,最终的适应度函数可定义为:
Figure BDA0002390318010000102
由于云任务调度的目标是同步最小化任务执行时间和执行代价,因此,樽海鞘的适应度值越大,个体代表的调度解越优。
需要说明的是,获取到适应度值后,根据适应度值对所有樽海鞘个体进行降序排列,将适应度值最大(代表最优调度解)的樽海鞘个体作为当前的食物源位置,即目标樽海鞘个体。除目标樽海鞘个体之外,将剩余排序的N-1个樽海鞘个体中的第一个樽海鞘个体作为领导者樽海鞘,将剩下的N-2个樽海鞘个体全部作为追随者樽海鞘,将N-2追随者樽海鞘等划分为第一樽海鞘群和第二樽海鞘群。
步骤S30:根据所述计算结果对所述第一樽海鞘群中各樽海鞘个体进行位置信息更新。
步骤S30具体包括:根据所述目标位置信息对所述领导者樽海鞘进行位置信息更新,获得所述领导者樽海鞘的实时位置信息;根据所述实时位置信息对所述第一樽海鞘群中各樽海鞘个体对应进行位置信息更新。
需要说明的是,领导者樽海鞘根据目标樽海鞘个体的位置信息进行位置信息更新,领导者位置发生更新,即领导者樽海鞘所代表的任务调度解发生更新,具体领导者位置更新公式如下:
Figure BDA0002390318010000111
其中,x1,j表示领导者樽海鞘在第j维空间上的位置,即任务Tj调度至序号为x1,j的资源上执行;Fj表示食物源在第j维空间上的位置。由于对于樽海鞘而言,食物源的位置是未知的,所以可将初始状态下的领导者的位置定义为食物源的位置。ubj,max表示第j维空间的上限值,定义为最大可用的资源数;lbj,min表示第j维空间的下限值,定义为最小资源利用数量。c2和c3表示区间[0,1]间的随机数,用于决定第j维空间的下一个更新位置的移动方向(正向或反向)以及移动的步长。c1称为收敛因子,用于均衡方法迭代过程中樽海鞘个体的局部开发和全局勘探能力。领导者位置更新公式表明,领导者的位置更新主要由食物源的位置决定。收敛因子c1定义为:
Figure BDA0002390318010000112
其中,t表示当前迭代次数,Tmax表示方法的最大迭代次数。可以看出,收敛因子在迭代过程中会从2递减至0。由于初始生成的樽海鞘个体的位置编码均为区间[0,1]内的随机值,即对于所有的维度j=1,2,...,n,x1,j的取值也必须处于[0,1]区间。而根据领导者位置更新公式的更新方式可能无法保证其取值在该范围内。因此,如果领导者樽海鞘的新位置中任一维度的位置不在[0,1]以内,需要对位置进行转换,具体转换函数如下:
需要说明的是,第一樽海鞘群的位置更新,追随者的位置根据牛顿运动定理进行更新,追随者位置更新公式为:
Figure BDA0002390318010000121
其中,i≥2,xi,j表示追随者樽海鞘在第j维空间上的位置,即调度任务Tj的资源序号为xi,j。△t表示时间,v0表示追随者樽海鞘的初始速率,加速度a=(vfinal-v0)/△t,其中,vfinal=xi-1,j-xi,j/△t,xi-1,j表示第i-1个樽海鞘在第j维空间上的位置,即第i-1个樽海鞘所处的位置所代表的调度解中,第j个任务调度至序号为xi-1,j的资源上执行。由于时间是迭代次数之差,故△t=1。而每次迭代开始时,追随者樽海鞘的初始速度v0=0,故进一步的追随者位置更新公式可表示为:
Figure BDA0002390318010000122
追随者位置更新公式表明,追随者樽海鞘i中第j个任务的调度资源序号更新等于上一迭代中该樽海鞘对应的调度解与追随者樽海鞘i-1中第j个任务的调度资源序号之和的一半。基于与领导者位置同样的考虑,追随者樽海鞘的位置所代表的调度解更新方式定义为:
Figure BDA0002390318010000123
步骤S40:根据所述遗传算子对所述第二樽海鞘群中各樽海鞘个体进行位置信息更新。
需要说明的是对于第二樽海鞘群中的樽海鞘个体,使用遗传算子进行位置信息更新,具体包括:根据遗传交叉算子及遗传变异算子对所述第二樽海鞘群中各樽海鞘个体对应进行位置信息更新。
参考图4、图5、图6,图4为本发明基于樽海鞘群的云任务调度方法第一实施例的樽海鞘个体的遗传交叉示意图;图5为本发明基于樽海鞘群的云任务调度方法第一实施例的双樽海鞘个体的遗传交叉示意图;图6为本发明基于樽海鞘群的云任务调度方法第一实施例的樽海鞘个体的遗传变异示意图。图中数据仅为解释说明,具体实施中数据不局限于本实施中的举例。
需要说明的是,为了改进追随者个体的全局搜索能力,在进化迭代过程中引入遗传交叉操作。引入单个体交叉和双个体交叉两种遗传交叉算子。
需要说明的是,单个体交叉操作随机选择个体位置的两个维度进行交换,然后重新得到降序序列,并重新解码为调度资源。这样,即可得到一个新的子代个体。若新的子代个体的适应度大于父代个体适应度,则将子代个体保留至下一代种群中;若新的子代个体的适应度小于或等于父代个体适应度,则依然保留原父代个体在种群中。参考图4,随机选择的是第4维和第8维,互换其位置取值后重新得到降序序列,即可解码出新的调度资源。
单个体交叉概率计算方式如下:
Figure BDA0002390318010000131
其中,fitnessmax表示当前种群中的适应度最大值,fitnessc表示待执行交叉算子单个体的适应度,fitnessavg表示当前种群的平均适应度,k1、k2表示(0,1)间的常量。
对个体是否进行单个体交叉的决策过程是:随机生成一个(0,1)间的数rand,若rand<probsingle-crossover,则对选择的个体执行单个体交叉操作;否则,不执行单个体交叉。
双个体间交叉。对于两个选定的父代个体,在相同位置选定交叉点,交叉点将个体划分为左右两个部分,互换两个父代个体的右半部分,得到两个新的子代个体位置。然后重新得到降序序列,并重新解码为调度资源。这样,即可得到两个新的子代个体。比较两个父代个体和两个子代个体的适应度,保留两个适应度较大的个体至下一代种群中。参考图4,随机交叉点选定为维度5和6之间,然后互换个体的右侧阴影部分,即可得到两个新的子代个体,然后重新得到降序序列,即可解码出新的调度资源。
双个体交叉概率计算方式如下:
Figure BDA0002390318010000132
其中,fitnessmax表示当前种群中的适应度最大值,fitnessbigger表示待执行交叉算子双个体中的较大适应度,fitnessavg表示当前种群的平均适应度,k3、k4表示(0,1)间的常量。
对个体是否进行双个体交叉的决策过程是:随机生成一个(0,1)间的数rand,若rand<probdouble-crossover,则对选择的个体执行双个体交叉操作;否则,不执行双个体交叉。
需要说明的是,遗传变异操作可以改善个体的局部搜索能力,维持种群的多样性。变异操作的过程为:对于选定的变异个体,随机选择两个待变异的个体位置维度,改变其位置取数,然后重新得到降序序列,并重新解码为调度资源。这样,即可得到一个新的子代个体。若新的子代个体的适应度大于父代个体适应度,则将子代个体保留至下一代种群中;若新的子代个体的适应度小于或等于父代个体适应度,则依然保留原父代个体在种群中。参考图6,随机选择的变异点为维度4和8,重新得到降序序列后,即可解码出新的调度资源。
个体变异概率计算方式如下:
Figure BDA0002390318010000141
其中,fitnessmax表示当前种群中的适应度最大值,fitnessm表示待执行变异算子的个体适应度,fitnessavg表示当前种群的平均适应度,k5、k6表示(0,1)间的常量。
对个体是否进行个体变异的决策过程是:随机生成一个(0,1)间的数rand,若rand<probmutation,则对选择的个体执行个体变异操作;否则,不执行个体变异。
步骤S50:对位置信息更新后的所有樽海鞘个体进行适应度计算,获得适应度计算结果;
步骤S60:根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,并将所述目标樽海鞘个体的当前位置信息作为任务调度最优解。
需要说明的是,重新计算了适应度值并获取到适应度值最大的樽海鞘个体,具体的,根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,将所述最大适应度值与位置信息更新前的最大适应度值进行比较;根据比较结果对所述目标位置信息进行更新;将更新后的所述目标位置信息转换为所述任务调度最优解。
需要说明的是,在新的适应度值最大的樽海鞘个体的适应度值大于位置更新前的适应度值最大的樽海鞘个体,即,食物源,则将当前的食物源替换为所述目标樽海鞘个体;否则,保留原食物源的位置信息,即保留原适应度值最大的樽海鞘个体。通过上述两种选择对目标位置信息进行更新,同时,根据上述步骤中的方法更新领导者樽海鞘和追随者樽海鞘。
易于理解的是,适应度值越大意味着对应更优的任务调度解,获取目标樽海鞘个体的位置信息,及目标樽海鞘个体Xh中各元素,根据各元素所代表的位置信息对樽海鞘个体Xh解码,获取任务调度最优解。
步骤S70:根据所述任务调度最优解将所述云任务集合中的云任务调度到所述云资源集合的云资源中。
易于理解的是,获取到任务调度最优解后可根据最优解进行任务调度,以执行用户所需的任务。
本发明实施例通过上述方法,在任务的完成时间、任务执行预算均有约束的条件下,在任务执行时间和执行代价间实现同步均衡优化,形成云任务调度的多目标均衡优化,提高了云任务调度的效率及效果。
参考图7,图7为本发明一种基于樽海鞘群的云任务调度方法第三实施例的流程示意图。基于上述第一实施例,本实施例基于樽海鞘群的云任务调度方法在所述步骤S70之前,还包括:步骤S601:获取所述樽海鞘群的当前迭代次数,判断所述当前迭代次数是否小于预设迭代次数;
步骤S602:在所述当前迭代次数小于预设迭代次数时,返回所述对所述樽海鞘群中的各樽海鞘个体进行适应度计算,并根据计算结果将樽海鞘群划分为第一樽海鞘群和第二樽海鞘群的步骤;
步骤S603:在所述当前迭代次数等于所述预设迭代次数时,输出所述所述任务调度最优解。
易于理解的是,所述预设迭代次数为第一实施例中樽海鞘群的最大迭代次数Tmax,通过迭代进行适应度计算并位置更新,获取新的食物源,优化了任务调度解,提升了任务调度解的精度。
本发明实施例通过上述方法,在任务的完成时间、任务执行预算均有约束的条件下,在任务执行时间和执行代价间实现同步均衡优化,形成云任务调度的多目标均衡优化,提高了云任务调度的效率及效果。
参照图8,图8为本发明基于樽海鞘群的云任务调度装置第一实施例的结构框图。
如图8所示,本发明实施例所述装置包括:模型建立模块10、位置更新模块20、最优解获取模块30及调度模块40。
所述模型建立模块10,用于获取待调度的云任务集合及云资源集合,根据所述云任务集合及所述云资源集合建立樽海鞘群并生成遗传算子。
所述模型建立模块10,具体用于获取所述云资源集合中的云资源数及所述云任务集合的云任务数;将所述云任务数作为樽海鞘个体对应的位置信息数,根据所述所述云任务数设置樽海鞘个体数,根据所述云资源数随机设置樽海鞘个体对应的位置信息;根据所述樽海鞘个体数、所述位置信息数及所述位置信息建立樽海鞘群,并根据所述樽海鞘群生成遗传算子。
需要说明的是,本实施例装置基于上述实施例方法中的云计算环境,即云资源集合和云任务集合,同时具有相同的约束条件,此处不再一一赘述。
需要说明的是,传统的樽海鞘群算法中个体位置是可以连续改变的,即是连续的编码形式。然而,任务调度问题需要将任务与调度的资源一一对应起来,因此,必须将樽海鞘个体位置设计为离散式的编码形式,使离散编码序列与个体位置移动过程中的位置对应起来。
本实施例采用一种随机数的位置编码形式,然后对个体不同维度位置进行降序排列,根据降序排列结果解码出任务调度的解。令Xh表示种群中樽海鞘个体h的位置,表示为:
Xh=[xh,1,xh,2,...,xh,n]
其中,位置矩阵中的每个元素xh,k表示樽海鞘h在第k个维度上的位置。对个体位置离散化编解码的具体步骤为:初始情况下,在个体位置的每个维度上生成[0,1]间均匀分布的随机数,将生成的随机数序列作为初始的个体位置;对所述个体位置对应的的离散数值编码进行降序排列,根据降序排序结果解码出相应的任务调度资源,具体方式为:若n为任务数量,m为资源数量,通常n远大于m,令z=int(n/m),int表示取整运算,以z表示资源分隔,即以z个任务一组按序将任务调度至相应序号的资源上。
需要说明的是,具体位置信息的编码及调度解的解码的方法基于上述实施例方法,本实施例不再一一赘述。
需要说明的是,传统的樽海鞘群算法中,所有的追随者位置信息的更新均只考虑了与其相邻的个体位置,随机性较差,为了兼顾算法的随机性和寻优性能,引入遗传算子对一半追随者位置进行更新,保证搜索全局性和个体多样性的同时,改善搜索过程易于陷入局部最优的问题。具体地,引入遗传交叉算子和遗传变异算子对追随者位置更新。
易于理解的是,需要说明的是,樽海鞘群中的位置信息需要进行随机化,在将樽海鞘个体的位置信息(区间[0,1]内)表示为以下表达式进行随机化:
xi,j=lbj,min+c4×(ubj,max-lbj,min)
Figure BDA0002390318010000171
其中,i=1,2,…,N,N表示樽海鞘种群的规模,j=1,2,…,n,n表示云任务数,c4为区间[0,1]内的随机数,ubj,max表示第j维空间的上限值,所述上限值为云资源集合中的云资源数;lbj,min表示第j维空间的下限值,定义为最小资源利用数量。通过每个樽海鞘个体的不同的ubj,max、lbj,min和c4的取值,即可得到随机生成的樽海鞘种群。易于理解的是,樽海鞘的群体行为并不以群的方式分布,而是首尾相连,形成链的形式,顺次跟随移动。樽海鞘种群可以划分为两个群组:领导者樽海鞘和追随者樽海鞘。链首的樽海鞘称为领导者樽海鞘,它在寻找食物源过程中拥有最优的判断,引导整个种群的移动。除领导者樽海鞘以外,剩余的其它樽海鞘均称为追随者樽海鞘。追随者樽海鞘之间相互跟随,相互之间被直接或间接领导。搜索空间中的食物源F即为樽海鞘种群的搜索目标,本实施例中将樽海鞘群中某一樽海鞘的位置信息作为食物源位置信息,所述某一樽海鞘即为所述目标樽海鞘个体。
易于理解的是,调度解空间是一个N×n的欧式空间,x1,j表示领导者第j维空间上的位置,即领导者樽海鞘所代表的调度解中第j个任务调度至序号为x1,j的资源上执行。xi,j(i>1)表示追随者第j维空间上的位置,即追随者樽海鞘i所代表的调度解中第j个任务调度至资源xi,j上执行。
所述位置更新模块20,用于所述樽海鞘群中的各樽海鞘个体进行适应度计算,并根据计算结果将樽海鞘群划分为第一樽海鞘群和第二樽海鞘群。
需要说明的是,具体用于:对樽海鞘群中各樽海鞘个体进行适应度计算,获取各樽海鞘个体对应的适应度值,并根据所述适应度值对所有樽海鞘个体进行降序排列;将适应度值最大的樽海鞘个体所对应的位置信息作为目标位置信息,将剩余的樽海鞘个体作为待更新樽海鞘群;将所述待更新樽海鞘群中适应度值最大的樽海鞘个体作为领导者樽海鞘,并将剩余的樽海鞘个体划分为个数相等的所述第一樽海鞘群和所述第二樽海鞘群。
需要说明的是,本实施例适应度计算方法基于上述实施例中的方法,此处不再一一赘述。
需要说明的是,获取到适应度值后,根据适应度值对所有樽海鞘个体进行降序排列,将适应度值最大(代表最优调度解)的樽海鞘个体作为当前的食物源位置,即目标樽海鞘个体。除目标樽海鞘个体之外,将剩余排序的N-1个樽海鞘个体中的第一个樽海鞘个体作为领导者樽海鞘,将剩下的N-2个樽海鞘个体全部作为追随者樽海鞘,将N-2追随者樽海鞘等划分为第一樽海鞘群和第二樽海鞘群。
根据所述计算结果对所述第一樽海鞘群中各樽海鞘个体进行位置信息更新。具体包括:根据所述目标位置信息对所述领导者樽海鞘进行位置信息更新,获得所述领导者樽海鞘的实时位置信息;根据所述实时位置信息对所述第一樽海鞘群中各樽海鞘个体对应进行位置信息更新。
需要说明的是,领导者樽海鞘根据目标樽海鞘个体的位置信息进行位置信息更新,领导者位置发生更新,即领导者樽海鞘所代表的任务调度解发生更新,具体领导者位置更新公式如下:
Figure BDA0002390318010000181
其中,x1,j表示领导者樽海鞘在第j维空间上的位置,即任务Tj调度至序号为x1,j的资源上执行;Fj表示食物源在第j维空间上的位置。由于对于樽海鞘而言,食物源的位置是未知的,所以可将初始状态下的领导者的位置定义为食物源的位置。ubj,max表示第j维空间的上限值,定义为最大可用的资源数;lbj,min表示第j维空间的下限值,定义为最小资源利用数量。c2和c3表示区间[0,1]间的随机数,用于决定第j维空间的下一个更新位置的移动方向(正向或反向)以及移动的步长。c1称为收敛因子,用于均衡方法迭代过程中樽海鞘个体的局部开发和全局勘探能力。领导者位置更新公式表明,领导者的位置更新主要由食物源的位置决定。收敛因子c1定义为:
Figure BDA0002390318010000182
其中,t表示当前迭代次数,Tmax表示方法的最大迭代次数。可以看出,收敛因子在迭代过程中会从2递减至0。由于初始生成的樽海鞘个体的位置编码均为区间[0,1]内的随机值,即对于所有的维度j=1,2,...,n,x1,j的取值也必须处于[0,1]区间。而根据领导者位置更新公式的更新方式可能无法保证其取值在该范围内。因此,如果领导者樽海鞘的新位置中任一维度的位置不在[0,1]以内,需要对位置进行转换,具体转换函数如下:
需要说明的是,第一樽海鞘群的位置更新,追随者的位置根据牛顿运动定理进行更新,追随者位置更新公式为:
Figure BDA0002390318010000191
其中,i≥2,xi,j表示追随者樽海鞘在第j维空间上的位置,即调度任务Tj的资源序号为xi,j。△t表示时间,v0表示追随者樽海鞘的初始速率,加速度a=(vfinal-v0)/△t,其中,vfinal=xi-1,j-xi,j/△t,xi-1,j表示第i-1个樽海鞘在第j维空间上的位置,即第i-1个樽海鞘所处的位置所代表的调度解中,第j个任务调度至序号为xi-1,j的资源上执行。由于时间是迭代次数之差,故△t=1。而每次迭代开始时,追随者樽海鞘的初始速度v0=0,故进一步的追随者位置更新公式可表示为:
Figure BDA0002390318010000192
追随者位置更新公式表明,追随者樽海鞘i中第j个任务的调度资源序号更新等于上一迭代中该樽海鞘对应的调度解与追随者樽海鞘i-1中第j个任务的调度资源序号之和的一半。基于与领导者位置同样的考虑,追随者樽海鞘的位置所代表的调度解更新方式定义为:
Figure BDA0002390318010000193
根据所述遗传算子对所述第二樽海鞘群中各樽海鞘个体进行位置信息更新。
需要说明的是对于第二樽海鞘群中的樽海鞘个体,使用遗传算子进行位置信息更新,具体包括:根据遗传交叉算子及遗传变异算子对所述第二樽海鞘群中各樽海鞘个体对应进行位置信息更新。
需要说明的是,为了改进追随者个体的全局搜索能力,在进化迭代过程中引入遗传交叉操作。引入单个体交叉和双个体交叉两种遗传交叉算子。
需要说明的是,单个体交叉操作随机选择个体位置的两个维度进行交换,然后重新得到降序序列,并重新解码为调度资源。这样,即可得到一个新的子代个体。若新的子代个体的适应度大于父代个体适应度,则将子代个体保留至下一代种群中;若新的子代个体的适应度小于或等于父代个体适应度,则依然保留原父代个体在种群中。
需要说明的是,对于双个体间交叉。对于两个选定的父代个体,在相同位置选定交叉点,交叉点将个体划分为左右两个部分,互换两个父代个体的右半部分,得到两个新的子代个体位置。然后重新得到降序序列,并重新解码为调度资源。这样,即可得到两个新的子代个体。比较两个父代个体和两个子代个体的适应度,保留两个适应度较大的个体至下一代种群中。
需要说明的是,遗传变异操作可以改善个体的局部搜索能力,维持种群的多样性。变异操作的过程为:对于选定的变异个体,随机选择两个待变异的个体位置维度,改变其位置取数,然后重新得到降序序列,并重新解码为调度资源。这样,即可得到一个新的子代个体。若新的子代个体的适应度大于父代个体适应度,则将子代个体保留至下一代种群中;若新的子代个体的适应度小于或等于父代个体适应度,则依然保留原父代个体在种群中。
对位置信息更新后的所有樽海鞘个体进行适应度计算,获得适应度计算结果。
最优解获取模块30,用于根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,并将所述目标樽海鞘个体的当前位置信息作为任务调度最优解。
需要说明的是,重新计算了适应度值并获取到适应度值最大的樽海鞘个体,具体的,根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,将所述最大适应度值与位置信息更新前的最大适应度值进行比较;根据比较结果对所述目标位置信息进行更新;将更新后的所述目标位置信息转换为所述任务调度最优解。
需要说明的是,在新的适应度值最大的樽海鞘个体的适应度值大于位置更新前的适应度值最大的樽海鞘个体,即,食物源,则将当前的食物源替换为所述目标樽海鞘个体;否则,保留原食物源的位置信息,即保留原适应度值最大的樽海鞘个体。通过上述两种选择对目标位置信息进行更新,同时,根据上述步骤中的方法更新领导者樽海鞘和追随者樽海鞘。
易于理解的是,适应度值越大意味着对应更优的任务调度解,获取目标樽海鞘个体的位置信息,及目标樽海鞘个体Xh中各元素,根据各元素所代表的位置信息对樽海鞘个体Xh解码,获取任务调度最优解。
所述调度模块40,用于根据所述任务调度最优解将所述云任务集合中的云任务调度到所述云资源集合的云资源中。
易于理解的是,获取到任务调度最优解后可根据最优解进行任务调度,以执行用户所需的任务。
本发明实施例通过上述方法,在任务的完成时间、任务执行预算均有约束的条件下,在任务执行时间和执行代价间实现同步均衡优化,形成云任务调度的多目标均衡优化,提高了云任务调度的效率及效果。
此外,为实现上述目的,本发明还提出一种电子设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于樽海鞘群的云任务调度程序,所述基于樽海鞘群的云任务调度程序配置为实现如上所述的基于樽海鞘群的云任务调度方法的步骤。本电子设备具有上述实施例所有有益效果,此处不再一一赘述。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于樽海鞘群的云任务调度程序,所述基于樽海鞘群的云任务调度程序被处理器执行时实现如上所述的基于樽海鞘群的云任务调度方法的步骤。本存储介质具有上述实施例所有有益效果,此处不再一一赘述。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的基于樽海鞘群的云任务调度方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于樽海鞘群的云任务调度方法,其特征在于,所述方法包括:
获取待调度的云任务集合及云资源集合,根据所述云任务集合及所述云资源集合建立樽海鞘群并生成遗传算子;
对所述樽海鞘群中的各樽海鞘个体进行适应度计算,并根据计算结果将樽海鞘群划分为第一樽海鞘群和第二樽海鞘群;
根据所述计算结果对所述第一樽海鞘群中各樽海鞘个体进行位置信息更新;
根据所述遗传算子对所述第二樽海鞘群中各樽海鞘个体进行位置信息更新;
对位置信息更新后的所有樽海鞘个体进行适应度计算,获得适应度计算结果;
根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,并将所述目标樽海鞘个体的当前位置信息作为任务调度最优解;
根据所述任务调度最优解将所述云任务集合中的云任务调度到所述云资源集合的云资源中。
2.如权利要求1所述的基于樽海鞘群的云任务调度方法,其特征在于,所述获取待调度的云任务集合及云资源集合,根据所述云任务集合及所述云资源集合建立樽海鞘群并生成遗传算子的步骤,具体包括:
获取所述云资源集合中的云资源数及所述云任务集合的云任务数;
将所述云任务数作为樽海鞘个体对应的位置信息数,根据所述所述云任务数设置樽海鞘个体数,根据所述云资源数随机设置樽海鞘个体对应的位置信息;
根据所述樽海鞘个体数、所述位置信息数及所述位置信息建立樽海鞘群,并根据所述樽海鞘群生成遗传算子。
3.如权利要求2所述的基于樽海鞘群的云任务调度方法,其特征在于,所述对所述樽海鞘群中的各樽海鞘个体进行适应度计算,并根据计算结果将樽海鞘群划分为第一樽海鞘群和第二樽海鞘群的步骤,具体包括:
对樽海鞘群中各樽海鞘个体进行适应度计算,获取各樽海鞘个体对应的适应度值,并根据所述适应度值对所有樽海鞘个体进行降序排列;
将适应度值最大的樽海鞘个体所对应的位置信息作为目标位置信息,将剩余的樽海鞘个体作为待更新樽海鞘群;
将所述待更新樽海鞘群中适应度值最大的樽海鞘个体作为领导者樽海鞘,并将剩余的樽海鞘个体划分为个数相等的所述第一樽海鞘群和所述第二樽海鞘群。
4.如权利要求3所述的基于樽海鞘群的云任务调度方法,其特征在于,所述根据所述计算结果对所述第一樽海鞘群中各樽海鞘个体进行位置信息更新的步骤,具体包括:
根据所述目标位置信息对所述领导者樽海鞘进行位置信息更新,获得所述领导者樽海鞘的实时位置信息;
根据所述实时位置信息对所述第一樽海鞘群中各樽海鞘个体对应进行位置信息更新。
5.如权利要求4所述的基于樽海鞘群的云任务调度方法,其特征在于,
所述遗传算子包括遗传交叉算子及遗传变异算子;
所述根据所述遗传算子对所述第二樽海鞘群中各樽海鞘个体进行位置信息更新的步骤,具体包括:
根据所述遗传交叉算子及所述遗传变异算子对所述第二樽海鞘群中各樽海鞘个体对应进行位置信息更新。
6.如权利要求5所述的基于樽海鞘群的云任务调度方法,其特征在于,所述根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,并将所述目标樽海鞘个体的当前位置信息作为任务调度最优解的步骤,具体包括:
根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,将所述最大适应度值与位置信息更新前的最大适应度值进行比较;
根据比较结果对所述目标位置信息进行更新;
将更新后的所述目标位置信息转换为所述任务调度最优解。
7.如权利要求6所述的基于樽海鞘群的云任务调度方法,其特征在于,所述根据所述任务调度最优解将所述云任务集合中的云任务调度到所述云资源集合对应的云资源中的步骤之前,所述方法还包括:
获取所述樽海鞘群的当前迭代次数,判断所述当前迭代次数是否小于预设迭代次数;
在所述当前迭代次数小于预设迭代次数时,返回所述对所述樽海鞘群中的各樽海鞘个体进行适应度计算,并根据计算结果将樽海鞘群划分为第一樽海鞘群和第二樽海鞘群的步骤;
在所述当前迭代次数等于预设迭代次数时,输出所述所述任务调度最优解。
8.一种基于樽海鞘群的云任务调度装置,其特征在于,所述装置包括:模型建立模块、位置更新模块、最优解获取模块及调度模块,其中:
所述模型建立模块,获取待调度的云任务集合及云资源集合,根据所述云任务集合及所述云资源集合建立樽海鞘群并生成遗传算子;
所述位置更新模块,用于对樽海鞘群中的各樽海鞘个体进行适应度计算,根据计算结果将樽海鞘群分为第一樽海鞘群和第二樽海鞘群;还用于根据所述计算结果对所述第一樽海鞘群中各樽海鞘个体进行位置信息更新;还用于根据所述遗传算子对所述第二樽海鞘群中各樽海鞘个体位置信息进行更新;还用于对位置信息更新后的樽海鞘个体进行适应度计算,获得适应度计算结果;
所述最优解获取模块,用于根据所述适应度计算结果确定适应度值最大的目标樽海鞘个体,并将所述目标樽海鞘个体的当前位置信息作为任务调度最优解;
所述调度模块,用于根据所述任务调度最优解将所述云任务集合中的云任务调度到云资源集合中的云资源中。
9.一种电子设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于樽海鞘群的云任务调度程序,所述基于樽海鞘群的云任务调度程序配置为实现如权利要求1至7中任一项所述的基于樽海鞘群的云任务调度方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有基于樽海鞘群的云任务调度程序,所述基于樽海鞘群的云任务调度程序被处理器执行时实现如权利要求1至7任一项所述的基于樽海鞘群的云任务调度方法的步骤。
CN202010114242.9A 2020-02-24 2020-02-24 基于樽海鞘群的云任务调度方法、装置、设备及存储介质 Withdrawn CN111274020A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010114242.9A CN111274020A (zh) 2020-02-24 2020-02-24 基于樽海鞘群的云任务调度方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010114242.9A CN111274020A (zh) 2020-02-24 2020-02-24 基于樽海鞘群的云任务调度方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111274020A true CN111274020A (zh) 2020-06-12

Family

ID=70997224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010114242.9A Withdrawn CN111274020A (zh) 2020-02-24 2020-02-24 基于樽海鞘群的云任务调度方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111274020A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099425A (zh) * 2021-04-13 2021-07-09 北京工业大学 一种高能效的无人机辅助d2d资源分配方法
CN113191075A (zh) * 2021-04-22 2021-07-30 浙江大学 一种基于改进型樽海鞘群算法的光伏阵列故障诊断方法
CN113268329A (zh) * 2021-05-31 2021-08-17 北京奇艺世纪科技有限公司 一种请求调度方法、装置及存储介质
CN113297532A (zh) * 2021-05-06 2021-08-24 温州大学 一种基于tlssa算法的特征信息选择方法
CN113537833A (zh) * 2021-08-12 2021-10-22 北方工业大学 交通事故的应急车辆调度方法、装置及设备
CN114047477A (zh) * 2021-10-30 2022-02-15 西南电子技术研究所(中国电子科技集团公司第十研究所) 多站时差定位方法
CN115021816A (zh) * 2022-07-04 2022-09-06 吉林大学 基于改进的樽海鞘群算法的可见光通信系统功率分配方法
CN115576678A (zh) * 2022-12-08 2023-01-06 河海大学智能感知技术创新研究院 一种基于雾计算的泵阀站数据处理任务分发方法及系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099425B (zh) * 2021-04-13 2023-04-07 北京工业大学 一种高能效的无人机辅助d2d资源分配方法
CN113099425A (zh) * 2021-04-13 2021-07-09 北京工业大学 一种高能效的无人机辅助d2d资源分配方法
CN113191075B (zh) * 2021-04-22 2023-03-24 浙江大学 一种基于改进型樽海鞘群算法的光伏阵列故障诊断方法
CN113191075A (zh) * 2021-04-22 2021-07-30 浙江大学 一种基于改进型樽海鞘群算法的光伏阵列故障诊断方法
CN113297532A (zh) * 2021-05-06 2021-08-24 温州大学 一种基于tlssa算法的特征信息选择方法
CN113297532B (zh) * 2021-05-06 2023-07-07 温州大学 一种基于tlssa算法的特征信息选择方法
CN113268329A (zh) * 2021-05-31 2021-08-17 北京奇艺世纪科技有限公司 一种请求调度方法、装置及存储介质
CN113268329B (zh) * 2021-05-31 2023-09-01 北京奇艺世纪科技有限公司 一种请求调度方法、装置及存储介质
CN113537833A (zh) * 2021-08-12 2021-10-22 北方工业大学 交通事故的应急车辆调度方法、装置及设备
CN113537833B (zh) * 2021-08-12 2023-08-22 北方工业大学 交通事故的应急车辆调度方法、装置及设备
CN114047477A (zh) * 2021-10-30 2022-02-15 西南电子技术研究所(中国电子科技集团公司第十研究所) 多站时差定位方法
CN115021816A (zh) * 2022-07-04 2022-09-06 吉林大学 基于改进的樽海鞘群算法的可见光通信系统功率分配方法
CN115576678A (zh) * 2022-12-08 2023-01-06 河海大学智能感知技术创新研究院 一种基于雾计算的泵阀站数据处理任务分发方法及系统

Similar Documents

Publication Publication Date Title
CN111274020A (zh) 基于樽海鞘群的云任务调度方法、装置、设备及存储介质
Hamad et al. Genetic-based task scheduling algorithm in cloud computing environment
CN113411369B (zh) 一种云服务资源协同优化调度方法、系统、介质及设备
Eiben et al. From evolutionary computation to the evolution of things
Purshouse On the evolutionary optimisation of many objectives
Hwang et al. U-shaped assembly line balancing problem with genetic algorithm
CN106648862B (zh) 一种向用户推荐个性化调度的功能项序列的方法和系统
CN1684068A (zh) 目标变量的自动数据透视生成
Bazinet et al. Computing the tree of life: Leveraging the power of desktop and service grids
Wang et al. Multi-user-oriented manufacturing service scheduling with an improved NSGA-II approach in the cloud manufacturing system
CN111813500B (zh) 一种多目标云工作流调度方法及装置
CN110008023B (zh) 基于遗传算法的云计算系统预算约束随机任务调度方法
Sellami et al. Immune genetic algorithm for scheduling service workflows with QoS constraints in cloud computing
CN111343259B (zh) 基于二进制编码的云任务调度方法、服务器及存储介质
CN111367661A (zh) 基于樽海鞘群的云任务调度方法、装置、设备及存储介质
Efstathiou et al. Crepe Complete: Multi-objective Optimization for Your Models.
Prakash et al. A hybrid immune genetic algorithm for scheduling in computational grid
Matthey‐Doret SimBit: A high performance, flexible and easy‐to‐use population genetic simulator
Troiano et al. Searching optimal menu layouts by linear genetic programming
Basnet A hybrid genetic algorithm for a loading problem in flexible manufacturing systems
US20200234797A1 (en) Generation and use of simulated genomic data
Di Camillo et al. SimBioNeT: a simulator of biological network topology
CN112070162A (zh) 多类别处理任务训练样本构建方法、设备及介质
CN101378406A (zh) 一种数据网格副本的选择方法
Elgendy et al. A Parallel distributed genetic algorithm using Apache Spark for flexible scheduling of multitasks in a cloud manufacturing environment

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20200612