CN108182109A - 一种云环境下的工作流调度与数据分配方法 - Google Patents
一种云环境下的工作流调度与数据分配方法 Download PDFInfo
- Publication number
- CN108182109A CN108182109A CN201711468801.0A CN201711468801A CN108182109A CN 108182109 A CN108182109 A CN 108182109A CN 201711468801 A CN201711468801 A CN 201711468801A CN 108182109 A CN108182109 A CN 108182109A
- Authority
- CN
- China
- Prior art keywords
- task
- workflow
- data
- virtual machine
- representing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 239000002245 particle Substances 0.000 claims abstract description 88
- 230000005540 biological transmission Effects 0.000 claims abstract description 21
- 238000005457 optimization Methods 0.000 claims abstract description 18
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 15
- 230000001174 ascending effect Effects 0.000 claims abstract description 11
- 238000004364 calculation method Methods 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 6
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000003930 cognitive ability Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000009326 social learning Effects 0.000 claims description 3
- KDYFGRWQOYBRFD-UHFFFAOYSA-N succinic acid Chemical compound OC(=O)CCC(O)=O KDYFGRWQOYBRFD-UHFFFAOYSA-N 0.000 claims description 3
- 238000013500 data storage Methods 0.000 abstract description 2
- 238000012821 model calculation Methods 0.000 abstract 1
- 238000010845 search algorithm Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013468 resource allocation 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/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
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及云计算技术领域,特别是一种云环境下的工作流调度与数据分配方法,包括如下步骤:获取云平台当前的工作流;根据调度模型计算工作流中每个任务的高度,并按照高度升序排列任务;使用粒子群优化算法,以工作流的执行时间以及执行成本为优化目标,获得全局最优的粒子编码;将全局最优的粒子编码解码成工作流调度与数据分配方案并输出。该方法考虑了数据存储,减少了跨节点之间的传输时间,优化了云平台中工作流的任务执行效率和执行成本。
Description
技术领域
本发明涉及云计算(IaaS)技术领域,特别是一种云环境下的工作流调度与数据分配方法。
背景技术
云计算作为一种以商业为主要推动力的计算模型和服务模式,从云提供商的角度来看,它是将计算资源作为一种服务的形式,通过网络提供给用户,而用户则可以方便地按照自己的需求租赁所需的计算资源,无需了解其具体的细节。云调度指在云平台下对用户提交的工作流进行资源分配与部署,是云计算操作系统的核心任务。调度问题是云计算中的一个重要问题,直接关系到用户的满意程序和运营成本。因此,对云计算调度问题的研究无论从理论技术和实际应用方面都具有非常重要的意义。
一般来说,云工作流调度过程中,云服务提供商需要保证用户的服务质量(Quality of Servic,QoS)需求。其中主要的QoS需求包括完成时间、使用费用、数据存储等。完成时间和费用往往是工作流调度中用户关注的主要目标,因此现有的工作流调度算法主要从时间和费用两方面进行研究。
云工作流调度是一个NP完全问题,已有许多启发式算法被提出,这类算法根据制定的规则,首先对任务进行排序,然后逐个给任务分配当前最合适的资源。这类算法虽然能在较短的时间内找出可行的调度方案,但是寻找的是局部最优解,只要定制的启发式不变,最终得出的调度方案也保持不变,这类结果虽然能够满足用户约束的需求,但是仍有较大的优化空间。还有一类研究使用随机搜索算法来解决调度问题。与启发式不同,随机搜索算法通过在解集空间只能怪随机寻找调度方案,通过设置不同的参数来改进最终搜索的结果。由于算法的随机性,每次的结果有优有劣,经过多次执行有可能找到满足应用要求的较优调度方案,然而这类算法的执行时间远高于启发式算法,因此存在效率问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种云环境下的工作流调度与数据分配方法,该方法有利于提高云平台中的工作流调度效率和成本优化。
为实现上述目的,本发明的技术方案是:一种云环境下的工作流调度与数据分配方法,包括如下步骤:
步骤A:获取云平台当前的工作流;
步骤B:根据调度模型计算工作流中每个任务的高度,并按照高度升序排列任务;
步骤C:使用粒子群优化算法,每个粒子表示一种工作流调度与数据分配方案,以工作流的执行时间以及执行成本为优化目标,获得全局最优的粒子编码;
步骤D:将全局最优的粒子编码解码成工作流调度与数据分配方案并输出。
进一步地,所述步骤B中,计算工作流中每个任务的高度并按照高度升序排列任务,包括以下步骤:
步骤B1:构造工作流的有向无环图G,方法为:
工作流由n个相互依赖的任务T={T1,T2,…,Tn}构成,采用有向无环图G=(V,E)表示,其中V表示节点集合,V=T,E表示边集合,E={eij|Ti∈T∧Tj∈T∧Ti∈pred(Tj)};其中任务Tj的直接前驱任务的集合表示为pred(Tj),直接后续任务的集合表示为succ(Tj),只有当pred(Tj)中的任务全部执行完成并且数据传输到任务Tj所在的虚拟机时,任务Tj才开始执行,没有前驱任务的任务节点称为开始任务Tentry,没有后继任务的任务节点称为结束任务Texit;Ti∈pred(Tj)表示任务Ti是任务Tj的直接前驱任务,即任务Tj是任务Ti的直接后继任务,任务Tj依赖于任务Ti;eij表示任务Ti和任务Tj间的边,eij的值代表任务Ti需传输给任务Tj的数据量大小;
步骤B2:从工作流的开始任务Tentry出发,遍历工作流的有向无环图G,计算每个任务Ti的初始高度Heightinit(Ti);
步骤B3:从工作流的结束任务Texit出发,遍历工作流的有向无环图G,计算每个任务Ti的高度Height(Ti);
步骤B4:根据每个任务Ti的高度Height(Ti),按照高度升序排列任务,构成任务的拓扑顺序。
进一步地,所述步骤B2中,任务Ti的初始高度Heightinit(Ti)的计算方法如下:
进一步地,所述步骤B3中,任务Ti的高度Height(Ti)的计算方法如下:
其中,表示产生位于区间范围内的随机整数;
通过计算工作流中每个任务Ti的高度Height(Ti),从而确定任务Ti执行的顺序,然后根据任务的高度升序排列,构成任务的拓扑顺序,该顺序是保持任务之间优先级约束的线性顺序。
进一步地,所述步骤C中,使用粒子群优化算法,以工作流的执行时间以及执行成本为优化目标,获得全局最优的粒子编码,包括以下步骤:
步骤C1:初始化粒子群,设置粒子群算法参数,包括粒子数量、惯性因子、认知能力因子、社会学习因子、迭代次数、种群规模、粒子维数、粒子速度控制范围;
步骤C2:计算粒子群中每个粒子的适应度值,根据粒子的适应度值,记录个体历史最优粒子和种群最优粒子;
步骤C3:根据更新策略,更新每个粒子的速度和位置,并计算更新后的粒子适应度值;
步骤C4:判断是否满足最大迭代次数,是则输出全局最优粒子编码,结束迭代,否则返回步骤C2,继续迭代。
进一步地,所述步骤C1中,初始化粒子群,粒子的编码方式如下:
Xi={xi,1,xi,2,…,xi,N}是粒子群X中的第i个粒子,表示工作流调度问题的第i个调度方案,N是工作流所包含的元素数量,工作流元素包括构成工作流的任务和数据,Xi的每一维表示工作流元素与服务节点的映射关系,xi,j的值表示该工作流元素所在的虚拟机的序号,即将工作流的第j个元素分配到序号为xi,j的虚拟机,虚拟机的序号的取值范围为[1,m],m为云平台中的虚拟机节点数。
进一步地,所述步骤C2中,粒子群中粒子的适应度值的计算方法如下:
fitness=α.Ttotal+β.Ctotal
其中,α、β表示权重系数,Ttotal表示工作流执行的时间代价,Ctotal表示工作流执行的成本代价,具体定义如下:
Ctotal=Costexe(G)+Costtx(G)
其中,工作流执行的时间代价Ttotal定位为从用户提交一个工作流到获得执行结果的总时间,即结束任务Texit的完成时间工作流执行的成本代价Ctotal包括工作流的任务处理代价Costexe(G)和数据传输代价Costtx(G)。
进一步地,工作流执行的时间代价Ttotal的计算方法如下:
首先定义工作流中的任务Ti的任务开始时间和任务完成时间分别为STi和FTi,则STi定义如下:
其中VM(Ti)表示任务Ti所分配的虚拟机的序号,表示和任务Ti分配到同一个虚拟机(即VM(Tk)=VM(Ti))且是最晚先于任务Ti被虚拟机调度执行的任务Tk(即Tk→Tj)的任务完成时间;表示传输任务Ti所需的全部数据所需的时间;TRTji为任务Tj存在任务Ti所需的数据Dji时的数据传输时间,定义如下:
其中,VM(Tj)表示任务Tj所分配的虚拟机的序号,VM(Dji)表示数据Dji所放置的虚拟机的序号,表示任务Tj所分配的虚拟机与数据Dji所放置的虚拟机之间的链路带宽;表示数据Dji所放置的虚拟机与任务Ti所分配的虚拟机之间的链路带宽;
根据STi的定义,FTi定义为:
其中为任务Ti在虚拟机vmj上被调度执行后的执行时间;
根据上述定义,当一个工作流的任务被调度之后,工作流的执行时间就等于结束任务Texit的完成时间,即:
工作流的任务处理代价Costexe(G)的计算方法如下:
其中,VM(Ti)表示任务Ti分配的虚拟机的序号,表示任务Ti在分配的虚拟机VM(Ti)上的处理代价,工作流的任务处理代价Costexe(G)即为构成工作流的各个任务的处理代价之和;的具体定义如下:
假定VM(Ti)=j,则
其中,DSi表示任务Ti的数据大小,PSj表示虚拟机vmj的处理能力,RCj表示虚拟机vmj的租赁费用;
工作流执行过程中各个任务间的数据传输代价Costtx(G)的计算方法如下:
其中VM(Ti)表示任务Ti分配的虚拟机的序号,VM(Dij)表示数据Dij所放置的虚拟机的序号,Dij是任务间的数据传输矩阵D中的元素,表示任务Ti和任务Tj之间需要传输的数据的大小,单位为MB,数据传输矩阵D定义如下:
表示任务Ti所分配的虚拟机节点与数据Dij所放置的虚拟机节点之间的数据链路的租赁价格,单位是$/MB;表示数据Dij所放置的虚拟机节点与任务Tj所分配的虚拟机节点之间的数据链路的租赁价格。
进一步地,所述步骤C3中,粒子位置的更新方法如下:
对于任务和虚拟机的分配问题,需要把粒子的位置转化为虚拟机节点的序号,因此在对粒子的位置进行更新时,采用取整的方法对粒子的位置进行离散值的转换:
其中,表示对实数xij向下取整。
相较于现有技术,本发明的有益效果是,综合考虑了工作流中任务的虚拟机分配、工作流中任务的执行顺序优化、工作流中任务的执行时间优化、工作流中任务的数据传输效率优化、工作流中任务的执行成本优化,给出了一种云环境下的工作流调度与数据分配方法,在提高云平台中的工作流调度效率的同时,优化了任务的执行成本和传输成本。
附图说明
图1是本发明实施例的实现流程图。
图2是本发明实施例中步骤B的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细说明。
图1是本发明一种云环境下的工作流调度与数据分配方法的实现流程图。如图1所示,本发明方法,包括如下步骤:
步骤A:获取云平台当前的工作流。
步骤B:根据调度模型计算工作流中每个任务的高度,并按照高度升序排列任务。
图2是本发明实施例中步骤B的实现流程图,如图2所示,包括以下步骤:
步骤B1:构造工作流的有向无环图G,方法为:
工作流由n个相互依赖的任务T={T1,T2,…,Tn}构成,采用有向无环图G=(V,E)表示,其中V表示节点集合,V=T,E表示边集合,E={eij|Ti∈T∧Tj∈T∧Ti∈pred(Tj)};其中任务Tj的直接前驱任务的集合表示为pred(Tj),直接后续任务的集合表示为succ(Tj),只有当pred(Tj)中的任务全部执行完成并且数据传输到任务Tj所在的虚拟机时,任务Tj才开始执行,没有前驱任务的任务节点称为开始任务Tentry,没有后继任务的任务节点称为结束任务Texit;Ti∈pred(Tj)表示任务Ti是任务Tj的直接前驱任务,即任务Tj是任务Ti的直接后继任务,任务Tj依赖于任务Ti;eij表示任务Ti和任务Tj间的边,eij的值代表任务Ti需传输给任务Tj的数据量大小。
步骤B2:从工作流的开始任务Tentry出发,遍历工作流的有向无环图G,计算每个任务Ti的初始高度Heightinit(Ti)。
任务Ti的初始高度Heightinit(Ti)的计算方法如下:
步骤B3:从工作流的结束任务Texit出发,遍历工作流的有向无环图G,计算每个任务Ti的高度Height(Ti)。
任务Ti的高度Height(Ti)的计算方法如下:
其中,表示产生位于区间范围内的随机整数。
步骤B4:根据每个任务Ti的高度Height(Ti),确定每个任务Ti执行的顺序,然后按照高度升序排列任务,构成任务的拓扑顺序。该顺序是保持任务之间优先级约束的线性顺序。
步骤C:使用粒子群优化算法,每个粒子表示一种工作流调度与数据分配方案,以工作流的执行时间以及执行成本为优化目标,获得全局最优的粒子编码。具体包括以下步骤:
步骤C1:初始化粒子群,设置粒子群算法参数,包括粒子数量、惯性因子、认知能力因子、社会学习因子、迭代次数、种群规模、粒子维数、粒子速度控制范围。
初始化粒子群,粒子的编码方式如下:
Xi={xi,1,xi,2,...,xi,N}是粒子群X中的第i个粒子,表示工作流调度问题的第i个调度方案,N是工作流所包含的元素数量,工作流元素包括构成工作流的任务和数据,Xi的每一维表示工作流元素与服务节点的映射关系,xi,j的值表示该工作流元素所在的虚拟机的序号,即将工作流的第j个元素分配到序号为xi,j的虚拟机,虚拟机的序号的取值范围为[1,m],m为云平台中的虚拟机节点数。
步骤C2:计算粒子群中每个粒子的适应度值,根据粒子的适应度值,记录个体历史最优粒子和种群最优粒子。
粒子群中粒子的适应度值的计算方法如下:
fitness=α·Ttotal+β·Ctotal
其中,α、β表示权重系数,Ttotal表示工作流执行的时间代价,Ctotal表示工作流执行的成本代价,具体定义如下:
Ctotal=Costexe(G)+Costtx(G)
其中,工作流执行的时间代价Ttotal定位为从用户提交一个工作流到获得执行结果的总时间,即结束任务Texit的完成时间工作流执行的成本代价Ctotal包括工作流的任务处理代价Costexe(G)和数据传输代价Costtx(G)。
工作流执行的时间代价Ttotal的计算方法如下:
首先定义工作流中的任务Ti的任务开始时间和任务完成时间分别为STi和FTi,则STi定义如下:
其中VM(Ti)表示任务Ti所分配的虚拟机的序号,表示和任务Ti分配到同一个虚拟机(即VM(Tk)=VM(Ti))且是最晚先于任务Ti被虚拟机调度执行的任务Tk(即Tk→Tj)的任务完成时间;表示传输任务Ti所需的全部数据所需的时间;TRTji为任务Tj存在任务Ti所需的数据Dji时的数据传输时间,定义如下:
其中,VM(Tj)表示任务Tj所分配的虚拟机的序号,VM(Dji)表示数据Dji所放置的虚拟机的序号,表示任务Tj所分配的虚拟机与数据Dji所放置的虚拟机之间的链路带宽;表示数据Dji所放置的虚拟机与任务Ti所分配的虚拟机之间的链路带宽;
云环境下,任务Tj和任务Ti间需要传输的数据Dji可能放置在其他虚拟机节点上,因此VM(Dji)可能不同于VM(Ti);云环境下,位于同一物理节点的不同虚拟机节点之间的链路带宽较大,不同物理节点间的虚拟机节点之间的链路带宽较小,同一虚拟机内的链路带宽可认为是无穷大;
根据STi的定义,FTi定义为:
其中为任务Ti在虚拟机vmj上被调度执行后的执行时间;
根据上述定义,当一个工作流的任务被调度之后,工作流的执行时间就等于结束任务Texit的完成时间,即:Ttotal=FTTexit;
工作流的任务处理代价Costexe(G)的计算方法如下:
其中,VM(Ti)表示任务Ti分配的虚拟机的序号,表示任务Ti在分配的虚拟机VM(Ti)上的处理代价,工作流的任务处理代价Costexe(G)即为构成工作流的各个任务的处理代价之和;的具体定义如下:
假定VM(Ti)=j,则
其中,DSi表示任务Ti的数据大小,PSj表示虚拟机vmj的处理能力,RCj表示虚拟机vmj的租赁费用;
工作流执行过程中各个任务间的数据传输代价Costtx(G)的计算方法如下:
其中VM(Ti)表示任务Ti分配的虚拟机的序号,VM(Dij)表示数据Dij所放置的虚拟机的序号,Dij是任务间的数据传输矩阵D中的元素,表示任务Ti和任务Tj之间需要传输的数据的大小,单位为MB,数据传输矩阵D定义如下:
表示任务Ti所分配的虚拟机节点与数据Dij所放置的虚拟机节点之间的数据链路的租赁价格,单位是$/MB;表示数据Dij所放置的虚拟机节点与任务Tj所分配的虚拟机节点之间的数据链路的租赁价格。
步骤C3:根据更新策略,更新每个粒子的速度和位置,并计算更新后的粒子适应度值。
其中,粒子位置的更新方法如下:
对于任务和虚拟机的分配问题,需要把粒子的位置转化为虚拟机节点的序号,因此在对粒子的位置进行更新时,采用取整的方法对粒子的位置进行离散值的转换:
其中,表示对实数xij向下取整。
步骤C4:判断是否满足最大迭代次数,是则输出全局最优粒子编码,结束迭代,否则返回步骤C2,继续迭代。
步骤D:将全局最优的粒子编码解码成工作流调度与数据分配方案并输出。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (9)
1.一种云环境下的工作流调度与数据分配方法,其特征在于,包括如下步骤:
步骤A:获取云平台当前的工作流;
步骤B:根据调度模型计算工作流中每个任务的高度,并按照高度升序排列任务;
步骤C:使用粒子群优化算法,每个粒子表示一种工作流调度与数据分配方案,以工作流的执行时间以及执行成本为优化目标,获得全局最优的粒子编码;
步骤D:将全局最优的粒子编码解码成工作流调度与数据分配方案并输出。
2.根据权利要求1所述的一种云环境下的工作流调度与数据分配方法,其特征在于,所述步骤B中,计算工作流中每个任务的高度并按照高度升序排列任务,包括以下步骤:
步骤B1:构造工作流的有向无环图G,方法为:
工作流由n个相互依赖的任务T={T1,T2,…,Tn}构成,采用有向无环图G=(V,E)表示,其中V表示节点集合,V=T,E表示边集合,E={eij|Ti∈T∧Tj∈T∧Ti∈pred(Tj)};其中任务Tj的直接前驱任务的集合表示为pred(Tj),直接后续任务的集合表示为succ(Tj),只有当pred(Tj)中的任务全部执行完成并且数据传输到任务Tj所在的虚拟机时,任务Tj才开始执行,没有前驱任务的任务节点称为开始任务Tentry,没有后继任务的任务节点称为结束任务Texit;Ti∈pred(Tj)表示任务Ti是任务Tj的直接前驱任务,即任务Tj是任务Ti的直接后继任务,任务Tj依赖于任务Ti;eij表示任务Ti和任务Tj间的边,eij的值代表任务Ti需传输给任务Tj的数据量大小;
步骤B2:从工作流的开始任务Tentry出发,遍历工作流的有向无环图G,计算每个任务Ti的初始高度Heightinit(Ti);
步骤B3:从工作流的结束任务Texit出发,遍历工作流的有向无环图G,计算每个任务Ti的高度Height(Ti);
步骤B4:根据每个任务Ti的高度Height(Ti),按照高度升序排列任务,构成任务的拓扑顺序。
3.根据权利要求2所述的一种云环境下的工作流调度与数据分配方法,其特征在于,所述步骤B2中,任务Ti的初始高度Heightinit(Ti)的计算方法如下:
4.根据权利要求3所述的一种云环境下的工作流调度与数据分配方法,其特征在于,所述步骤B3中,任务Ti的高度Height(Ti)的计算方法如下:
其中,表示产生位于区间范围内的随机整数;
通过计算工作流中每个任务Ti的高度Height(Ti),从而确定任务Ti执行的顺序,然后根据任务的高度升序排列,构成任务的拓扑顺序,该顺序是保持任务之间优先级约束的线性顺序。
5.根据权利要求1所述的一种云环境下的工作流调度与数据分配方法,其特征在于,所述步骤C中,使用粒子群优化算法,以工作流的执行时间以及执行成本为优化目标,获得全局最优的粒子编码,包括以下步骤:
步骤C1:初始化粒子群,设置粒子群算法参数,包括粒子数量、惯性因子、认知能力因子、社会学习因子、迭代次数、种群规模、粒子维数、粒子速度控制范围;
步骤C2:计算粒子群中每个粒子的适应度值,根据粒子的适应度值,记录个体历史最优粒子和种群最优粒子;
步骤C3:根据更新策略,更新每个粒子的速度和位置,并计算更新后的粒子适应度值;
步骤C4:判断是否满足最大迭代次数,是则输出全局最优粒子编码,结束迭代,否则返回步骤C2,继续迭代。
6.根据权利要求5所述的一种云环境下的工作流调度与数据分配方法,其特征在于,所述步骤C1中,初始化粒子群,粒子的编码方式如下:
Xi={xi,1,xi,2,…,xi,N}是粒子群X中的第i个粒子,表示工作流调度问题的第i个调度方案,N是工作流所包含的元素数量,工作流元素包括构成工作流的任务和数据,Xi的每一维表示工作流元素与服务节点的映射关系,xi,j的值表示该工作流元素所在的虚拟机的序号,即将工作流的第j个元素分配到序号为xi,j的虚拟机,虚拟机的序号的取值范围为[1,m],m为云平台中的虚拟机节点数。
7.根据权利要求6所述的一种云环境下的工作流调度与数据分配方法,其特征在于,所述步骤C2中,粒子群中粒子的适应度值的计算方法如下:
fitness=α.Ttotal+β.Ctotal
其中,α、β表示权重系数,Ttotal表示工作流执行的时间代价,Ctotal表示工作流执行的成本代价,具体定义如下:
Ctotal=Costexe(G)+Costtx(G)
其中,工作流执行的时间代价Ttotal定位为从用户提交一个工作流到获得执行结果的总时间,即结束任务Texit的完成时间工作流执行的成本代价Ctotal包括工作流的任务处理代价Costexe(G)和数据传输代价Costtx(G)。
8.根据权利要求7所述的一种云环境下的工作流调度与数据分配方法,其特征在于,工作流执行的时间代价Ttotal的计算方法如下:
首先定义工作流中的任务Ti的任务开始时间和任务完成时间分别为STi和FTi,则STi定义如下:
其中VM(Ti)表示任务Ti所分配的虚拟机的序号,表示和任务Ti分配到同一个虚拟机(即VM(Tk)=VM(Ti))且是最晚先于任务Ti被虚拟机调度执行的任务Tk(即Tk→Tj)的任务完成时间;表示传输任务Ti所需的全部数据所需的时间;TRTji为任务Tj存在任务Ti所需的数据Dji时的数据传输时间,定义如下:
其中,VM(Tj)表示任务Tj所分配的虚拟机的序号,VM(Dji)表示数据Dji所放置的虚拟机的序号,表示任务Tj所分配的虚拟机与数据Dji所放置的虚拟机之间的链路带宽;表示数据Dji所放置的虚拟机与任务Ti所分配的虚拟机之间的链路带宽;
根据STi的定义,FTi定义为:
其中为任务Ti在虚拟机vmj上被调度执行后的执行时间;
根据上述定义,当一个工作流的任务被调度之后,工作流的执行时间就等于结束任务Texit的完成时间,即:
工作流的任务处理代价Costexe(G)的计算方法如下:
其中,VM(Ti)表示任务Ti分配的虚拟机的序号,表示任务Ti在分配的虚拟机VM(Ti)上的处理代价,工作流的任务处理代价Costexe(G)即为构成工作流的各个任务的处理代价之和;的具体定义如下:
假定VM(Ti)=j,则
其中,DSi表示任务Ti的数据大小,PSj表示虚拟机vmj的处理能力,RCj表示虚拟机vmj的租赁费用;
工作流执行过程中各个任务间的数据传输代价Costtx(G)的计算方法如下:
其中VM(Ti)表示任务Ti分配的虚拟机的序号,VM(Dij)表示数据Dij所放置的虚拟机的序号,Dij是任务间的数据传输矩阵D中的元素,表示任务Ti和任务Tj之间需要传输的数据的大小,单位为MB,数据传输矩阵D定义如下:
表示任务Ti所分配的虚拟机节点与数据Dij所放置的虚拟机节点之间的数据链路的租赁价格,单位是$/MB;表示数据Dij所放置的虚拟机节点与任务Tj所分配的虚拟机节点之间的数据链路的租赁价格。
9.根据权利要求5所述的一种云环境下的工作流调度与数据分配方法,其特征在于,所述步骤C3中,粒子位置的更新方法如下:对于任务和虚拟机的分配问题,需要把粒子的位置转化为虚拟机节点的序号,因此在对粒子的位置进行更新时,采用取整的方法对粒子的位置进行离散值的转换:
其中,表示对实数xij向下取整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711468801.0A CN108182109B (zh) | 2017-12-28 | 2017-12-28 | 一种云环境下的工作流调度与数据分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711468801.0A CN108182109B (zh) | 2017-12-28 | 2017-12-28 | 一种云环境下的工作流调度与数据分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108182109A true CN108182109A (zh) | 2018-06-19 |
CN108182109B CN108182109B (zh) | 2021-08-31 |
Family
ID=62548705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711468801.0A Active CN108182109B (zh) | 2017-12-28 | 2017-12-28 | 一种云环境下的工作流调度与数据分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108182109B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989098A (zh) * | 2018-08-24 | 2018-12-11 | 福建师范大学 | 一种混合云环境面向时延优化的科学工作流数据布局方法 |
CN109669452A (zh) * | 2018-11-02 | 2019-04-23 | 北京物资学院 | 一种基于并行强化学习的云机器人任务调度方法和系统 |
CN109684062A (zh) * | 2018-12-25 | 2019-04-26 | 人和未来生物科技(长沙)有限公司 | 基于成本的跨云平台任务调度方法和系统 |
CN110008002A (zh) * | 2019-04-09 | 2019-07-12 | 中国科学院上海高等研究院 | 基于平稳分布概率的作业调度方法、装置、终端和介质 |
CN110033076A (zh) * | 2019-04-19 | 2019-07-19 | 福州大学 | 混合云环境下面向代价优化的工作流数据布局方法 |
CN110058924A (zh) * | 2019-04-23 | 2019-07-26 | 东华大学 | 一种多目标优化的容器调度方法 |
CN110247979A (zh) * | 2019-06-21 | 2019-09-17 | 北京邮电大学 | 一种调度方案确定方法、装置及电子设备 |
WO2020186872A1 (zh) * | 2019-03-19 | 2020-09-24 | 中国石油大学(华东) | 一种云中科学工作流下截止期限约束的费用优化调度方法 |
CN112181623A (zh) * | 2020-09-30 | 2021-01-05 | 清华大学 | 跨云遥感应用程序调度方法及应用 |
CN112256926A (zh) * | 2020-10-21 | 2021-01-22 | 西安电子科技大学 | 一种云环境中科学工作流数据集的存储方法 |
CN112256925A (zh) * | 2020-10-21 | 2021-01-22 | 西安电子科技大学 | 一种面向多请求的科学工作流数据集存储方法 |
CN112580828A (zh) * | 2019-09-30 | 2021-03-30 | 北京天诚同创电气有限公司 | 确定运维时间的方法以及运维任务调配系统 |
CN113627871A (zh) * | 2021-06-22 | 2021-11-09 | 南京邮电大学 | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866912A (zh) * | 2012-10-16 | 2013-01-09 | 首都师范大学 | 一种单指令集异构多核系统静态任务调度方法 |
CN103902375A (zh) * | 2014-04-11 | 2014-07-02 | 北京工业大学 | 一种基于改进遗传算法的云任务调度方法 |
US8938739B2 (en) * | 2012-06-02 | 2015-01-20 | Texas Instruments Incorporated | Resource sharing aware task partitioning for multiprocessors |
CN104463394A (zh) * | 2013-09-18 | 2015-03-25 | Sap欧洲公司 | 生产资源管理 |
US20160226789A1 (en) * | 2015-02-04 | 2016-08-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system to rebalance constrained services in a cloud using a genetic algorithm |
CN106101196A (zh) * | 2016-06-01 | 2016-11-09 | 上海上大海润信息系统有限公司 | 一种基于概率模型的云渲染平台任务调度系统及方法 |
CN107491341A (zh) * | 2017-08-31 | 2017-12-19 | 福州大学 | 一种基于粒子群优化的虚拟机分配方法 |
-
2017
- 2017-12-28 CN CN201711468801.0A patent/CN108182109B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8938739B2 (en) * | 2012-06-02 | 2015-01-20 | Texas Instruments Incorporated | Resource sharing aware task partitioning for multiprocessors |
CN102866912A (zh) * | 2012-10-16 | 2013-01-09 | 首都师范大学 | 一种单指令集异构多核系统静态任务调度方法 |
CN104463394A (zh) * | 2013-09-18 | 2015-03-25 | Sap欧洲公司 | 生产资源管理 |
CN103902375A (zh) * | 2014-04-11 | 2014-07-02 | 北京工业大学 | 一种基于改进遗传算法的云任务调度方法 |
US20160226789A1 (en) * | 2015-02-04 | 2016-08-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system to rebalance constrained services in a cloud using a genetic algorithm |
CN106101196A (zh) * | 2016-06-01 | 2016-11-09 | 上海上大海润信息系统有限公司 | 一种基于概率模型的云渲染平台任务调度系统及方法 |
CN107491341A (zh) * | 2017-08-31 | 2017-12-19 | 福州大学 | 一种基于粒子群优化的虚拟机分配方法 |
Non-Patent Citations (2)
Title |
---|
"云环境下基于遗传算法的工作流任务调度算法研究": "左丽叶", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
ZHANGJUN WU: "A Revised Discrete Particle Swarm Optimization for Cloud workflow Scheduling", 《2010 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989098B (zh) * | 2018-08-24 | 2021-06-01 | 福建师范大学 | 一种混合云环境面向时延优化的科学工作流数据布局方法 |
CN108989098A (zh) * | 2018-08-24 | 2018-12-11 | 福建师范大学 | 一种混合云环境面向时延优化的科学工作流数据布局方法 |
CN109669452A (zh) * | 2018-11-02 | 2019-04-23 | 北京物资学院 | 一种基于并行强化学习的云机器人任务调度方法和系统 |
CN109684062A (zh) * | 2018-12-25 | 2019-04-26 | 人和未来生物科技(长沙)有限公司 | 基于成本的跨云平台任务调度方法和系统 |
WO2020186872A1 (zh) * | 2019-03-19 | 2020-09-24 | 中国石油大学(华东) | 一种云中科学工作流下截止期限约束的费用优化调度方法 |
CN110008002A (zh) * | 2019-04-09 | 2019-07-12 | 中国科学院上海高等研究院 | 基于平稳分布概率的作业调度方法、装置、终端和介质 |
CN110008002B (zh) * | 2019-04-09 | 2022-11-29 | 中国科学院上海高等研究院 | 基于平稳分布概率的作业调度方法、装置、终端和介质 |
CN110033076A (zh) * | 2019-04-19 | 2019-07-19 | 福州大学 | 混合云环境下面向代价优化的工作流数据布局方法 |
CN110033076B (zh) * | 2019-04-19 | 2022-08-05 | 福州大学 | 混合云环境下面向代价优化的工作流数据布局方法 |
CN110058924A (zh) * | 2019-04-23 | 2019-07-26 | 东华大学 | 一种多目标优化的容器调度方法 |
CN110058924B (zh) * | 2019-04-23 | 2023-08-04 | 东华大学 | 一种多目标优化的容器调度方法 |
CN110247979A (zh) * | 2019-06-21 | 2019-09-17 | 北京邮电大学 | 一种调度方案确定方法、装置及电子设备 |
CN112580828A (zh) * | 2019-09-30 | 2021-03-30 | 北京天诚同创电气有限公司 | 确定运维时间的方法以及运维任务调配系统 |
CN112580828B (zh) * | 2019-09-30 | 2023-10-24 | 北京天诚同创电气有限公司 | 确定运维时间的方法以及运维任务调配系统 |
CN112181623A (zh) * | 2020-09-30 | 2021-01-05 | 清华大学 | 跨云遥感应用程序调度方法及应用 |
CN112256925A (zh) * | 2020-10-21 | 2021-01-22 | 西安电子科技大学 | 一种面向多请求的科学工作流数据集存储方法 |
CN112256926A (zh) * | 2020-10-21 | 2021-01-22 | 西安电子科技大学 | 一种云环境中科学工作流数据集的存储方法 |
CN113627871A (zh) * | 2021-06-22 | 2021-11-09 | 南京邮电大学 | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 |
WO2022267791A1 (zh) * | 2021-06-22 | 2022-12-29 | 南京邮电大学 | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 |
CN113627871B (zh) * | 2021-06-22 | 2023-08-18 | 南京邮电大学 | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108182109B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108182109B (zh) | 一种云环境下的工作流调度与数据分配方法 | |
Deldari et al. | CCA: a deadline-constrained workflow scheduling algorithm for multicore resources on the cloud | |
CN107967171B (zh) | 一种云环境下基于遗传算法的多工作流调度方法 | |
Netjinda et al. | Cost optimal scheduling in IaaS for dependent workload with particle swarm optimization | |
Kaur et al. | Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud | |
US20090281818A1 (en) | Quality of service aware scheduling for composite web service workflows | |
CN106951330A (zh) | 一种云服务中心服务效用最大化的虚拟机分配方法 | |
Durgadevi et al. | Resource allocation in cloud computing using SFLA and cuckoo search hybridization | |
CN106447173A (zh) | 一种支持任意流程结构的云工作流调度方法 | |
Malik et al. | Comparison of task scheduling algorithms in cloud environment | |
Min-Allah et al. | Cost efficient resource allocation for real-time tasks in embedded systems | |
Arabnejad et al. | Multi-QoS constrained and profit-aware scheduling approach for concurrent workflows on heterogeneous systems | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
Li et al. | An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters | |
Thaman et al. | Green cloud environment by using robust planning algorithm | |
Arabnejad et al. | Maximizing the completion rate of concurrent scientific applications under time and budget constraints | |
Saha et al. | A novel scheduling algorithm for cloud computing environment | |
CN110347504A (zh) | 众核计算资源调度方法及装置 | |
CN109710372A (zh) | 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法 | |
CN107070965B (zh) | 一种虚拟化容器资源下的多工作流资源供给方法 | |
CN104506576A (zh) | 一种无线传感器网络及其节点任务迁移方法 | |
CN112306642B (zh) | 一种基于稳定匹配博弈理论的工作流调度方法 | |
CN113641448A (zh) | 一种边缘计算容器分配和层下载排序体系结构及其方法 | |
Delavar et al. | A goal-oriented workflow scheduling in heterogeneous distributed systems | |
Yusoh et al. | A penalty-based grouping genetic algorithm for multiple composite saas components clustering in cloud |
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 |