CN107133095A - 一种云环境下的任务调度方法 - Google Patents

一种云环境下的任务调度方法 Download PDF

Info

Publication number
CN107133095A
CN107133095A CN201710223277.4A CN201710223277A CN107133095A CN 107133095 A CN107133095 A CN 107133095A CN 201710223277 A CN201710223277 A CN 201710223277A CN 107133095 A CN107133095 A CN 107133095A
Authority
CN
China
Prior art keywords
mrow
mtd
cloud
msub
virtual resource
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
CN201710223277.4A
Other languages
English (en)
Other versions
CN107133095B (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.)
University of Science and Technology Beijing USTB
Original Assignee
University of Science and Technology Beijing USTB
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 University of Science and Technology Beijing USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN201710223277.4A priority Critical patent/CN107133095B/zh
Publication of CN107133095A publication Critical patent/CN107133095A/zh
Application granted granted Critical
Publication of CN107133095B publication Critical patent/CN107133095B/zh
Active 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
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种云环境下的任务调度方法,能够缩短任务调度的时间并提高任务调度的效率。所述方法包括:按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式,按照选择的资源分配方式执行每个云任务;根据构建的所述分配关系矩阵,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间,选取值最大的总期望完成时间作为本次迭代的适应值;若本次迭代的适应值优于历史最优适应值,则用本次迭代的适应值更新历史最优适应值;根据更新后的历史最优适应值,更新每个虚拟资源节点的信息素;若迭代次数不小于预设的最大迭代次数,则结束迭代并输出历史最优适应值作为最优解。本发明适用于计算机任务调度领域。

Description

