CN114595914A - 一种面向云环境的工作流调度方法及*** - Google Patents

一种面向云环境的工作流调度方法及*** Download PDF

Info

Publication number
CN114595914A
CN114595914A CN202110848307.7A CN202110848307A CN114595914A CN 114595914 A CN114595914 A CN 114595914A CN 202110848307 A CN202110848307 A CN 202110848307A CN 114595914 A CN114595914 A CN 114595914A
Authority
CN
China
Prior art keywords
population
cloud environment
workflow
solution
sequence
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
CN202110848307.7A
Other languages
English (en)
Other versions
CN114595914B (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.)
North China University of Technology
Original Assignee
North China University of Technology
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 North China University of Technology filed Critical North China University of Technology
Priority to CN202110848307.7A priority Critical patent/CN114595914B/zh
Publication of CN114595914A publication Critical patent/CN114595914A/zh
Application granted granted Critical
Publication of CN114595914B publication Critical patent/CN114595914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Educational Administration (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种面向云环境的工作流调度方法,包括:向云环境提交待调度的任务工作流;获取工作流对应的服务需求;基于当前的云环境,按照预设的种群规模随机初始化种群;以工作流对应的服务需求为优化目标,采用第二代非支配排序遗传算法对初始化种群进行多次遗传迭代直至达到预设的最大迭代次数以获得最终种群;在种群迭代过程中云环境发生变化时,基于当前种群中的个体,采用预先训练好的序列到序列模型根据历史云环境中非支配解的变化规律预测发生变化后的云环境对应的新个体,并将新个体放入当前种群中进行下一次遗传迭代直至达到预设的最大迭代次数;选取最终种群中的非支配解以将任务工作流中的任务按照非支配解对应的虚拟机编号序列分配到虚拟机。

Description

一种面向云环境的工作流调度方法及***
技术领域
本发明涉及云计算领域,具体来说,涉及云环境中的任务执行领域,更具体地说,涉及一种面向云环境的工作流调度方法。
背景技术
工作流经常被用于模拟生物信息学、天文学和物理学等领域的大规模科学问题,这些工作流通常被建模为通过数据或计算依赖相互连接的一组任务。物联网场景下,传感器数据、采集的实时视频数据等实时流数据需要经过多个处理任务最终为智能决策服务,这些处理任务通常以工作流的形式进行组织表示,并且需要高性能的计算环境来满足用户需求。云计算作为分布式计算、网格计算和并行计算的最新发展,能够提供大规模的计算资源,是运行大规模工作流的适用环境。因此,如何将工作流应用中的任务映射到云环境或云边环境下的可用资源上,并尽可能的优化QoS中的目标,是分布式的工作流调度的主要关注点。一种常见的做法是将QoS中的多目标进行线性组合,将其转换成单目标优化问题进行求解,然而,该方法受限于如何正确的设置权重参数。另一种方法是将该问题建模为带约束的多目标优化问题,采用多目标进化算法可以在较短时间内求得多样性和收敛性都较好的非支配解集。然而,对于面向物联网数据处理的工作流而言,数据源产生数据的速率可能随时间发生巨大的变化,而基础的静态多目标进化算法由于种群搜索具有很强的趋同性,导致当环境发生变化时种群可能缺失多样性,无法得出在新环境下多样性较好的非支配解集,从而无法很好的适应目标函数、约束、环境参数或问题表征随时间变化带来的不确定性。虽然环境变化时重新初始化种群可以解决该问题,但是种群重新收敛的过程会明显降低算法效率。
发明内容
如上述所言,发明人在实际研究中发现由于不能在动态的环境中维持种群多样性,静态的多目标进化算法往往无法很好地适应环境变化。因此,本发明的目的在于克服上述现有技术的缺陷,提供一种能够在动态变化的环境中维持种群多样性的面向云环境的工作流调度方法及***。
根据本发明的第一方面,提供一种面向云环境的工作流调度方法,用于为云环境选择调度方案并基于调度方案将云环境相关的任务工作流分配到云环境上的虚拟机进行执行,所述方法包括:向云环境提交流数据工作流应用,其中,所述流数据工作流应用是待调度的任务工作流;获取待调度的工作流对应的服务需求和约束;基于当前的云环境,按照预设的种群规模随机初始化种群,种群中的每一个个体对应一个调度方案,其中,所述调度方案是执行任务工作流的虚拟机编号序列,调度方案中的每一位对应的是工作流中的任务要分配的虚拟机编号;以工作流对应的服务需求为优化目标,采用第二代非支配排序遗传算法对初始化种群进行多次遗传迭代直至达到预设的最大迭代次数以获得最终种群;在种群迭代过程中云环境发生变化时,基于当前种群中的个体,采用预先训练好的序列到序列模型根据历史云环境中非支配解的变化规律并预测发生变化后的云环境对应的新个体,并将新个体放入当前种群中进行下一次遗传迭代直至达到预设的最大迭代次数;选取最终种群中的非支配解,基于该非支配解进行工作流调度以将任务工作流中的任务按照非支配解对应的虚拟机编号序列分配到虚拟机,其中,所述非支配解是指种群中使服务需求最优化的个体。
优选的,通过如下方式对序列到序列模型进行预先训练:S1、针对多个连续变化的云环境,获取每个云环境对应的非支配解集,其中,每个非支配解集包含多个非支配解;S2、将相邻云环境中的非支配解集中的非支配解进行单向配对得到非支配解对,非支配解对由前一个云环境的非支配解集中的非支配解指向后一个云环境的非支配解集中欧式距离最近的非支配解,其中,每个非支配解只配对一次;S3、用所有非支配解对组成的数据集对序列到序列模型进行训练至收敛。优选的,所述序列到序列的模型包括编码器和解码器,其中,所述编码器被配置为包含128个神经元的循环神经网络,所述解码器被配置为包含128个神经元的循环神经网络和一个线性层。在本发明的一些实施例中,对序列到序列模型进行训练时,用交叉熵损失函数计算损失,当损失误差小于或等于0.05时判断为收敛。
优选的,每个云环境对应的非支配解集通过如下方式获取:基于当前云环境,采用第二代非支配排序遗传算法进行预设轮数的遗传迭代获得多个最终种群,并从每个最终种群中选取非支配解经过合并去重以组成该云环境对应的非支配解集;其中,每轮遗传迭代是指,基于当前的云环境,按照预设的种群规模随机初始化种群,采用第二代非支配排序遗传算法对初始化种群进行多次遗传迭代直至达到预设的最大迭代次数获得最终种群。所述预设轮数为大于或等于100的整数。
在本发明的一些实施例中,所述方法还包括:在种群迭代过程中云环境发生变化时,基于当前云环境的非支配解集,采用预先训练好的序列到序列模型根据历史云环境中非支配解的变化规律预测发生变化后的云环境对应的新个体,并将新个体放入当前种群中进行下一次遗传迭代直至达到预设的最大迭代次数。
在本发明的一些实施例中,所述服务需求包括:总成本、和/或最大完工时间、和/或任务分配的不平衡度,优化目标是总成本最低、和/或最大完工时间最短、和/或任务分配的不平衡度最小。
优选的,所述预设的种群规模为大于或等于100的整数,所述预设的迭代次数为大于或等于500的整数。
根据本发明的第二方面,提供一种面向云环境的工作流调度***,配置于云环境中,用于为云环境选择合适的调度方案以将云环境相关的任务工作流分配到云环境上的虚拟机进行执行,所述***包括:任务接口模块,用于获取待调度的任务工作流;NSGA-Ⅱ模块,用于对基于当前云环境按照预设的种群规模随机初始化的种群进行多次遗传迭代直至达到预设的最大迭代次数以获得最终种群;Seq2Seq模型,用于在种群迭代过程中云环境发生变化时,基于当前种群中的个体,根据历史云环境中非支配解的变化规律预测发生变化后的云环境对应的新个体,并将新个体放入当前种群进行下一次遗传迭代;调度引擎,用于从最终种群中选取非支配解,并基于该非支配解进行工作流调度以将任务工作流中的任务按照非支配解对应的虚拟机编号序列分配到虚拟机,其中,所述非支配解是指种群中使服务需求最优化的个体。优选的,所述预设的种群规模为大于或等于100的整数,所述预设的迭代次数为大于或等于500的整数。
与现有技术相比,本发明的优点在于:通过Seq2Seq模型在环境发生变化时预测新个体加入种群中参与迭代,很好的解决了静态目标优化中的种群多样性确实问题,加速种群收敛,能够获得多样性和收敛性较好的非支配解集。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的Seq2Seq模型采用的RNN标准结构示意图;
图2为根据本发明实施例的采用图1所示的RNN标准结构的Seq2Seq模型结构示意图:
图3为根据本发明实施例的将工作流建模示例示意图;
图4位根据本发明实施例的子区域示例示意图;
图5为根据本发明实施例的面向云环境的工作流调度方法流程示意图;
图6为根据本发明实施例的单次NSGA-II算法和多次NSGA-II算法的非支配解对比示意图;
图7为根据本发明实施例的连续环境非支配解运动示意图;
图8为根据本发明实施例的Seq2Seq模型学习调度方案变化规律示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
发明人通过研究发现,工作流执行环境的变化往往是连续且相关的,动态的环境变化可能显示出一些可预测的模式,因此在下述的实施例中利用过去的环境信息以及对应的解,来预测连续环境变化下的新的解。这样,当环境发生变化需要重新优化时,可将预测得到的解加入种群中共同进化,从而可以很好地解决种群多样性缺失问题,还可以帮助算法在新环境下快速收敛。
在本发明的实施例中,将面向物联网数据处理的工作流在云上的动态调度问题建模为动态多目标优化问题,其中动态性来源于负载变化,优化的目标包括最大完工时间、总成本和不平衡度。为了解决多目标进化算法带来的多样性缺失和动态调度的实时性要求,本发明提出了DNSGA-II-Seq2Seq方法,该算法利用Seq2Seq模型学习连续环境下的局部非支配解变化规律,预测新环境下适应性更好的解,增加种群多样性。其中,局部非支配解是指在某个环境下对应的种群中使目标最优化的个体。
为了更好的理解本发明,下面简单介绍一下本发明相关的概念。其中,需要说明的是,由于在概念说明过程中有很多公式,公式用到的字母变量较多,字母数量有限,无法避免重复使用同样的字母表示不同的变量的问题,因此,在每部分描述中均对变量的含义做了进一步的限定,以区分在不同的地方同一个字母表示的不同变量。
1、多目标优化问题
多目标优化问题(Multi-objective Optimization Problem,MOP)一般由决策变量、目标函数和约束条件组成,可以写成如公式(1)所示:
miny=F(x)=[f1(x),f2(x),…,fm(x)] (1)
s.t.gi(x)≤0,i=1,2,3,…p
hi(x)=0,i=1,2,3,…q
其中,需要说明的是,公式中(1)中,F(x)表示要优化的函数组成的目标向量,x=(x1,x2,…,xn)∈D称之为决策向量,此处的n表示决策向量的个数,y=(f1(x),f2(x),…,fm(x))∈Y称之为目标向量,此处的m表示需要优化的目标个数,gi(x)和hi(x)称之为约束条件,p、q分别代表两个约束条件的个数,此处的i表示第i个约束条件,D为决策空间,Y为目标空间。
给出如下定义:
定义1:对于MOP问题的两个可行解x1和x2,其对应的目标函数为F(x1)和F(x2)满足公式(2)和公式(3):
Figure BDA0003181522950000051
Figure BDA0003181522950000052
则称可行解x1帕累托(Pareto)支配x2,记为x1>x2,此处公式(2)和公式(3)中的i表示第i个优化目标。
定义2:对于MOP问题的可行解x*,若对于
Figure BDA0003181522950000053
均不存在x帕累托支配x*,则称可行解x*为非支配解,也可称之为Pareto最优解。由所有非支配解组成的集合,称之为Pareto最优解集(POS,Pareto Optimal Set)。
2、第二代非支配排序遗传算法(NSGA-II算法)
NSGA算法通过基于非支配排序的方法保留了种群中的优良个体,并且利用适应度共享函教保持了群体的多样性,然而非支配排序的算法复杂度较高,且缺少精英策略。NSGA-II算法在此基础之上进行了改进,提出了快速非支配排序算法,同时引入了精英策略、拥挤度和拥挤度比较算子,将拥挤度作为种群中个体之间的比较准则,使得准Pareto域中的种群中个体能均匀扩展到整个Pareto域,从而保证了种群的多样性。
NSGA-II算法的基本思想可总结为:首先,随机产生规模为N(N为预设的种群规模)的初始种群,非支配排序后通过遗传算法的选择、交叉、变异三个基本操作得到第一代子代种群;接着,从第二代开始,将父代种群与子代种群合并,进行快速非支配排序,同时对每个非支配层中的个体进行拥挤度计算,根据非支配关系以及个体的拥挤度选取合适的个体组成新的父代种群;最后,通过遗传算法的基本操作产生新的子代种群;依此类推,直到满足结束的条件获得最终种群。
3、序列到序列模型(Seq2Seq模型)
Sequence-to-sequence(Seq2Seq)模型是目前自然语言处理技术中使用较多的一个模型,简单来说它是一个翻译模型,把一个语言序列翻译成另一种语言序列,它由编码器(encoder)和解码器(decoder)两部分组成,encoder和decoder可以由CNN(卷积神经网络)、RNN(循环神经网络)、Transformer三种结构中的任意一种组合。为方便描述,在本发明的下述实施例中采用的是RNN-RNN结构的Seq2Seq模型,其中RNN采用如图1所示的标准结构,所组成的Seq2Seq模型结构示意图如图2所示。其中,在图1中,X(*)表示输入序列,Y(*)表示输出,H(*)表示隐藏状态信息,RNN标准结构是神经网络常见结构,此处不再过多赘述。在图2中,X1、X2、X3、X4表示输入,C1、C2、C3表示输入数据经编码器编码后的向量,Y1、Y2、Y3表示经解码器解码后的输出序列。可以看出,图2所示的Seq2Seq模型的基本思想是利用两个RNN,一个RNN作为encoder,另一个RNN作为decoder,encoder负责将输入序列压缩成指定长度的向量,这个向量就可以看成是这个序列的语义,这个过程称为编码,decoder则负责根据语义向量生成指定的序列,这个过程也称为解码。在本发明实施例中要处理的是工作流,其对应的调度方案是虚拟机编号序列。
下面结合附图对本发明的实施例进行详述。在本发明的实施例中,首先对流数据处理工作流应用进行建模,然后将工作流在云环境上的调度问题转化为多目标优化问题来进行考虑和求解。如背景技术提到的,工作流通常被建模为通过数据或计算依赖相互连接的一组任务,由此在本发明的一个实施例中,将工作流应用W=(T,E)建模为一个有向无环图(DAG),其中T=(t1,t2,…,tn)代表任务集合,此处的n代表任务个数,E=(e1,e2,…,em)代表有向边集合,此处的m代表有向边个数。图3示出了一个工作流建模图的示例,其中(t1,t2,…,t8)代表任务集合,(e1,e2,…,e8)代表有向边集合。对于流数据处理工作流应用,数据源产生数据的速率会发生变化,因此工作流中单个任务单位时间需要处理的数据量也会发生变化。对此,在本发明的一个实施例中,进一步将每个服务单元(任务)建模ti=(MIi,λi,γi)(此处的i表示任务集合T中的第i个任务),其中MIi表示该单元处理一个单位数据需要的工作量,λi表示接入的数据流速率,γi表示该服务产生的数据流速率。
在本发明的一个实施例中,还可以对云环境中的边缘计算环境进行了一些简化,将云环境、边缘环境建模为多个集群中心的全连接环境,工作流应用表示为W=(C,B,D),只是在设置带宽和计算能力的时候,将区别出云中的主机和边缘服务器上的主机。其中此处的C=(c1,c2,…,cn)代表的是云、边、端的混合环境,此处的n代表集群中心个数,可以表示为多个集群的拓扑连接,B、D分别是带宽矩阵和数据传输代价矩阵。对于单个集群中心Cg,有
Figure BDA0003181522950000071
其中
Figure BDA0003181522950000072
表示集群中心Cg中编号为i的具体虚拟机,Ug表示集群中心Cg中的各虚拟机内部的带宽。对于单台虚拟机
Figure BDA0003181522950000073
Figure BDA0003181522950000074
其中
Figure BDA0003181522950000075
代表计算能力,
Figure BDA0003181522950000076
代表计算代价。
在本发明的一个实施例中,工作流调度的目标是总成本、最大完工时间和任务分配不平衡度的最小化,下面跟数据上述实施例中的描述对这三个目标进行介绍。
总成本,也称总代价,由计算代价和传输代价两部分组成。当任务实例运行开始后,接入该任务的数据需要传输代价,处理数据过程需要计算代价。本发明的实施例中,计算代价的计算方式是根据部署的虚拟机每秒运算的浮点数转化为需要执行的时间,再根据执行时间转化为计算代价,传输代价指的是由所有的父亲节点传输到该任务中的数据传输代价之和,计算方式如公式(4)所示:
Figure BDA0003181522950000081
Figure BDA0003181522950000082
其中,tn指需要计算传输代价的单个任务n,传输代价指的是由所有的父亲节点传输到该任务中的数据传输代价之和,ti指的是tn的父亲节点中的第i个,c(ti)指单个父亲节点ti传输到tn的传输代价。如果父亲节点和子节点在同一虚拟机上,则不存在传输代价。如果不在同一虚拟机上,传输代价等于传输量乘以传输代价矩阵,out(tn)指父节点传输量,D代表传输代价矩阵,D(Cg(ti),Cg(tn))代表ti和tn两个节点的单位传输代价
***最大完成时间指的是工作流中所有任务单元都完成的时间。工作流中任务的执行必须满足其定义的数据依赖关系,所以每个任务执行必须等待其所有前驱任务执行完毕,故有如下公式(6)(7)(8),其中TFinal代表***最大完成时间。
Figure BDA0003181522950000083
Figure BDA0003181522950000084
Figure BDA0003181522950000085
任务分配的不平衡度主要计算分配到不同数据中心上任务个数的差异,计算方式如公式(9)所示,其中,N代表每个集群上所分配到的任务数,Nmax代表最大任务数,Nmin代表最小任务数,Navg代表平均任务数:
Figure BDA0003181522950000086
在完成上述的对流数据处理工作流应用的建模之后,便可以将工作流在云环境上的调度问题转化为多目标优化问题进行考虑和求解。
需要说明的是,将工作流调度问题转换为多目标优化问题进行求解时,决策变量对应的是调度方案,调度方案是执行任务工作流的虚拟机编号序列,调度方案中的每一位对应的是工作流中的任务要分配的虚拟机编号,所有的决策变量组成决策空间。目标函数对应的是用户指定的目标(即服务需求),在本发明的实施例中包括总成本、最大完工时间和任务分配的不平衡度;约束条件对应的是决策向量转换为调度方案的一些约束,包括决策向量中的值必须是大于零的整数且小于最大虚拟机编号(因为调度方案的每一位对应的是要分配的虚拟机编号)。目标空间对应的是由所有的决策向量的在所有目标函数上的目标值组成的空间,在此可以理解为每个调度方案对应的总成本、最大完工时间和不平衡度构成的目标向量组成的空间。
此外,为了方便理解,对子区域进行说明。在决策空间中,每个调度方案可以看作为该区域的一个点,同时每个调度方案对应的目标向量在目标空间中也可以看作一个点,对于每个非支配解来说,它可以帕累托支配的解组成的区域,可以看作是整个决策空间的一个子区域,该非支配解就是该区域的局部最优解。简单的采用两个目标的情况来说明,此时目标函数只有两个,也就是说目标向量是二维的,目标空间也是二维的。如图4所示,每个点代表的是每个决策向量(即调度方案)在这两个目标上的对应的目标向量(即需要优化的目标值,设定为越小越好)。可以看出,空心的圆点无法被其他点支配,这些点称之为非支配解,如图中的非支配解t,对于t而言,决策空间中存在被t支配的解,即图4中方框中的黑色的点,而这些被t支配的解可以组成一个区域,也即图中的子区域,在这个子区域中的解都被t支配,因此非支配解t也可以称之为该区域的局部最优解。
动态工作流调度问题是一个具有动态特性的多目标优化问题,需要算法有效地响应环境变化,而传统的静态多目标优化无法有效的响应环境变化。在本发明的实施例中采用预测模型,由预测模型来学习连续环境下局部最优解的变化规律,即学习连续环境下任务分配的虚拟机编号序列的变化规律,在环境发生变化时预测新的个体并将新个体加入种群中进行遗传迭代来解决环境变化时的种群多样性缺失问题。
本发明的实施例采用基于预测模型的方法主要有两方面的考虑。首先是算法的收敛速度,种群随机初始化个体可能会导致算法收敛速度降低,并且在环境快速变化时可能无法收敛,不适用于动态的流数据处理工作流调度问题。而加入预测模型的方法在环境变化时可以预测产生一些能较好适应新环境的解,帮助算法快速收敛。其次是算法使用的存储资源,对于数据产生速率的连续变化,若采用基于内存模型的算法,则可能需要存储大量的数据,不仅耗费的存储资源较多,且重用速率也会相应降低。而基于预测模型的方法在完成模型的训练后,只需存储模型相关数据即可。在本发明的实施例中采用了Seq2Seq预测模型后,通过学习连续环境下局部最优解的变化规律,即学习连续环境下任务分配的虚拟机编号序列的变化规律,可以预测变化后的环境中在服务需求上适应度较好的调度方案。
在本发明的实施例中,首先采用NSGA-II算法求得单个环境下的非支配解集,然后根据环境变化的连续性以及局部最优解的对应关系构建数据集,最后采用Seq2Seq模型学习局部最优解变化规律。模型训练完成后,在NSGA-II算法迭代过程中,若云环境发生变化(如数据产生速率变化),则通过Seq2Seq模型根据当前环境的非支配解预测新环境下的个体,加入种群中参与迭代进化,以此增加种群多样性,并且加快收敛。
为了更好的理解本发明,下面结合附图和实施例从收集数据、数据集构建和Seq2Seq模型几个方面进行更详细的说明。
图5示出了根据本发明的一个实施例的一种面向云环境的工作流调度方法的流程图,如图5所示,主要包括如下步骤:
T1、提交流数据工作流应用:即需要在云环境上调度的工作流应用;
T2、指定服务需求和约束:服务需求即需要优化的目标,本发明的实施例中采用的是总成本、最大完工时间和任务分配的不平衡度,约束指的是决策向量转换为调度方案的一些约束;
T3、收集过去连续环境下的非支配解集:即收集在之前的云环境下的局部最优的调度方案组成的集合;由前面的描述可知,由NSGA-II算法得到的非支配解集可以很好的表示从每个子区域中找到的局部最优解,然而,NGSA-II算法中种群的随机初始化过程给算法带来了一些随机性,因此如果在某种环境下只做一次NSGA-II算法,可能带来一些噪声数据。针对此问题,在本发明的一个实施例中对同一环境重复进行K(K是预设的轮数,例如,预设的轮数可以为大于100的整数)次NSGA-II算法,得到K个不同的非支配解集,然后对非支配解集进行合并去重,再进行快速非支配排序,最终只取合并后的解集中的非支配解。如图6所示为单次NGSA-II算法和多次NGSA-II算法得到的非支配解集对比图,其中,离散的点为单词NGSA-II算法得到的非支配解,线条为多次NGSA-II算法得到的非支配解,由图6可以看出,多次算法得到的解集从多样性和目标空间的值都明显优于单次算法得到的解。每个环境下最终获取的非支配解集,在本文中可称之为存档R。
T4、构建数据集:根据步骤T3中收集到的非支配解集构建用于训练序列到序列模型的数据集。通过步骤T3收集的每一环境下的存档R1,R2,…,Rm,此处的m代表环境存档的个数,构建训练集来学习局部最优的变化规律。对于两个连续环境Rj-1和Rj,两个相邻最近的局部最优解属于同一个子区域,可以成对表示局部最优解的运动,如图7所示的为两个连续环境中的局部最优解的运动,通过计算解在决策空间的欧式距离来找寻非支配解的对应关系,计算方法如公式(10)所示:
Figure BDA0003181522950000111
其中,p和t分别代表来自于Rj-1和Rj的解,D代表决策空间的维数,通过欧式距离不断找寻距离最近的非支配解对,所有的非支配解对组成训练数据集V={(p1,t1),……,(pQ,tQ)},需要说明的是,每个非支配解只能配对一次,如果上一环境存在的解和下一环境存档的解数量不相同,只取欧式距离最近的非支配解对;
T5、Seq2Seq模型训练:采用上一步构建好的数据集对Seq2Seq模型进行训练。如前文所述,Seq2Seq模型由Encoder和Decoder两部分组成,本发明采用了简单的RNN来实现这两部分,把Encoder的输入称为enc_input,Decoder输入称为dec_input,Decoder的输出称为dec_output,对于Encoder,只需计算enc_input输入后的最后一个时刻隐藏状态的信息的输出,然后将Encoder的输出作为Decoder初始时刻隐藏状态的输入,同时输入要映射的序列的第一位,得到输出的第一位,以及新的隐藏状态。重复上述步骤,得到dec_output,将dec_output输入线性层以将dec_output转换为序列。由于Seq2Seq模型的训练过程是现有技术,此处不再赘述。Seq2Seq模型常用于自然语言翻译,可以很好的将学习语言序列之间的对应关系。本发明将调度方案看作虚拟机编号的序列,通过上一步构建的数据集就可以学习到不同环境下局部最优的调度方案的变化规律,如图8所示为一个Seq2Seq模型学习调度方案变化规律示意图,经过训练后的Seq2Seq模型根据上一环境的调度方案即可预测下一环境的调度方案。
T6、初始化种群:NSGA-II需要随机生成一些个体,然后由这些个体组成种群,这里为按照预设的种群规模随机生成一些调度方案;根据本发明的一个实施例,预设的种群规模为大于100的整数。
T7、迭代进化:静态的NSGA-II算法主要是根据个体的适应度高低(即在各目标上的好坏)挑选适应度高的个体,然后进行交叉变异等操作产生下一代。这样,种群中优秀的基因就会被遗传下来,种群中的个体也会向目标优化,当达到预设的最大迭代次数之后,取种群的非支配解,然后按照非支配解对应的调度方案中虚拟机编码序列,将工作流中的任务按序分配虚拟机和其他资源,算法结束。根据本发明的一个实施例预设的最大迭代次数为大于500的整数。
其中,如果在种群迭代进化的过程中云环境发生变化,因为种群迭代的原因,个体可能都已经向着某个方向进行进化,在新环境下个体的多样性可能缺失。此时,通过训练好的Seq2Seq模型,将当前环境下的调度方案映射到新环境下适应得比较好的调度方案,将这些调度方案(即种群的个体)增加到种群中,再共同迭代进化,就可以解决种群多样性缺失的问题。
为了验证本发明的效果,下面结合实验数据来具体说明。
本发明的实验是基于改进后的WorkflowSim仿真平台完成的,为了验证方法的有效性,以经典科学工作流作为基础工作流,还通过修改接入服务单元的数据量作为数据负载的动态变化。算法实现和相关对比算法的实现用Python编程语言完成,并且都在同一配置(Intel(R)Core(TM)i5-3470 [email protected],16G内存)的Windows10机器上进行实验。模拟的云环境为20台虚拟机、虚拟机的内存512M、MIPS位300万,种群规模100,最大迭代次数500,预设轮数100。
为了验证本发明所提出的DNSGA-II-Seq2Seq算法的有效性,发明人选取了另外两种动态多目标优化算法,包括DNSGA-II-A算法和NN-DNSGA-II算法。其中,DNSGA-II-A算法是在NSGA-II算法的基础上进行了改进,当环境发生变化时,该算法可以随机初始化一些个体加入种群中,从而解决算法在新环境下种群多样性缺失的问题,但是随机的过程可能导致结果波动性较大。NN-DNSGA-II算法是由Ismayilov等人提出的,它同样采用了模型预测的方法来应对环境变化,该算法采用的模型为简单的全连接网络模型,而该模型并不能很好的学习到解与解之间的映射关系。
为了便于理解,本文中从两个方面来评价说明DNSGA-II-Seq2Seq算法的有效性。一方面评价的是加入种群的新的个体的好坏,另一部分则是评价加入这些个体后的NSGA-II算法在新环境下收敛得出的非支配解集的好坏。
在本文中评价新个体的好坏,采用的是HV(Hypervolume,超体积)指标。该指标可以测量在非支配解相对于参考点所覆盖的空间量,具体计算方式如公式(11)、(12)所示:
HV(i)={i*∈Y:i<i*} (11)
HV(POF)=Ui∈POFHV(i) (12)
其中,Y代表目标空间,POF代表非支配解集,i代表非支配解集中的第i个非支配解。HV指标越大,则说明相对于参考点,非支配解集分布得越好,解的多样性越高。在实验中,先将所有目标函数的值进行标准化,然后以(1,1,1)点为参考点计算HV指标。
最终算法得出的非支配解集的好坏,采用三个指标来评价。第一个指标是上述提到的HV指标;第二个是非支配解集在目标空间上各维度的最低值,该指标可以很直观的评价结果的优劣;第三个是斯科特间距(Schott’s spacing),该指标主要度量每个解到其他解的最小距离的标准差,该指标越小,说明解集分布得越均匀,计算方式如公式(13)所示:
Figure BDA0003181522950000131
其中,p表示非支配解集POF,di表示非支配解i与最邻近的非支配解的欧式距离,
Figure BDA0003181522950000132
代表所有di的均值。
为了评价加入种群的个体的好坏,发明人进行了多次连续实验,具体实验结果见下表1,其中最左列代表连续实验的次数,表格中的数值为多次连续实验HV指标的均值。可以看出,在相同的条件下,DNSGA-II-Seq2Seq算法产生的个体在新环境下HV指标均优于其他算法,个体的多样性更好,更有利于增加种群的多样性,从而更好的解决算法在动态环境下种群多样性缺失的问题。
表1
Figure BDA0003181522950000141
为了评价方法的有效性,发明人还做了多次连续实验来评价DNSGA-II-Seq2Seq算法,具体实验结果见表2和表3,其中负载代表工作流负载的增大倍数。表2展示的是这三种算法在新环境下收敛后非支配解集在目标空间上各个维度上的最小值,Unbalance代表的是不平衡度,Time代表的是最大完成时间,Cost代表的总成本。表3展示的是这三种算法得到的非支配解集的HV指标和Spacing指标。
表2
Figure BDA0003181522950000142
表3
Figure BDA0003181522950000143
Figure BDA0003181522950000151
根据上述的实验结果可以看出,尽管NSGA-II算法的种群随机初始化过程为最终的结果带来了一些随机性,DNSGA-II-Seq2Seq算法的最终结果无论从目标函数的值还是从HV指标和Spacing指标来看,在绝大多数情况下均优于其他两种经典算法,证明了DNSGA-II-Seq2Seq算法在解决动态多目标优化问题上的有效性。
通过上述实验数据可知,针对面向物联网数据处理的工作流在云环境上的调度问题,在本发明的实施例中提出的动态调度的DNSGA-II-Seq2Seq算法通过Seq2Seq模型学习连续环境下的局部非支配解变化规律,在环境变化时可以根据当前环境下的非支配解预测新环境下的解,帮助NSGA-II算法在新环境下增加种群多样性并快速收敛。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (15)

1.一种面向云环境的工作流调度方法,所述方法包括:
向云环境提交待调度的任务工作流;
获取待调度的工作流对应的服务需求;
基于当前的云环境,按照预设的种群规模随机初始化种群,种群中的每一个个体对应一个调度方案,其中,所述调度方案是执行任务工作流的虚拟机编号序列,调度方案中的每一位对应的是工作流中的任务要分配的虚拟机编号;
以工作流对应的服务需求为优化目标,采用第二代非支配排序遗传算法对初始化种群进行多次遗传迭代直至达到预设的最大迭代次数以获得最终种群;在种群迭代过程中云环境发生变化时,基于当前种群中的个体,采用预先训练好的序列到序列模型根据历史云环境中非支配解的变化规律预测发生变化后的云环境对应的新个体,并将新个体放入当前种群中进行下一次遗传迭代直至达到预设的最大迭代次数;
选取最终种群中的非支配解,基于该非支配解进行工作流调度以将任务工作流中的任务按照非支配解对应的虚拟机编号序列分配到虚拟机,其中,所述非支配解是指种群中使服务需求最优化的个体。
2.根据权利要求1所述的方法,其特征在于,通过如下方式对序列到序列模型进行预先训练:
S1、针对多个连续变化的云环境,获取每个云环境对应的非支配解集,其中,每个非支配解集包含多个非支配解;
S2、将相邻云环境中的非支配解集中的非支配解进行单向配对得到非支配解对,非支配解对由前一个云环境的非支配解集中的非支配解指向后一个云环境的非支配解集中欧式距离最近的非支配解,其中,每个非支配解只配对一次,;
S3、用所有非支配解对组成的数据集对序列到序列模型进行训练至收敛。
3.根据权利要求2所述的方法,其特征在于,对序列到序列模型进行训练时,用交叉熵损失函数计算损失,当损失误差小于或等于0.05时判断为收敛。
4.根据权利要求2所述的方法,其特征在于,每个云环境对应的非支配解集通过如下方式获取:
基于当前云环境,采用第二代非支配排序遗传算法进行预设轮数的遗传迭代获得多个最终种群,并从每个最终种群中选取非支配解经过合并去重以组成该云环境对应的非支配解集;其中,每轮遗传迭代是指,基于当前的云环境,按照预设的种群规模随机初始化种群,采用第二代非支配排序遗传算法对初始化种群进行多次遗传迭代直至达到预设的最大迭代次数获得最终种群。
5.根据权利要求4任一所述的方法,其特征在于,所述预设轮数为大于或等于100的整数。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在种群迭代过程中云环境发生变化时,基于当前云环境的非支配解集,采用预先训练好的序列到序列模型根据历史云环境中非支配解的变化规律预测发生变化后的云环境对应的新个体,并将新个体放入当前种群中进行下一次遗传迭代直至达到预设的最大迭代次数。
7.根据权利要求1任一所述的方法,其特征在于,所述服务需求包括:总成本、和/或最大完工时间、和/或任务分配的不平衡度,优化目标是总成本最低、和/或最大完工时间最短、和/或任务分配的不平衡度最小。
8.根据权利要求1所述的方法,其特征在于,所述序列到序列的模型包括编码器和解码器,其中,所述编码器被配置为包含128个神经元的循环神经网络,所述解码器被配置为包含128个神经元的循环神经网络和一个线性层。
9.根据权利要求1-8任一所述的方法,其特征在于,所述预设的种群规模为大于或等于100的整数。
10.根据权利要求1-8任一所述的方法,其特征在于,所述预设的迭代次数为大于或等于500的整数。
11.一种面向云环境的工作流调度***,其特征在于,所述***包括:
任务接口模块,用于获取待调度的任务工作流及其对应的服务需求;
NSGA-Ⅱ模块,用于对基于当前云环境按照预设的种群规模随机初始化的种群进行多次遗传迭代直至达到预设的最大迭代次数以获得最终种群;
Seq2Seq模型,用于在种群迭代过程中云环境发生变化时,基于当前种群中的个体,根据历史云环境中非支配解的变化规律预测发生变化后的云环境对应的新个体,并将新个体放入当前种群进行下一次遗传迭代;
调度引擎,用于从最终种群中选取非支配解,并基于该非支配解进行工作流调度以将任务工作流中的任务按照非支配解对应的虚拟机编号序列分配到虚拟机,其中,所述非支配解是指种群中使服务需求最优化的个体。
12.根据权利要求11任一所述的***,其特征在于,所述预设的种群规模为大于或等于100的整数。
13.根据权利要求11任一所述的***,其特征在于,所述预设的迭代次数为大于或等于500的整数。
14.一种计算机可读存储介质,其特征在于,其上包含有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至10任一所述方法的步骤。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至10中任一项所述方法的步骤。
CN202110848307.7A 2021-07-27 2021-07-27 一种面向云环境的工作流调度方法及*** Active CN114595914B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110848307.7A CN114595914B (zh) 2021-07-27 2021-07-27 一种面向云环境的工作流调度方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110848307.7A CN114595914B (zh) 2021-07-27 2021-07-27 一种面向云环境的工作流调度方法及***

Publications (2)

Publication Number Publication Date
CN114595914A true CN114595914A (zh) 2022-06-07
CN114595914B CN114595914B (zh) 2024-06-07

Family

ID=81814469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110848307.7A Active CN114595914B (zh) 2021-07-27 2021-07-27 一种面向云环境的工作流调度方法及***

Country Status (1)

Country Link
CN (1) CN114595914B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035816A (zh) * 2014-05-22 2014-09-10 南京信息工程大学 一种基于改进nsga-ii的云计算任务调度方法
CN106933650A (zh) * 2017-03-03 2017-07-07 北方工业大学 云应用***的负载管理方法及***
CN109992355A (zh) * 2019-01-30 2019-07-09 北京理工大学 一种基于改进非支配遗传算法的多目标云工作流调度方法
CN110033076A (zh) * 2019-04-19 2019-07-19 福州大学 混合云环境下面向代价优化的工作流数据布局方法
CN111914873A (zh) * 2020-06-05 2020-11-10 华南理工大学 一种两阶段云服务器无监督异常预测方法
CN112685138A (zh) * 2021-01-08 2021-04-20 北京理工大学 云环境下基于多种群混合智能优化的多工作流调度方法
US20210209139A1 (en) * 2020-01-02 2021-07-08 International Business Machines Corporation Natural question generation via reinforcement learning based graph-to-sequence model
US20210373946A1 (en) * 2019-09-23 2021-12-02 Soochow University Method for scheduling of service processes in hybrid cloud

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035816A (zh) * 2014-05-22 2014-09-10 南京信息工程大学 一种基于改进nsga-ii的云计算任务调度方法
CN106933650A (zh) * 2017-03-03 2017-07-07 北方工业大学 云应用***的负载管理方法及***
CN109992355A (zh) * 2019-01-30 2019-07-09 北京理工大学 一种基于改进非支配遗传算法的多目标云工作流调度方法
CN110033076A (zh) * 2019-04-19 2019-07-19 福州大学 混合云环境下面向代价优化的工作流数据布局方法
US20210373946A1 (en) * 2019-09-23 2021-12-02 Soochow University Method for scheduling of service processes in hybrid cloud
US20210209139A1 (en) * 2020-01-02 2021-07-08 International Business Machines Corporation Natural question generation via reinforcement learning based graph-to-sequence model
CN111914873A (zh) * 2020-06-05 2020-11-10 华南理工大学 一种两阶段云服务器无监督异常预测方法
CN112685138A (zh) * 2021-01-08 2021-04-20 北京理工大学 云环境下基于多种群混合智能优化的多工作流调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杜艳明 等: "云环境中基于混合多目标粒子群的科学工作流调度算法", 计算机科学, no. 08, 31 August 2017 (2017-08-31), pages 258 - 265 *

Also Published As

Publication number Publication date
CN114595914B (zh) 2024-06-07

Similar Documents

Publication Publication Date Title
Xie et al. An adaptive decoding biased random key genetic algorithm for cloud workflow scheduling
Kumar et al. Genetic algorithms
Priore et al. A comparison of machine-learning algorithms for dynamic scheduling of flexible manufacturing systems
Müller et al. SO-MI: A surrogate model algorithm for computationally expensive nonlinear mixed-integer black-box global optimization problems
Daoud et al. A hybrid heuristic–genetic algorithm for task scheduling in heterogeneous processor networks
CN109840154B (zh) 一种移动云环境下基于任务依赖的计算迁移方法
Dinkar et al. Accelerated opposition-based antlion optimizer with application to order reduction of linear time-invariant systems
Pooranian et al. Hybrid metaheuristic algorithm for job scheduling on computational grids
Pelikan et al. Sporadic model building for efficiency enhancement of hierarchical BOA
Talbi Optimization of deep neural networks: a survey and unified taxonomy
Sun et al. A teaching-learning-based optimization with feedback for LR fuzzy flexible assembly job shop scheduling problem with batch splitting
Lim et al. Inverse multi-objective robust evolutionary design optimization in the presence of uncertainty
Soukaina et al. A hybrid genetic algorithm for solving 0/1 knapsack problem
Rezapoor Mirsaleh et al. A learning automata-based memetic algorithm
Li et al. A survey: evolutionary deep learning
CN116611504A (zh) 一种基于进化的神经架构搜索方法
Guo et al. Multi-objective combinatorial generative adversarial optimization and its application in crowdsensing
CN114595914B (zh) 一种面向云环境的工作流调度方法及***
Fedorchenko et al. Modified genetic algorithm to determine the location of the distribution power supply networks in the city
Kumar et al. Hybrid genetic algorithm for task scheduling in distributed real-time system
Lecarpentier et al. LUCIE: an evaluation and selection method for stochastic problems
Chen et al. Extremal optimization for optimizing kernel function and its parameters in support vector regression
Selçuklu Multi-objective Genetic Algorithms
Laumanns Self-adaptation and convergence of multiobjective evolutionary algorithms in continuous search spaces
Merten et al. Scalable Neuroevolution of Ensemble Learners

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