一种工作流调度进化寻优方法及终端设备与流程

文档序号:15020843发布日期:2018-07-25 00:40阅读:181来源:国知局

本发明属于云计算和人工智能技术领域,尤其涉及一种工作流调度进化寻优方法及终端设备。



背景技术:

云计算中的任务越来越多地以工作流形式存在。这种工作流通常是数据密集型和计算密集型应用。由于工作流具有大量的数据和计算需求,所以需要云计算提供高性能计算资源。云计算将计算资源作为服务,根据用户的需求以虚拟机的形式动态地提供给用户。云计算提供资源服务的模式主要包含:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。在基础设施云以虚拟资源池的方式为用户提供服务,通过调度技术为工作流分配计算资源成为云计算、人工智能领域的研究重点。

云环境下工作流调度是指在特定云环境下,按照用户的计算需求,为工作流中不同的计算任务匹配不同的计算资源,并寻找到最优匹配方案的过程。工作流调度时对任务进行资源分配和寻优,通过提取工作流任务特征及相互数据依赖关系,得到工作流问题的公式化描述,再对其进行建模,为其分配计算资源,确定分配策略满足用户需求,并寻优。工作流调度试图建立计算任务、计算资源,以及用户需求之间的对应关系,度量其适应程度。调度用于计算任务与计算资源之间的映射,例如由不同计算规模的计算任务与不同计算性能的计算资源之间执行时间和执行花费的变化,找出目标优化项变化的轨迹。在云计算工作流调度系统中,工作流内容通常用节点特征进行描述。事实上,基于云计算的工作流可以分为三个步骤:工作流建模、任务资源映射以及策略寻优。

工作流调度是人工智能的一个重要应用,主要目的是为工作流中计算任务分配所需计算资源并加以调整,也可称为约束条件下资源调度的优化问题。资源调度主要是对计算资源池中计算资源进行分配。通常,约束条件下资源调度优化问题处理是使用惩罚函数惩罚不合适的调度策略,将约束问题转换为无约束问题。除了传统调度算法的不断优化和改进之外,一些进化算法也被采用来生成近似最优的调度策略。Rodriguez和Buyya针对云环境下科学工作流调度提出了一种基于元启发优化技术的粒子群优化算法,该调度算法在满足截止时间约束条件下使整体执行花费最小,充分考虑了云计算中IaaS的一些基本特性,如计算资源的弹性化与异构化。但算法中使用不满足约束条件的粒子不如合法粒子的惩罚函数,可能会导致算法过早收敛而陷入局部最优。Li Liu等人提出了一种基于截止时间约束的协同遗传算法CGA2,保证了在满足截止时间约束条件下,使总体执行花费最小,能够加速收敛并能避免早熟。但该算法中引入协同演化操作会增大计算量,同时由于其本质是一种贪心策略会在某些情况下无法按约束需求得到最优值。



技术实现要素:

有鉴于此,本发明实施例提供了一种工作流调度进化寻优方法及终端设备,以解决现有技术中截止时间约束满足率较低和执行花费较高的问题。

本发明实施例的第一方面,提供了一种工作流调度进化寻优方法,包括:

步骤S1,根据用户输入参数和工作流数据,选取遗传算法种群中染色体作为调度策略信息载体,结合种群规模M、计算资源规模N以及工作流数据设计多重染色体对W的信息编码结构;所述用户输入参数包括截止时间约束参数;

步骤S2,根据所述信息编码结构构造的任一多重染色体对,按照构造方法循环单个多种染色体对构造过程,形成规模为M的均衡混合初始化种群;

步骤S3,根据所述均衡混合初始化种群,构建进化过程,并依据所述用户输入参数调整进化方向,按照所述用户输入参数以及原始适应度修正均值构造改进适应度,并根据所述适应度计算进化过程中种群每条染色体的自适应交叉概率Pc和自适应变异概率Pm,将每条染色体进行基因操作并将所得调度策略存入调度寻优策略池A;

步骤S4,将优选策略池A中的ω条染色体作为截止时间约束下再进化操作的输入,并加入M-ω条随机生成的染色体,获得再进化种群作为步骤S3的输入并按照既定规则迭代执行再进化,所得调度策略均存入调度寻优策略池B;