一种云环境下的任务调度方法
技术领域
本发明涉及计算机任务调度领域,特别是指一种云环境下的任务调度方法。
背景技术
云计算是一种以商业为主要推动力的计算模型和服务模式,将数据分布到由大量远程计算机所构成的资源池上,用户可按需获取计算能力、软件服务以及存储空间等。这种打包基础服务设施的方法对用户是透明的,其本质是使用虚拟化的技术对计算和存储资源池进行合理的调度和分配。随着云计算规模的扩大以及用户的需求增长,对任务和虚拟资源节点进行合理的分配就显得格外重要。
现有技术中,传统的任务调度方法没有构建云任务和虚拟资源节点的分配关系模型,不满足云计算环境的复杂性。
发明内容
本发明要解决的技术问题是提供一种云环境下的任务调度方法,以解决现有技术所存在的没有构建云任务和虚拟资源节点的分配关系模型的问题。
为解决上述技术问题,本发明实施例提供一种云环境下的任务调度方法,包括:
S1,构建云任务与虚拟资源节点的分配关系矩阵,按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式,按照选择的资源分配方式执行每个云任务,其中,资源分配方式用于表示每个云任务在哪个虚拟资源节点上执行且每个云任务只能在一个虚拟资源节点上运行;
S2,执行所有的云任务后,根据构建的所述分配关系矩阵,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间,选取值最大的总期望完成时间作为本次迭代的适应值;
S3、判断本次迭代的适应值是否优于历史最优适应值,若优于历史最优适应值,则用本次迭代的适应值更新历史最优适应值;
S4、根据更新后的历史最优适应值,更新每个虚拟资源节点的信息素;
S5、迭代次数加一,若迭代次数小于预设的最大迭代次数,则跳转至S1;否则,结束迭代并输出当前的历史最优适应值作为最优解。
进一步地,所述按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式包括:
按照概率选择公式轮盘赌为每个云任务从构建的分配关系矩阵中选择一个资源分配方式。
进一步地,所述概率选择公式表示为:
式中,表示t时刻蚂蚁k选择在虚拟资源节点vmj上执行云任务ti的概率;allowedk表示供蚂蚁k选择的分配关系矩阵中的资源分配方式集合;τij(t)表示t时刻执行云任务ti的虚拟资源节点vmj上残留的信息素;ηij(t)表示t时刻执行云任务ti的虚拟资源节点vmj的MIPS值;τis(t)表示t时刻将云任务ti按照资源分配方式s执行,执行云任务ti的虚拟资源节点上残留的信息素;ηis(t)表示t时刻将云任务ti按照资源分配方式s执行,执行云任务ti的虚拟资源节点的MIPS值;s表示allowedk中的某种资源分配方式;α表示信息素因子;β表示启发信息因子。
进一步地,所述构建的云任务与虚拟资源节点的分配关系矩阵表示为:
其中,X表示分配关系矩阵;xij为资源分配方式具体表示云任务ti是否在虚拟资源节点vmj上执行;ti表示第i个云任务,i=1,2,…,m;vmj表示第j个虚拟资源节点,j=1,2,…,n。
进一步地,在按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式之后,所述方法还包括:
被选择的资源分配方式所在行的其余所有列被置于禁忌表中。
进一步地,所述根据构建的云任务与虚拟资源节点的分配关系矩阵,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间包括:
根据构建的分配关系矩阵,计算每个云任务在相应的虚拟资源节点上的期望执行时间,构成期望执行时间矩阵;
根据构成的期望执行时间矩阵和每个云任务的开始执行时间,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间。
进一步地,所述根据构成的期望执行时间矩阵和每个云任务的开始执行时间,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间包括:
根据构成的期望执行时间矩阵和每个云任务的开始执行时间,通过第一公式计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间,所述第一公式表示为:
CTij=bi+ETCij
其中,CTij为所有在虚拟资源节点vmj上的云任务ti的总期望完成时间,bi为云任务ti的开始执行时间;ETCij表示云任务ti在虚拟资源节点vmj上的期望执行时间。
进一步地,所述选取值最大的总期望完成时间作为本次迭代的适应值包括:
对所有虚拟资源节点的CTij求CTmax=max{CTij},将得到的CTmax作为本次迭代的适应值,其中,j=1,2,…,n,CTmax表示从1到n个虚拟资源节点的CTij中选取最大值。
进一步地,所述根据更新后的历史最优适应值,更新每个虚拟资源节点的信息素包括:
根据本次迭代得到的适应值,按照信息素更新公式更新每个虚拟资源节点的信息素,其中,所述信息素更新公式表示为:
其中,ρ表示信息素残留程度;τij(t+1)表示t+1时刻执行云任务ti的虚拟资源节点vmj上残留的信息素;τij(t)表示t时刻执行云任务ti的虚拟资源节点vmj上残留的信息素;表示t时刻执行云任务ti的蚂蚁k留在虚拟资源节点vmj上的信息素,m表示蚂蚁的数目,fitness表示本次迭代得到的适应值。
进一步地,所述方法还包括:
根据每个虚拟资源节点实际的处理能力来进行信息素的初始赋值。
本发明的上述技术方案的有益效果如下:
上述方案中,通过构建云任务与虚拟资源节点的分配关系矩阵,按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式;并根据构建的所述分配关系矩阵,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间,选取值最大的总期望完成时间作为本次迭代的适应值;若本次迭代的适应值优于历史最优适应值,则用本次迭代的适应值更新历史最优适应值;根据更新后的历史最优适应值,更新每个虚拟资源节点的信息素。这样,通过构建云任务与虚拟资源节点的分配关系矩阵及使用历史最优适应值对信息素进行更新,能够缩短任务调度的时间,且能够提高任务调度的效率。
附图说明
图1为本发明实施例提供的云环境下的任务调度方法的流程示意图;
图2为本发明实施例提供的基于蚁群算法的云环境下的任务调度方法的流程示意图;
图3为本发明实施例提供的顺序调度、贪心调度以及蚁群调度实验结果示意图;
图4为本发明实施例提供的较小实验规模下的顺序调度、贪心调度以及蚁群调度比较示意图;
图5为本发明实施例提供的较大实验规模下的顺序调度、贪心调度以及蚁群调度比较示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的没有构建云任务和虚拟资源节点的分配关系模型的问题,提供一种云环境下的任务调度方法。
如图1所示,本发明实施例提供一种云环境下的任务调度方法,包括:
S1,构建云任务与虚拟资源节点的分配关系矩阵,按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式,按照选择的资源分配方式执行每个云任务,其中,资源分配方式用于表示每个云任务在哪个虚拟资源节点上执行且每个云任务只能在一个虚拟资源节点上运行;
S2,执行所有的云任务后,根据构建的所述分配关系矩阵,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间,选取值最大的总期望完成时间作为本次迭代的适应值;
S3、判断本次迭代的适应值是否优于历史最优适应值,若优于历史最优适应值,则用本次迭代的适应值更新历史最优适应值;
S4、根据更新后的历史最优适应值,更新每个虚拟资源节点的信息素;
S5、迭代次数加一,若迭代次数小于预设的最大迭代次数,则跳转至S1;否则,结束迭代并输出当前的历史最优适应值作为最优解。
本发明实施例所述的云环境下的任务调度方法,通过构建云任务与虚拟资源节点的分配关系矩阵,按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式;并根据构建的所述分配关系矩阵,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间,选取值最大的总期望完成时间作为本次迭代的适应值;若本次迭代的适应值优于历史最优适应值,则用本次迭代的适应值更新历史最优适应值;根据更新后的历史最优适应值,更新每个虚拟资源节点的信息素。这样,通过构建的云任务与虚拟资源节点的分配关系矩阵,并使用历史最优适应值对信息素进行更新,能够缩短任务调度的时间和提高任务调度的效率。
本实施例中,构建云任务与虚拟资源节点的分配关系矩阵时,可以依照云计算在资源调度的Map/Reduce思想,将云计算下的任务调度问题作以下的量化:
在云环境中,将m个相互独立的云任务分配给n个虚拟资源节点执行(通常情况下n远远小于m),任务集表示为T={t1,t2,…,tm},其中,ti表示第i个云任务,i=1,2,…,m;虚拟资源节点集表示为VM={vm1,vm2,…,vmn},其中,vmj表示第j个虚拟资源节点,j=1,2,…,n。
且每个云任务只能在一个虚拟资源节点上执行,则任务集T={t1,t2,…,tm}与虚拟资源节点集VM={vm1,vm2,…,vmn}的分配关系可以用分配关系矩阵X表示为:
其中,xij表示云任务ti与虚拟资源节点vmj的分配关系(即云任务ti在相应的虚拟资源节点vmj的执行),其中,xij∈{0,1},如果云任务ti在虚拟资源节点vmj上执行,则xij=1,否则xij=0;即:每个云任务只能在一个虚拟资源节点上运行,反应到分配关系矩阵上就是每行只能有一个列的值取1,其余列都取0。
本实施例中,在为每个云任务从构建的分配关系矩阵中选择一个资源分配方式之前,还需对每个虚拟资源节点的信息素进行初始化,优选地,为了加快迭代寻找最优解的收敛速度,避免漫无目的搜索,可以根据每个虚拟资源节点实际的处理能力来进行信息素的初始赋值,其中,每个虚拟资源节点的处理能力用每秒处理的百万级的机器语言指令数(Million Instructions Per Second,MIPS)来度量。
在前述云环境下的任务调度方法的具体实施方式中,进一步地,所述按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式包括:
按照概率选择公式轮盘赌为每个云任务从构建的分配关系矩阵中选择一个资源分配方式。
本实施例中,为了避免执行能力优秀的虚拟资源节点会不断的重复被选中,解决负载均衡的问题,在概率选择中加入了轮盘赌选择算法,也就是说,按照概率选择公式轮盘赌为每个云任务从构建的分配关系矩阵中选择一个资源分配方式。
本实施例中,可以结合云计算中任务分配的具体情境及蚁群算法在云计算调度中的应用模型,提出一种基于蚁群算法的云环境下的任务调度方法。在基于蚁群算法的调度过程中,每只蚂蚁可以根据虚拟资源节点的处理能力使用轮盘赌选择算法来进行概率选择,为每个云任务选择一个资源分配方式,直到每只蚂蚁携带的全部云任务分配完毕。
轮盘赌选择算法的基本思想就是常见的转盘式抽奖:指针停在对应的区域就获得对应的奖励。根据上面的概率选择公式计算出选择各虚拟资源节点的概率,然后根据概率将圆盘分成多个扇形区域,每个扇形区域对应一个资源的概率选择值,概率值越大源所对应的扇形区域面积也越大,被选择的概率也越大,其更有可能被选中作为下一任务的计算资源。轮盘赌选择算法的加入,避免了每次都直接选择最大概率的城市作为下一个城市,而使算法过早收敛,最后停止搜索可能获得的仅仅是次优解,使用该算法还可以提高蚁群算法的全局搜索能力,又不失局部搜索。
本实施例中,在蚂蚁前进的过程中,蚂蚁可以根据概率选择公式从构建的分配关系矩阵中选择一个资源分配方式,为当前任务选择下一虚拟资源节点,其中,所述概率选择公式表示为:
式中,表示t时刻蚂蚁k选择在虚拟资源节点vmj上执行云任务ti的概率;allowedk表示供蚂蚁k选择的分配关系矩阵中的资源分配方式集合;τij(t)表示t时刻执行云任务ti的虚拟资源节点vmj上残留的信息素;ηij(t)表示t时刻执行云任务ti的虚拟资源节点vmj的MIPS值;τis(t)表示t时刻将云任务ti按照资源分配方式s执行,执行云任务ti的虚拟资源节点上残留的信息素;ηis(t)表示t时刻将云任务ti按照资源分配方式s执行,执行云任务ti的虚拟资源节点的MIPS值;s表示allowedk中的某种资源分配方式;α为信息素因子(表示信息素的相对重要程度);β为启发信息因子(表示启发因子的相对重要程度)。
在前述云环境下的任务调度方法的具体实施方式中,进一步地,在按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式之后,所述方法还包括:
被选择的资源分配方式所在行的其余所有列被置于禁忌表中。
本实施例中,还设置禁忌表tabuk用来表示每一只蚂蚁k在每个云任务执行时已经选择过的虚拟资源节点,具体的,在为每个云任务从构建的分配关系矩阵中选择一个资源分配方式时,分配关系矩阵每一行中只有一列的值会被选择到,该行的其余所有列要被置于禁忌表中,这样可以保证调度问题中每个云任务只能在一个虚拟资源节点上运行且只运行一次的要求。随着蚂蚁每次向前选择一个新的城市,就会向禁忌表中添加n-1个新的元素组合。例如,若云任务1选择在第一个虚拟资源节点vm1上运行,即选择了分配关系矩阵中的x11,那么同一行的其他分配组合情况x12到x1n都要被加入到禁忌表中。
在前述云环境下的任务调度方法的具体实施方式中,进一步地,所述根据构建的云任务与虚拟资源节点的分配关系矩阵,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间包括:
根据构建的分配关系矩阵,计算每个云任务在相应的虚拟资源节点上的期望执行时间,构成期望执行时间矩阵;
根据构成的期望执行时间矩阵和每个云任务的开始执行时间,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间。
本实施例中,根据构建的分配关系矩阵X,考虑虚拟资源节点执行速度为影响执行时间最重要的参数,计算每个云任务在相应的虚拟资源节点上的期望执行时间,其中,所述期望执行时间的计算方法为:一个云任务所需的期望执行时间等于云任务的指令长度除以运行该云任务的虚拟资源节点的执行速度(即用每秒处理的百万级的机器语言指令数MIPS来度量);根据计算得到的每个云任务在相应的虚拟资源节点上的期望执行时间,构成期望执行时间矩阵ETC:
其中,ETCij表示云任务ti在虚拟资源节点vmj上的期望执行时间。
本实施例中,根据构成的期望执行时间矩阵ETC和每个云任务的开始执行时间,通过第一公式计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间,所述第一公式表示为:
CTij=bi+ETCij
其中,CTij为所有在虚拟资源节点vmj上的云任务ti的总期望完成时间,bi为云任务ti的开始执行时间;ETCij表示云任务ti在虚拟资源节点vmj上的期望执行时间。
在前述云环境下的任务调度方法的具体实施方式中,进一步地,所述选取值最大的总期望完成时间作为本次迭代的适应值包括:
对所有虚拟资源节点的CTij求CTmax=max{CTij},将得到的CTmax作为本次迭代的适应值,其中,j=1,2,…,n,CTmax表示从1到n个虚拟资源节点的CTij中选取最大值。
本实施例中,本次迭代的适应值fitness的计算方法如下:
对所有虚拟资源节点的CTij求CTmax=max{CTij},其中,j=1,2,…,n,CTmax表示从1到n个虚拟资源节点中选取CTij最大的作为本次迭代的适应值fitness;最终,在多次迭代过程中,选择fitness值最小的作为最优的任务分配方式。
本实施例中,当云任务被分配到某个虚拟资源节点时,虚拟资源节点的信息素会发生变化,可以根据本次迭代得到的适应值,按照信息素更新公式对虚拟资源节点上的信息素进行更新,其中,所述信息素更新公式表示为:
其中,ρ表示信息素残留程度,ρ∈[0,1);τij(t+1)表示t+1时刻执行云任务ti的虚拟资源节点vmj上残留的信息素;τij(t)表示t时刻执行云任务ti的虚拟资源节点vmj上残留的信息素;表示t时刻执行云任务ti的蚂蚁k留在虚拟资源节点vmj上的信息素,m表示蚂蚁的数目,fitness表示本次迭代得到的适应值。
本实施例中,采用了适应值fitness作为衡量信息素更新的方式,类似于Dorigo M提出的Ant-Cycle模型,这种用整个路径选择的适应值作为更新因素的方法可以更好的反应寻优过程中全局最优解对信息素的影响,能够加快最优解的迭代,缩短任务调度的时间,且能够提高任务调度的效率。
如图2所示,本实施例中,基于蚁群算法的云环境下的任务调度方法的具体步骤可以包括:
A11,参数初始化:为云任务数量,虚拟资源节点数量,蚂蚁数量,信息素因子α,启发信息因子β,信息素残留程度ρ等参数赋值,设定最大迭代次数MAX_GEN;根据每个虚拟资源节点实际的处理能力初始化虚拟资源节点的信息素τij(0);
A12,对蚂蚁进行初始化,随机选择一个虚拟资源节点作为起始节点;
A13,构建云任务与虚拟资源节点的分配关系矩阵,蚂蚁k按照概率选择公式轮盘赌为每个云任务选择下一个资源分配方式,并添加虚拟资源节点到禁忌表,具体的,被选择的资源分配方式所在行的其余所有列被添加到禁忌表中;
A14,蚂蚁数目k=k+1,直至所有的蚂蚁(k>蚂蚁数量m)均执行完所有的云任务;
A15,计算本次迭代的适应值fitness;
A16,判断本次迭代的适应值是否优于历史最优适应值,若优于历史最优适应值,则用本次迭代的适应值更新历史最优适应值;
A17,根据更新后的历史最优适应值,按照信息素更新公式更新信息素;
A18,迭代次数g=g+1,如果,g小于预定的最大迭代次数MAX_GEN,则跳转至A12,;否则,结束迭代并输出当前的历史最优适应值作为最优解。
本实施例中,使用云仿真平台(例如,cloudsim云仿真平台)对本实施例提出的基于蚁群算法的云环境下的任务调度方法(可以简称:蚁群算法/蚁群调度/ACO)进行实验有效性验证,在任务数和处理器数目均较小的情况下,测试数据可以选取5个虚拟机节点,每个虚拟机节点为1个虚拟资源节点,20个云任务。按照图3中的实验数据来看,蚁群算法(ACO)比原始的顺序调度(Simple)节省了约21.7%的时间,比贪心调度(Greedy)节省了约7.8%的时间。即使是蚁群算法在10次实验中所取得的最差结果也要比贪心调度的结果好。从图4中可以看到,随机测试的10次中有多次测试任务执行时间低于500s。因此本发明提出的蚁群调度算法可以迭代得出较接近最优分配方式的解。
本实施例中,在任务数和处理器数目较大的情况下,如图5所示,三条曲线分别代表顺序调度算法、贪心调度以及蚁群调度在执行50、100、200个云任务时的执行时间,从图5可以看出在较大的实验规模下,蚁群调度作为智能化算法显示了小规模环境下更优越的性能。蚁群调度比顺序调度提升了将近73%的性能,比贪心调度提升了将近47%的执行时间。贪心调度的设计不一定能达到整体最优解的主要原因在于根据贪心调度每次只考虑下一个任务分配的最优值,即将具有最短任务完成时间的云任务和虚拟机的组合进行分配。可以得出本实施例提供的基于蚁群算法的云环境下的任务调度方法更适用于解决大规模云环境下的任务分配问题,进一步体现了本方法在真实的云任务环境中的高效性。
综上所述,基于蚁群算法的云环境下的任务调度方法比顺序调度和贪心调度都有了很大程度的提升,算法的整体耗时较短并且可能寻求到更靠近最优解的值,也就是说,本实施例提出的云环境下的任务调度问题的建模和基于该矩阵模型的蚁群优化算法是有效的。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种云环境下的任务调度方法,其特征在于,包括:
S1,构建云任务与虚拟资源节点的分配关系矩阵,按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式,按照选择的资源分配方式执行每个云任务,其中,资源分配方式用于表示每个云任务在哪个虚拟资源节点上执行且每个云任务只能在一个虚拟资源节点上运行;
S2,执行所有的云任务后,根据构建的所述分配关系矩阵,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间,选取值最大的总期望完成时间作为本次迭代的适应值;
S3、判断本次迭代的适应值是否优于历史最优适应值,若优于历史最优适应值,则用本次迭代的适应值更新历史最优适应值;
S4、根据更新后的历史最优适应值,更新每个虚拟资源节点的信息素;
S5、迭代次数加一,若迭代次数小于预设的最大迭代次数,则跳转至S1;否则,结束迭代并输出当前的历史最优适应值作为最优解。
2.根据权利要求1所述的云环境下的任务调度方法,其特征在于,所述按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式包括:
按照概率选择公式轮盘赌为每个云任务从构建的分配关系矩阵中选择一个资源分配方式。
3.根据权利要求1或2所述的云环境下的任务调度方法,其特征在于,所述概率选择公式表示为:
<mrow> <msubsup> <msub> <mi>p</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mi>t</mi> <mi>k</mi> </msubsup> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mfrac> <mrow> <msup> <mrow> <mo>&amp;lsqb;</mo> <msub> <mi>&amp;tau;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> <mi>&amp;alpha;</mi> </msup> <msup> <mrow> <mo>&amp;lsqb;</mo> <msub> <mi>&amp;eta;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> <mi>&amp;beta;</mi> </msup> </mrow> <mrow> <msub> <mo>&amp;Sigma;</mo> <mrow> <mi>s</mi> <mo>&amp;Element;</mo> <msub> <mi>allowed</mi> <mi>k</mi> </msub> </mrow> </msub> <msup> <mrow> <mo>&amp;lsqb;</mo> <msub> <mi>&amp;tau;</mi> <mrow> <mi>i</mi> <mi>s</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> <mi>&amp;alpha;</mi> </msup> <msup> <mrow> <mo>&amp;lsqb;</mo> <msub> <mi>&amp;eta;</mi> <mrow> <mi>i</mi> <mi>s</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;rsqb;</mo> </mrow> <mi>&amp;beta;</mi> </msup> </mrow> </mfrac> </mtd> <mtd> <mrow> <mi>j</mi> <mo>&amp;Element;</mo> <msub> <mi>allowed</mi> <mi>k</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
式中,表示t时刻蚂蚁k选择在虚拟资源节点vmj上执行云任务ti的概率;allowedk表示供蚂蚁k选择的分配关系矩阵中的资源分配方式集合;τij(t)表示t时刻执行云任务ti的虚拟资源节点vmj上残留的信息素;ηij(t)表示t时刻执行云任务ti的虚拟资源节点vmj的MIPS值;τis(t)表示t时刻将云任务ti按照资源分配方式s执行,执行云任务ti的虚拟资源节点上残留的信息素;ηis(t)表示t时刻将云任务ti按照资源分配方式s执行,执行云任务ti的虚拟资源节点的MIPS值;s表示allowedk中的某种资源分配方式;α表示信息素因子;β表示启发信息因子。
4.根据权利要求1或2所述的云环境下的任务调度方法,其特征在于,所述构建的云任务与虚拟资源节点的分配关系矩阵表示为:
<mrow> <mi>X</mi> <mo>=</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>x</mi> <mn>12</mn> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>x</mi> <mrow> <mn>1</mn> <mi>n</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>x</mi> <mn>22</mn> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>x</mi> <mrow> <mn>2</mn> <mi>n</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mrow></mrow> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mi>n</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>
其中,X表示分配关系矩阵;xij为资源分配方式具体表示云任务ti是否在虚拟资源节点vmj上执行;ti表示第i个云任务,i=1,2,…,m;vmj表示第j个虚拟资源节点,j=1,2,…,n。
5.根据权利要求1所述的云环境下的任务调度方法,其特征在于,在按照概率选择公式为每个云任务从构建的分配关系矩阵中选择一个资源分配方式之后,所述方法还包括:
被选择的资源分配方式所在行的其余所有列被置于禁忌表中。
6.根据权利要求1所述的云环境下的任务调度方法,其特征在于,所述根据构建的云任务与虚拟资源节点的分配关系矩阵,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间包括:
根据构建的分配关系矩阵,计算每个云任务在相应的虚拟资源节点上的期望执行时间,构成期望执行时间矩阵;
根据构成的期望执行时间矩阵和每个云任务的开始执行时间,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间。
7.根据权利要求1所述的云环境下的任务调度方法,其特征在于,所述根据构成的期望执行时间矩阵和每个云任务的开始执行时间,计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间包括:
根据构成的期望执行时间矩阵和每个云任务的开始执行时间,通过第一公式计算在每个虚拟资源节点上执行的所有云任务的总期望完成时间,所述第一公式表示为:
CTij=bi+ETCij
其中,CTij为所有在虚拟资源节点vmj上的云任务ti的总期望完成时间,bi为云任务ti的开始执行时间;ETCij表示云任务ti在虚拟资源节点vmj上的期望执行时间。
8.根据权利要求1所述的云环境下的任务调度方法,其特征在于,所述选取值最大的总期望完成时间作为本次迭代的适应值包括:
对所有虚拟资源节点的CTij求CTmax=max{CTij},将得到的CTmax作为本次迭代的适应值,其中,j=1,2,…,n,CTmax表示从1到n个虚拟资源节点的CTij中选取最大值。
9.根据权利要求1所述的云环境下的任务调度方法,其特征在于,所述根据更新后的历史最优适应值,更新每个虚拟资源节点的信息素包括:
根据本次迭代得到的适应值,按照信息素更新公式更新每个虚拟资源节点的信息素,其中,所述信息素更新公式表示为:
<mrow> <msub> <mi>&amp;tau;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>&amp;rho;</mi> <mo>)</mo> </mrow> <msub> <mi>&amp;tau;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msubsup> <mi>&amp;Delta;&amp;tau;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mi>k</mi> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </mrow>
其中,ρ表示信息素残留程度;τij(t+1)表示t+1时刻执行云任务ti的虚拟资源节点vmj上残留的信息素;τij(t)表示t时刻执行云任务ti的虚拟资源节点vmj上残留的信息素;表示t时刻执行云任务ti的蚂蚁k留在虚拟资源节点vmj上的信息素,m表示蚂蚁的数目,fitness表示本次迭代得到的适应值。
10.根据权利要求1所述的云环境下的任务调度方法,其特征在于,所述方法还包括:
根据每个虚拟资源节点实际的处理能力来进行信息素的初始赋值。
CN201710223277.4A 2017-04-07 2017-04-07 一种云环境下的任务调度方法 Active CN107133095B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710223277.4A CN107133095B (zh) 2017-04-07 2017-04-07 一种云环境下的任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710223277.4A CN107133095B (zh) 2017-04-07 2017-04-07 一种云环境下的任务调度方法

