CN108182109A - 一种云环境下的工作流调度与数据分配方法 - Google Patents

一种云环境下的工作流调度与数据分配方法 Download PDF

Info

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
virtual machine
particle
data
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
CN201711468801.0A
Other languages
English (en)
Other versions
CN108182109B (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.)
Fuzhou University
Original Assignee
Fuzhou 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 Fuzhou University filed Critical Fuzhou University
Priority to CN201711468801.0A priority Critical patent/CN108182109B/zh
Publication of CN108182109A publication Critical patent/CN108182109A/zh
Application granted granted Critical
Publication of CN108182109B publication Critical patent/CN108182109B/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/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
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

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向下取整。
CN201711468801.0A 2017-12-28 2017-12-28 一种云环境下的工作流调度与数据分配方法 Active CN108182109B (zh)

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)

* Cited by examiner, † Cited by third party
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 清华大学 跨云遥感应用程序调度方法及应用
CN112256925A (zh) * 2020-10-21 2021-01-22 西安电子科技大学 一种面向多请求的科学工作流数据集存储方法
CN112256926A (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)

* Cited by examiner, † Cited by third party
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 福州大学 一种基于粒子群优化的虚拟机分配方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
"云环境下基于遗传算法的工作流任务调度算法研究": "左丽叶", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
ZHANGJUN WU: "A Revised Discrete Particle Swarm Optimization for Cloud workflow Scheduling", 《2010 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY》 *

Cited By (20)

* Cited by examiner, † Cited by third party
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 清华大学 跨云遥感应用程序调度方法及应用
CN112256926A (zh) * 2020-10-21 2021-01-22 西安电子科技大学 一种云环境中科学工作流数据集的存储方法
CN112256925A (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
CN108182109A (zh) 一种云环境下的工作流调度与数据分配方法
Deldari et al. CCA: a deadline-constrained workflow scheduling algorithm for multicore resources on the cloud
Masdari et al. A survey of PSO-based scheduling algorithms in cloud computing
Wadhwa et al. TRAM: Technique for resource allocation and management in fog computing environment
Rekha et al. Efficient task allocation approach using genetic algorithm for cloud environment
Netjinda et al. Cost optimal scheduling in IaaS for dependent workload with particle swarm optimization
CN106951330A (zh) 一种云服务中心服务效用最大化的虚拟机分配方法
CN108009023A (zh) 混合云中基于bp神经网络时间预测的任务调度方法
Liu Research on cloud computing adaptive task scheduling based on ant colony algorithm
Kamalinia et al. Hybrid task scheduling method for cloud computing by genetic and DE algorithms
CN103729246B (zh) 一种任务调度方法和装置
Szabo et al. Evolving multi-objective strategies for task allocation of scientific workflows on public clouds
CN103838627B (zh) 一种基于工作流吞吐量最大化的工作流调度方法
CN102780759A (zh) 基于调度目标空间的云计算资源调度方法
CN101944157B (zh) 一种应用于仿真网格***的生物智能调度方法
Malik et al. Comparison of task scheduling algorithms in cloud environment
CN111722910A (zh) 一种云作业调度及资源配置的方法
Thaman et al. Green cloud environment by using robust planning algorithm
CN108737462A (zh) 一种基于图论的云计算数据中心任务调度方法
CN108170531B (zh) 一种基于深度信念网络的云数据中心请求流调度方法
Saha et al. A novel scheduling algorithm for cloud computing environment
CN109815009B (zh) 一种csp下的资源调度与优化方法
CN106371924A (zh) 一种最小化MapReduce集群能耗的任务调度方法
Hosseini et al. Resource allocation optimization in cloud computing using the whale optimization algorithm
Chen et al. Research on workflow scheduling algorithms in the 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