步骤S5,综合评价调度寻优策略池A和调度寻优策略池B的每条调度策略,匹配截止时间约束条件,并对比截止时间约束满足率和执行花费,评价算法执行效率,最终判定优选调度策略。

可选的,步骤S1中的多重染色体对W的信息编码结构共包含2条染色体,即

多重染色体对W={chromesome1,chromesome2}

chromesome1=sequence of{Pc,Pm,gen0,gen1,…,genk,…,genM-1}

chromesome2={tof0,tof1,…,tofi,…,tofN-1}

假设第i台虚拟机上,执行序列的规模为g,则tofi可表示为:

其中,Pc为染色体的自适应交叉概率;Pm为染色体的自适应变异概率;genk为染色体的k位置上的基因,0≤k<M;vmi为计算资源中第i号虚拟机,0≤i<N; tofi为分配到计算资源vmi的计算任务执行序列;chromesome1染色体中基因gen 的编码为t(vm),表示计算任务t分配计算资源vm;chromesome2染色体中基因 vm表示计算资源,后续基因集合{t}表示分配在该计算资源vm的计算任务。

可选的,根据所述信息编码结构构造的任一多重染色体对,按照构造方法循环单个多种染色体对构造过程,形成规模为M的均衡混合初始化种群,具体过程如下:

按照步骤S1得到的染色体对编码结构,假设使用k种方法构造初始化种群,则按照方法1构造x1条染色体对,按照方法i构造xi条染色体对,按照方法k 构造xk条染色体对,得到规模为M的均衡混合初始种群;其中,k≥2,

可选的,按照所述用户输入参数以及原始适应度修正均值构造改进适应度,并根据所述适应度计算进化过程中种群每条染色体的自适应交叉概率Pc和自适应变异概率Pm,具体过程如下:

对于所述均衡混合初始化种群,按照截止时间约束计算染色体的原始适应度向量Fini,按原始适应度修正均值,构造改进适应度向量Fimp;

利用最大改进适应度值减去当前改进适应度值,并除以最大改进适应度值与改进适应度修正均值的差,得到概率中间变量Vmi;

对改进适应度值小于其修正均值时,概率修正变量取值为1;

对改进适应度值与其修正均值的关系,分别与不同参数相乘,标记为Pc;

取M个目标染色体样本,重复以上过程得到M个Pc值;

基于同样的过程,可得Pm。

可选的,步骤S5中判定优选调度策略的过程具体如下:

对种群中所有染色体执行步骤S2、步骤S3以及步骤S4获得调度寻优策略池A和调度寻优策略池B,以截止时间约束满足率为评价标准,对比步骤S4和步骤S5所获得调度寻优策略池A和调度寻优策略池B;

根据所述用户输入信息,确定次要约束;所述用户输入信息还包括次要约束信息;

若某一调度寻优策略适应度最优且不违反次要截止时间约束,或违反截止时间约束程度相对其他调度寻优策略最小,则判定该调度寻优策略作为目标调度寻优策略,并给出调度结果。

本发明实施例的第二方面,提供了一种终端设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:

步骤S1,根据用户输入参数和工作流数据,选取遗传算法种群中染色体作为调度策略信息载体,结合种群规模M、计算资源规模N以及工作流数据设计多重染色体对W的信息编码结构;所述用户输入参数包括截止时间约束参数;

步骤S2,根据所述信息编码结构构造的任一多重染色体对,按照构造方法循环单个多种染色体对构造过程,形成规模为M的均衡混合初始化种群;

步骤S3,根据所述均衡混合初始化种群,构建进化过程,并依据所述用户输入参数调整进化方向,按照所述用户输入参数以及原始适应度修正均值构造改进适应度,并根据所述适应度计算进化过程中种群每条染色体的自适应交叉概率Pc和自适应变异概率Pm,将每条染色体进行基因操作并将所得调度策略存入调度寻优策略池A;

步骤S4,将优选策略池A中的ω条染色体作为截止时间约束下再进化操作的输入,并加入M-ω条随机生成的染色体,获得再进化种群作为步骤S3的输入并按照既定规则迭代执行再进化,所得调度策略均存入调度寻优策略池B;