Publications (2)

Publication Number Publication Date
CN107133095A true CN107133095A (zh) 2017-09-05
CN107133095B CN107133095B (zh) 2020-04-07

Family

ID=59715458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710223277.4A Active CN107133095B (zh) 2017-04-07 2017-04-07 一种云环境下的任务调度方法

Country Status (1)

Country Link
CN (1) CN107133095B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255593A (zh) * 2017-12-20 2018-07-06 东软集团股份有限公司 基于共享资源的任务协调方法、装置、介质及电子设备
CN108776612A (zh) * 2018-04-11 2018-11-09 深圳大学 一种云计算任务分配方法、装置、设备及存储介质
CN109117257A (zh) * 2018-07-20 2019-01-01 徐州海派科技有限公司 云环境下任务调度方法
CN109767094A (zh) * 2018-12-27 2019-05-17 南京邮电大学 智慧云制造任务调度装置
CN109784687A (zh) * 2018-12-27 2019-05-21 南京邮电大学 智慧云制造任务调度方法、可读存储介质和终端
CN110086855A (zh) * 2019-03-29 2019-08-02 江苏开拓信息与系统有限公司 基于蚁群算法的Spark任务智能感知调度方法
CN110928648A (zh) * 2019-12-10 2020-03-27 浙江工商大学 融合启发式和智能计算的云工作流分段在线调度优化方法
CN111611080A (zh) * 2020-05-22 2020-09-01 中国科学院自动化研究所 边缘计算任务协同调度方法、系统、装置
CN112148482A (zh) * 2020-09-11 2020-12-29 电子科技大学 一种基于结合负载均衡的边缘计算任务调度方法
CN112417748A (zh) * 2020-11-19 2021-02-26 苏州浪潮智能科技有限公司 一种调度自动驾驶仿真任务的方法、系统、设备及介质
CN112988372A (zh) * 2019-12-16 2021-06-18 杭州海康威视数字技术股份有限公司 确定硬件运算平台分配方式的方法和装置
CN113127206A (zh) * 2021-04-30 2021-07-16 东北大学秦皇岛分校 一种基于改进蚁群算法的云环境任务调度方法
CN115328654A (zh) * 2022-08-15 2022-11-11 中国建设银行股份有限公司 一种资源分配方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345657A (zh) * 2013-04-02 2013-10-09 江苏大学 云计算环境下基于遗传和蚁群的任务调度方法
CN103970609A (zh) * 2014-04-24 2014-08-06 南京信息工程大学 一种基于改进蚁群算法的云数据中心任务调度方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345657A (zh) * 2013-04-02 2013-10-09 江苏大学 云计算环境下基于遗传和蚁群的任务调度方法
CN103970609A (zh) * 2014-04-24 2014-08-06 南京信息工程大学 一种基于改进蚁群算法的云数据中心任务调度方法

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255593A (zh) * 2017-12-20 2018-07-06 东软集团股份有限公司 基于共享资源的任务协调方法、装置、介质及电子设备
CN108255593B (zh) * 2017-12-20 2020-11-03 东软集团股份有限公司 基于共享资源的任务协调方法、装置、介质及电子设备
CN108776612A (zh) * 2018-04-11 2018-11-09 深圳大学 一种云计算任务分配方法、装置、设备及存储介质
WO2019196127A1 (zh) * 2018-04-11 2019-10-17 深圳大学 一种云计算任务分配方法、装置、设备及存储介质
CN109117257A (zh) * 2018-07-20 2019-01-01 徐州海派科技有限公司 云环境下任务调度方法
CN109767094A (zh) * 2018-12-27 2019-05-17 南京邮电大学 智慧云制造任务调度装置
CN109784687A (zh) * 2018-12-27 2019-05-21 南京邮电大学 智慧云制造任务调度方法、可读存储介质和终端
CN109784687B (zh) * 2018-12-27 2022-08-30 南京邮电大学 智慧云制造任务调度方法、可读存储介质和终端
CN109767094B (zh) * 2018-12-27 2022-08-30 南京邮电大学 智慧云制造任务调度装置
CN110086855A (zh) * 2019-03-29 2019-08-02 江苏开拓信息与系统有限公司 基于蚁群算法的Spark任务智能感知调度方法
CN110928648B (zh) * 2019-12-10 2022-05-20 浙江工商大学 融合启发式和智能计算的云工作流分段在线调度优化方法
CN110928648A (zh) * 2019-12-10 2020-03-27 浙江工商大学 融合启发式和智能计算的云工作流分段在线调度优化方法
CN112988372A (zh) * 2019-12-16 2021-06-18 杭州海康威视数字技术股份有限公司 确定硬件运算平台分配方式的方法和装置
CN112988372B (zh) * 2019-12-16 2023-10-24 杭州海康威视数字技术股份有限公司 确定硬件运算平台分配方式的方法和装置
CN111611080A (zh) * 2020-05-22 2020-09-01 中国科学院自动化研究所 边缘计算任务协同调度方法、系统、装置
CN111611080B (zh) * 2020-05-22 2023-04-25 中国科学院自动化研究所 边缘计算任务协同调度方法、系统、装置
CN112148482A (zh) * 2020-09-11 2020-12-29 电子科技大学 一种基于结合负载均衡的边缘计算任务调度方法
CN112148482B (zh) * 2020-09-11 2023-08-22 电子科技大学 一种基于结合负载均衡的边缘计算任务调度方法
CN112417748A (zh) * 2020-11-19 2021-02-26 苏州浪潮智能科技有限公司 一种调度自动驾驶仿真任务的方法、系统、设备及介质
CN112417748B (zh) * 2020-11-19 2022-06-21 苏州浪潮智能科技有限公司 一种调度自动驾驶仿真任务的方法、系统、设备及介质
CN113127206A (zh) * 2021-04-30 2021-07-16 东北大学秦皇岛分校 一种基于改进蚁群算法的云环境任务调度方法
CN113127206B (zh) * 2021-04-30 2022-03-11 东北大学秦皇岛分校 一种基于改进蚁群算法的云环境任务调度方法
CN115328654A (zh) * 2022-08-15 2022-11-11 中国建设银行股份有限公司 一种资源分配方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN107133095B (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
CN107133095A (zh) 一种云环境下的任务调度方法
CN103413209B (zh) 多客户多仓库物流配送路径选择方法
CN109800071A (zh) 一种基于改进遗传算法的云计算任务调度方法
CN102932279B (zh) 一种云环境数据中心多维资源调度方法
CN106055395A (zh) 一种基于蚁群优化算法的云环境中截止时间约束工作流调度方法
CN103246941B (zh) 一种出口集装箱码头堆存空间调度方法
CN111274036B (zh) 一种基于速度预测的深度学习任务的调度方法
You et al. An efficient heuristic for series–parallel redundant reliability problems
CN104077634B (zh) 基于多目标优化的主动‑反应式动态项目调度方法
CN106506657A (zh) 一种基于多目标的云计算虚拟机分配调整方法
CN103729246B (zh) 一种任务调度方法和装置
CN110109753A (zh) 基于多维度约束遗传算法的资源调度方法及系统
CN107491341A (zh) 一种基于粒子群优化的虚拟机分配方法
CN109214756A (zh) 基于蚁群算法和分层优化的整车物流调度方法及装置、存储介质、终端
CN109492774A (zh) 一种基于深度学习的云资源调度方法
CN107203412A (zh) 一种基于膜系统改进粒子群算法的云资源调度优化方法
CN105159762A (zh) 基于贪心策略的启发式云计算任务调度方法
CN105373432B (zh) 一种基于虚拟资源状态预测的云计算资源调度方法
CN106527381A (zh) 一种面向并行批处理机动态调度的快速评估方法
CN109345091A (zh) 基于蚁群算法的整车物流调度方法及装置、存储介质、终端
CN107609141A (zh) 一种对大规模可再生能源数据进行快速概率建模方法
CN107357652A (zh) 一种基于分段排序及标准差调整因子的云计算任务调度方法
CN107168770A (zh) 一种低能耗的云数据中心工作流调度与资源供给方法
CN108154317A (zh) 多云环境下基于实例自适应分配整合的工作流组调度方法
CN110908772B (zh) 一种提高多工作流可靠性的节能调度方法

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