步骤S5,综合评价调度寻优策略池A和调度寻优策略池B的每条调度策略,匹配截止时间约束条件,并对比截止时间约束满足率和执行花费,评价算法执行效率,最终判定优选调度策略。

可选的,步骤S1中的多重染色体对W的信息编码结构共包含2条染色体,即

多重染色体对W={chromesome1,chromesome2}

chromesome1=sequence of{Pc,Pm,gen0,gen1,…,genk,…,genM-1}

chromesome2={tof0,tof1,…,tofi,…,tofN-1}

假设第i台虚拟机上,执行序列的规模为g,则tofi可表示为:

其中,Pc为染色体的自适应交叉概率;Pm为染色体的自适应变异概率;genk为染色体的k位置上的基因,0≤k<M;vmi为计算资源中第i号虚拟机,0≤i<N; tofi为分配到计算资源vmi的计算任务执行序列;chromesome1染色体中基因gen 的编码为t(vm),表示计算任务t分配计算资源vm;chromesome2染色体中基因 vm表示计算资源,后续基因集合{t}表示分配在该计算资源vm的计算任务。

可选的,根据所述信息编码结构构造的任一多重染色体对,按照构造方法循环单个多种染色体对构造过程,形成规模为M的均衡混合初始化种群,具体过程如下:

按照步骤S1得到的染色体对编码结构,假设使用k种方法构造初始化种群,则按照方法1构造x1条染色体对,按照方法i构造xi条染色体对,按照方法k 构造xk条染色体对,得到规模为M的均衡混合初始种群;其中,k≥2,

可选的,按照所述用户输入参数以及原始适应度修正均值构造改进适应度,并根据所述适应度计算进化过程中种群每条染色体的自适应交叉概率Pc和自适应变异概率Pm,具体过程如下:

对于所述均衡混合初始化种群,按照截止时间约束计算染色体的原始适应度向量Fini,按原始适应度修正均值,构造改进适应度向量Fimp;

利用最大改进适应度值减去当前改进适应度值,并除以最大改进适应度值与改进适应度修正均值的差,得到概率中间变量Vmi;

对改进适应度值小于其修正均值时,概率修正变量取值为1;

对改进适应度值与其修正均值的关系,分别与不同参数相乘,标记为Pc;

取M个目标染色体样本,重复以上过程得到M个Pc值;

基于同样的过程,可得Pm。

可选的,步骤S5中判定优选调度策略的过程具体如下:

对种群中所有染色体执行步骤S2、步骤S3以及步骤S4获得调度寻优策略池A和调度寻优策略池B,以截止时间约束满足率为评价标准,对比步骤S4和步骤S5所获得调度寻优策略池A和调度寻优策略池B;

根据所述用户输入信息,确定次要约束;所述用户输入信息还包括次要约束信息;

若某一调度寻优策略适应度最优且不违反次要截止时间约束,或违反截止时间约束程度相对其他调度寻优策略最小,则判定该调度寻优策略作为目标调度寻优策略,并给出调度结果。

本发明实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例第一方面所述的任一方法的步骤。

本发明实施例,针对工作流任务集合的特点,基于遗传算法提出一种再进化(Re-Evolution)策略来解决局部最优和收敛速度慢的问题,并提出一种多种染色体对编码结构,可根据工作流任务节点信息充分描述工作流调度策略,进而通过自适应计算截止时间约束下修正均值的相关变量来保证有效基因的存活率,从两个调度寻优资源池中按照既定规则优选最终调度策略。与现有基于进化算法的调度方法对比,该方法减少了计算量,能保证特定应用场景约束需要的满足率,并保证算法可控的执行效率,可避免局部最优和收敛速度慢等问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的工作流调度进化寻优方法框图;

图2是本发明实施例提供的工作流调度进化寻优方法流程图;

图3是本发明实施例提供的科学工作流结构示意图;

图4是本发明实施例提供的工作流调度进化寻优程序的运行环境示意图;

图5是本发明实施例提供的工作流调度进化寻优程序的程序模块图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明是针对工作流任务集合,构建一种基于遗传算法(Genetic Algorithm, GA)的工作流调度进化寻优方法,设计描述多重染色体对编码结构,建立高效的染色体对,构造均衡混合初始化种群,自适应计算基于当代种群适应度的相关变量,设计再进化操作,为工作流调度策略寻优以及收敛加速提供参考实现。

本发明是根据用户提供的截止时间约束,自适应计算相关变量,构建进化过程与再进化过程,综合评定调度策略优劣,并寻优最终结果的计算方法。针对工作流任务集合中任务节点的信息特征,提出了多重染色体对编码结构、均衡混合初始化种群、计算截止时间约束下自适应修正均值的相关变量、再进化策略、调度寻优策略资源池及寻优调度策略等概念,设计了一种新的截止时间约束下的工作流调度进化寻优方法。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

为了准确说明本发明实施例,首先解释如下术语及含义。

任务:指调度进化寻优方法所调度的基本单元。在本发明中使用染色体中基因表示任务。任务具有任务编号、规模、接收数据规模、发送数据规模,以及依赖关系等信息。

资源:资源用于计算任务,在本发明中特指虚拟机。一般地,虚拟机具有虚拟机编号、性能、状态,以及价格等信息。

工作流:任务集合的一种形式。一般地,工作流为包含多个任务及其依赖关系的集合,其中科学工作流是工作流中较为重要复杂的一种。

染色体对:染色体对在本发明中特指所设计的多重染色体对,用来描述工作的主要特征,染色体对中的不同染色体在不同基因操作阶段起到不同作用,亦称为个体。

自适应计算相关变量:调度进化寻优方法中自适应变量,如改良适应度、交叉概率和变异概率、选择概率以及惩罚函数等。通过自适应计算相关变量可避免计算资源异构性和动态性等特性造成的早熟和局部收敛的不足。

基因操作:基因操作主要指本发明进化过程中的交叉、变异及选择等操作。

调度寻优策略资源池:存储调度策略,为再进化和优选调度策略提供支持。

约束:指用户提出的需求,将其作为主要约束条件。本发明以截止时间为主要约束条件,以执行花费为次要约束条件。

约束满足率:对比约束项与约束条件,反复执行若干次,统计满足约束的比率,该比率称为约束满足率,约束满足率越高,相应调度策略越优秀。

适应度:判定调度策略的优劣,是决定进化方向的关键。

再进化:在当前进化所得结果基础上,按照既定规则重新构建再进化种群,再次进化,将再进化结果存入相应调度寻优策略资源池,可避免普通进化结果中陷入局部最优以及早熟的问题。

实施例一

图1与图2分别示出了本发明实施例一提供的工作流调度进化寻优方法的基本构成与实现流程,详述如下:

步骤S1,根据用户输入参数和工作流数据,选取遗传算法种群中染色体作为调度策略信息载体,结合种群规模M、计算资源规模N以及工作流数据设计多重染色体对W的信息编码结构;所述用户输入参数包括截止时间约束参数。

本步骤中,多重染色体对编码结构中包含了多个染色体对,不同染色体中包含着不同信息。在本发明公布的调度进化寻优方法过程中不再依赖工作流数据,而使用多重染色体对描述表示工作流中任务及相关信息。本发明公布的方法选取从工作流提取的任务编号(0-(M-1))、任务数量(M);资源池中虚拟机的编号(0-(N-1))、数量(N);交叉概率和变异概率等信息,设计多重染色体对W编码结构。

其中,本步骤中的多重染色体对W的信息编码结构共包含2条染色体,即

多重染色体对W={chromesome1,chromesome2}

chromesome1=sequence of{Pc,Pm,gen0,gen1,…,genk,…,genM-1}

chromesome2={tof0,tof1,…,tofi,…,tofN-1}

假设第i台虚拟机上,执行序列的规模为g,则tofi可表示为:

其中,Pc为染色体的自适应交叉概率;Pm为染色体的自适应变异概率;genk为染色体的k位置上的基因,0≤k<M;vmi为计算资源中第i号虚拟机,0≤i<N; tofi为分配到计算资源vmi的计算任务执行序列;chromesome1染色体中基因gen 的编码为t(vm),表示计算任务t分配计算资源vm;chromesome2染色体中基因 vm表示计算资源,后续基因集合{t}表示分配在该计算资源vm的计算任务。

步骤S2,根据所述信息编码结构构造的任一多重染色体对,按照构造方法循环单个多种染色体对构造过程,形成规模为M的均衡混合初始化种群。

作为一种可实施方式,本步骤的具体过程如下:

按照步骤S1得到的染色体对编码结构,假设使用k种方法构造初始化种群,则按照方法1构造x1条染色体对,按照方法i构造xi条染色体对,按照方法k 构造xk条染色体对,得到规模为M的均衡混合初始种群;其中,k≥2,设按照步骤(1)所提出编码结构构造任一多重染色体对a;按照多种构造方法循环染色体对构造过程,均衡混合初始化种群为B。如果种群B有M个染色体对,设共有k种方法;方法1构造的染色体对集合为B1;方法2构造的染色体对集合为B2;…;方法k构造的染色体对集合为Bk;则初始化种群B由k 个子种群组成。按照方法1构造x1条染色体对,方法2构造x2条染色体对,…,方法i构造xi条染色体对,...,方法k构造xk条染色体对,得到规模为M的均衡混合初始种群。

设方法1所构成的染色体对集合

方法2所构成的染色体对集合

依次类推,方法k所构成的染色体对集合为

因此,均衡混合初始化种群B的构成为:B={B1,B2,...,Bk}。

步骤S3,根据所述均衡混合初始化种群,构建进化过程,并依据所述用户输入参数调整进化方向,按照所述用户输入参数以及原始适应度修正均值构造改进适应度,并根据所述适应度计算进化过程中种群每条染色体的自适应交叉概率Pc和自适应变异概率Pm,将每条染色体进行基因操作并将所得调度策略存入调度寻优策略池A。

可选的,所述按照所述用户输入参数以及原始适应度修正均值构造改进适应度,并根据所述适应度计算进化过程中种群每条染色体的自适应交叉概率Pc 和自适应变异概率Pm,具体过程如下:

对于所述均衡混合初始化种群,按照截止时间约束计算染色体的原始适应度向量Fini,按原始适应度修正均值,构造改进适应度向量Fimp;

利用最大改进适应度值减去当前改进适应度值,并除以最大改进适应度值与改进适应度修正均值的差,得到概率中间变量Vmi;

对改进适应度值小于其修正均值时,概率修正变量取值为1;

对改进适应度值与其修正均值的关系,分别与不同参数相乘,标记为Pc;

取M个目标染色体样本,重复以上过程得到M个Pc值;

基于同样的过程,可得Pm。

具体的,

其中,Pc(i)表示当代种群中第i条染色体对的交叉概率,Pm(i)表示当代种群中第i条染色体对的变异概率。在式(1)和(2),当第i条染色体对适应度 f(i)小于等于当前种群适应度的修正均值fcavg时,认为该染色体对处于进化过程中的Maturing和Matured阶段,使用交叉参数k1和变异参数k2;当第i条染色体对适应度f'(i)大于等于当前种群适应度的修正均值fcavg时,认为该染色体对处于进化过程中的Initial和Undermatured阶段,使用交叉参数k3和变异参数k4。为了避免突变产生的极差染色体对对种群整体适应度均值的影响,本实施例采用λ修正均值fcavg,其计算如式(3)所示,其中λ表示所需要修正所占种群的百分比,仅用于修正极差染色体对。

式(3)中,Sp表示当前种群的大小,fc(i)表示修正后的种群染色体对适应度。

步骤S4,将优选策略池A中的ω条染色体作为截止时间约束下再进化操作的输入,并加入M-ω条随机生成的染色体,获得再进化种群作为步骤S3的输入并按照既定规则迭代执行再进化,所得调度策略均存入调度寻优策略池B。

本步骤中,按照既定规则将调度寻优策略资源池A中的ω条染色体作为再进化操作的输入,并加入(M-ω)条随机生成的染色体,获得再进化种群作为步骤S3的输入,按照既定规则迭代再进化代数,所得染色体均存入调度寻优策略资源池B,为步骤S5提供调度策略备用资源。

设调度寻优策略资源池A中的存储种群为SA:SA={a0,a1,...,aM-1};

按照既定规则选取的部分种群为S1:S1={ai,ai+1,...ai+ω};

新生成的部分种群为S2:S2={a0,a1,...,aM-1-ω};

因此,所得进化种群为Snew:

Snew={S1,S2}

步骤S5,综合评价调度寻优策略池A和调度寻优策略池B的每条调度策略,匹配截止时间约束条件,并对比截止时间约束满足率和执行花费,评价算法执行效率,最终判定优选调度策略。

可选的,本步骤中判定优选调度策略的过程具体如下:

对种群中所有染色体执行步骤S2、步骤S3以及步骤S4获得调度寻优策略池A和调度寻优策略池B,以截止时间约束满足率为评价标准,对比步骤S4和步骤S5所获得调度寻优策略池A和调度寻优策略池B;

根据所述用户输入信息,确定次要约束;所述用户输入信息还包括次要约束信息;

若某一调度寻优策略适应度最优且不违反次要截止时间约束,或违反截止时间约束程度相对其他调度寻优策略最小,则判定该调度寻优策略作为目标调度寻优策略,并给出调度结果。

具体的,设再进化次数为z;再进化所成的种群为Sr;调度寻优策略池B 中的存储种群集合为SB:SB={Sr1,Sr2,...,Srz};设约束满足率最高的染色体个数为 h个,则集合表示为MB:MB={m0,m1,...,mh-1};设执行花费最低的染色体个数为 e个,则集合表示为CB:CB={c0,c1,...,ce-1}。

对比种群集合SB和种群SA中的每一条染色体,首先对比约束满足率,找到其中约束满足率最高的所有染色体,将这些染色体存入约束满足率染色体集合 MB;如果MB的规模大于1,则遍历集合MB中所有染色体,然后对比执行花费,找到执行花费最低的所有染色体,存入执行花费染色体集合CB;如果CB的规模大于1,则遍历集合CB中所有染色体,再对比方法效率,找到效率最高的所有染色体,如果染色体条数大于1,则随机选取一条染色体作为结果输出。

下面以具体算例说明本实施例的过程。

实验采用科学工作流montage-25,其中25个任务节点,其结构示意图如图3 所示;并使用5台不同类型的虚拟机进行模拟,虚拟机参数设置参照Amazon EC2 配置。

(1)设计多重染色体对编码结构

设多重染色体对描述工作流任务为集合W。限于篇幅,仅列举其中第0个染色体对的数据,

W0={chromesome1,chromesome2}

chromesome1=sequence of{0.45,0.011,T4(0),...T24(4)}

chromesome2=sequence of{vm0,T4,T1,T12,T16,T20,T21,T23}

...

sequence of{vm4,T7,T10,T11,T17,T24}

其中,chromesome1前2个基因0.45,0.011分别为交叉概率和变异概率;后25个基因为计算任务和计算资源的映射对,共27个基因。

同样,chromesome2共有5个子染色体组成,其中子染色体中第1个基因表示所分配的计算资源,后续基因表示1号基因上执行的计算任务。

(2)构造均衡混合初始化种群

根据步骤(1)得到多重染色体对的工作流任务特征集合W共有50个染色体对。例如,选用2种调度算法和随机算法,每种调度各生成15个染色体对,剩余20个染色体对由随机算法生成。

(3)自适应计算相关变量

按公式(1)和(2)自适应计算W中所有染色体对的交叉概率和变异概率,得到概率矩阵P,

并将对应的交叉概率和变异概率写入到对应染色体对的相应基因位。

(4)执行再进化

按照既定规则将调度寻优策略资源池A中的25条染色体对作为再进化操作的输入,并加入25条随机生成的染色体对,获得再进化种群作为步骤(3)的输入,按照既定规则迭代再进化代数,所得染色体对均存入调度寻优策略资源池B,为步骤(5)提供调度策略备用资源。

设调度寻优策略资源池A中的存储种群为SA:

SA={a0,a1,...,a49};

按照既定规则选取的部分种群为S1:

S1={ai,ai+1,...,ai+24};

新生成的部分种群为S2:S2={a0,a1,...,a24};

因此,所得进化种群为Snew:

Snew={S1,S2}

限于篇幅,仅列举其中第0个染色体对的数据,

W0={chromesome1,chromesome2}

chromesome1=sequence of{0.25,0.002,T0(2),...,T24(3)}

chromesome2=sequence of{vm0,T4,T1,T3,...,T14,T16,T22}

...

sequence of{vm4,T10,T20,T17,T19,T21,T23}

(5)优选调度策略

综合评价调度寻优策略池A和调度寻优策略池B中的每条染色体,对比适应度值和执行花费,匹配约束条件,最终判定优选调度策略Final。

Final={chromesome1,chromesome2}

chromesome1=sequence of{0.07,0.001,T0(2),...,T24(2)}

chromesome2=sequence of{vm0,T4,T1,T3,...,T14,T17,T21}

...

sequence of{vm4,T10,T20,T16,T19,T22}

本实施例与其它两种方法的结果对比如表1所示,如在应用要求截止时间约束为328.7单位时间时本发明提出的约束满足率为100%,执行花费为13.2单位花费;PSO方法的约束满足率为10%,执行花费为41.6单位花费;CGA2方法的约束满足率为60%,执行花费为18.9单位花费。由表可知,在给定截止时间约束下,本发明的调度进化寻优方法比PSO与CGA2调度方法约束满足率更高,执行花费更低。

表1本实施例方法与其它方法的结果对比

上述工作流调度进化寻优方法,针对工作流任务集合的特点,基于遗传算法提出一种再进化(Re-Evolution)策略来解决局部最优和收敛速度慢的问题,并提出一种多种染色体对编码结构,可根据工作流任务节点信息充分描述工作流调度策略,进而通过自适应计算截止时间约束下修正均值的相关变量来保证有效基因的存活率,从两个调度寻优资源池中按照既定规则优选最终调度策略。与现有基于进化算法的调度方法对比,该方法减少了计算量,能保证特定应用场景约束需要的满足率,并保证算法可控的执行效率,可避免局部最优和收敛速度慢等问题。经验证,本发明公布的截止时间约束下的工作流调度进化寻优方法能满足指定应用的实际需求,在基于截止时间约束的工作流调度寻优领域有广泛的参考价值。

对应于上文实施例所述的工作流调度进化寻优方法,图4示出了本发明实施例提供的工作流调度进化寻优程序的运行环境示意图。为了便于说明,仅示出了与本实施例相关的部分。

在本实施例中,所述的工作流调度进化寻优程序400安装并运行于终端设备40中。该终端设备40可包括,但不仅限于,存储器401和处理器402。图4 仅示出了具有组件401-402的终端设备40,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器401在一些实施例中可以是所述终端设备40的内部存储单元,例如该终端设备40的硬盘或内存。所述存储器401在另一些实施例中也可以是所述终端设备40的外部存储设备,例如所述终端设备40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器401还可以既包括所述终端设备40的内部存储单元也包括外部存储设备。所述存储器401用于存储安装于所述终端设备40的应用软件及各类数据,例如所述工作流调度进化寻优程序400 的程序代码等。所述存储器401还可以用于暂时地存储已经输出或者将要输出的数据。

所述处理器402在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器401中存储的程序代码或处理数据,例如执行所述工作流调度进化寻优程序400等。

该终端设备40还可包括显示器,所述显示器在一些实施例中可以是LED 显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。

请参阅图5,是本发明实施例提供的工作流调度进化寻优程序400的程序模块图。在本实施例中,所述的工作流调度进化寻优程序400可以被分割成一个或多个模块,所述一个或者多个模块被存储于所述存储器401中,并由一个或多个处理器(本实施例为所述处理器402)所执行,以完成本发明。例如,在图 5中,所述的工作流调度进化寻优程序400可以被分割成信息编码结构设计模块 501、均衡混合初始化种群形成模块502、调度寻优策略模块503和判定模块504。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述工作流调度进化寻优程序400在所述服务器40中的执行过程。以下描述将具体介绍所述模块501-504的功能。

其中,信息编码结构设计模块501,用于根据用户输入参数和工作流数据,选取遗传算法种群中染色体作为调度策略信息载体,结合种群规模M、计算资源规模N以及工作流数据设计多重染色体对W的信息编码结构;所述用户输入参数包括截止时间约束参数。

均衡混合初始化种群形成模块502,用于根据所述信息编码结构构造的任一多重染色体对,按照构造方法循环单个多种染色体对构造过程,形成规模为M 的均衡混合初始化种群。

调度寻优策略模块503,用于根据所述均衡混合初始化种群,构建进化过程,并依据所述用户输入参数调整进化方向,按照所述用户输入参数以及原始适应度修正均值构造改进适应度,并根据所述适应度计算进化过程中种群每条染色体的自适应交叉概率Pc和自适应变异概率Pm,将每条染色体进行基因操作并将所得调度策略存入调度寻优策略池A;以及

将优选策略池A中的ω条染色体作为截止时间约束下再进化操作的输入,并加入M-ω条随机生成的染色体,获得再进化种群作为步骤S3的输入并按照既定规则迭代执行再进化,所得调度策略均存入调度寻优策略池B;

判定模块504,用于综合评价调度寻优策略池A和调度寻优策略池B的每条调度策略,匹配截止时间约束条件,并对比截止时间约束满足率和执行花费,评价算法执行效率,最终判定优选调度策略。

作为一种可实施方式,多重染色体对W的信息编码结构共包含2条染色体,即

多重染色体对W={chromesome1,chromesome2}

chromesome1=sequence of{Pc,Pm,gen0,gen1,…,genk,…,genM-1}

chromesome2={tof0,tof1,…,tofi,…,tofN-1}

假设第i台虚拟机上,执行序列的规模为g,则tofi可表示为:

其中,Pc为染色体的自适应交叉概率;Pm为染色体的自适应变异概率;genk为染色体的k位置上的基因,0≤k<M;vmi为计算资源中第i号虚拟机,0≤i<N; tofi为分配到计算资源vmi的计算任务执行序列;chromesome1染色体中基因gen 的编码为t(vm),表示计算任务t分配计算资源vm;chromesome2染色体中基因 vm表示计算资源,后续基因集合{t}表示分配在该计算资源vm的计算任务。

作为另一种可实施方式,均衡混合初始化种群形成模块502具体用于:

按照步骤S1得到的染色体对编码结构,假设使用k种方法构造初始化种群,则按照方法1构造x1条染色体对,按照方法i构造xi条染色体对,按照方法k 构造xk条染色体对,得到规模为M的均衡混合初始种群;其中,k≥2,

可选的,调度寻优策略模块503按照所述用户输入参数以及原始适应度修正均值构造改进适应度,并根据所述适应度计算进化过程中种群每条染色体的自适应交叉概率Pc和自适应变异概率Pm,具体过程如下:

对于所述均衡混合初始化种群,按照截止时间约束计算染色体的原始适应度向量Fini,按原始适应度修正均值,构造改进适应度向量Fimp;

利用最大改进适应度值减去当前改进适应度值,并除以最大改进适应度值与改进适应度修正均值的差,得到概率中间变量Vmi;

对改进适应度值小于其修正均值时,概率修正变量取值为1;

对改进适应度值与其修正均值的关系,分别与不同参数相乘,标记为Pc;

取M个目标染色体样本,重复以上过程得到M个Pc值;

基于同样的过程,可得Pm。

进一步的,判定模块504具体用于:

对种群中所有染色体执行步骤S2、步骤S3以及步骤S4获得调度寻优策略池A和调度寻优策略池B,以截止时间约束满足率为评价标准,对比步骤S4和步骤S5所获得调度寻优策略池A和调度寻优策略池B;

根据所述用户输入信息,确定次要约束;所述用户输入信息还包括次要约束信息;

若某一调度寻优策略适应度最优且不违反次要截止时间约束,或违反截止时间约束程度相对其他调度寻优策略最小,则判定该调度寻优策略作为目标调度寻优策略,并给出调度结果。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器 (Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1