一种基于改进遗传算法的异构资源智能并行调度方法与流程

文档序号:25881891发布日期:2021-07-16 18:43阅读:143来源:国知局
一种基于改进遗传算法的异构资源智能并行调度方法与流程

1.本发明涉及气象卫星数据处理技术领域,具体来说,涉及一种基于改进遗传算法的异构资源智能并行调度方法。


背景技术:

2.目前,风云气象卫星领域已积累大量异构资源,各类资源拥有不同的信息要素,其差异性主要体现在cpu核数、内存容量、i/o带宽、操作系统及中间件等方面。传统计算分配方式下,存在作业运行效率、作业吞吐量和计算资源利用率低的问题,影响了整个系统的性能。
3.常用的计算框架有cpu计算框架、gpu计算框架。gpu计算框架采用数量众多的计算单元和超长的流水线,配备较为简单的控制逻辑和存储单元,gpu框架主要针对计算密集型作业,cpu配置则相对均衡。


技术实现要素:

4.针对相关技术中的问题,本发明提出一种基于改进遗传算法的异构资源智能并行调度方法,解决现有风云气象卫星中,在传统计算分配方式下,存在作业运行效率低、作业吞吐量低和计算资源利用率低的“三低”问题,影响整个系统的性能。
5.为了实现上述技术目的,本发明的技术方案是这样的:
6.采用一种基于改进遗传算法的异构资源智能并行调度方法,包括以下步骤:
7.步骤s1,定义集合、变量及决策变量;
8.步骤s2,对异构资源进行并行调度,具体包含以下步骤:
9.步骤s21,判断作业m是否只适用于cpu计算框架或gpu计算框架其中一种,是则y
m
=1,否则y
m
=0;
10.步骤s22,将具有单一适用框架的作业m用三维向表示,可同时适用于cpu和gpu计算框架的作业m用五维向量表示,用三维向量表示计算框架k下的计算节点i的带宽、内核、内存属性;
11.步骤s23,建立作业与节点i的对应关系属性,关系式如下,
[0012][0013]
其中,其中abilitydivide取集合{iocompute
i
/corecompute
i
}中的中位数,以此来划分cpu计算框架和gpu计算框架;当io
mk
/core
mk
≥abilitydivide时,h
m
=0,表示调度到cpu计算框架;当io
mk
/core
mk
<abilitydivide时,h
m
=1,表示调度到gpu计算框架;
[0014]
步骤s24,将作业m在计算节点i的预计运行时间为tdemand
im
,节点i的不确定作业
排队等待时间为twait
i
,计算节点i实际运行时间tcost
i
表示为:
[0015]
tcost
i
=∑
m∈m tdemand
im
+twait
i

[0016]
其中,排队等待时间既包括因为调度计算所花费的时间,也包括某一作业实际执行时间超出预计执行时间所造成后续作业的推迟;
[0017]
步骤s25,根据资源预留的规则,作以下定义:τ
i
=ω1iocompute
i
+ω2corecompute
i
+ω3rcompute
i
,γ
m
=ω1io
mk
+ω2core
mk
+ω3r
m
,其中,将某一作业分配到某节点取决于带宽、内核和内存的加权值,τ
i
表示计算节点i的加权值,γ
m
表示任务m的加权值,ω1、ω2、ω3根据经验设定;
[0018]
步骤s26,将作业m根据γ
m
的计算结果由大到小排列,并由大到小依次调度到各个节点上,某一个节点i的终止条件如下所示,τ
i

γ
m
<γ
a

[0019]
其中,作业a表示为除已调度和作业m外的任意作业,该式表示一旦调度作业m,则剩余作业无法在节点i上调度;
[0020]
步骤s27,定义决策变量z
im
,z
im
表示如果调度作业m∈m分配到i赋值为1,否则是0。
[0021]
步骤s3,建立约束模型,具体包含以下步骤:
[0022]
步骤s31,定义约束模型符合以下假设条件:资源预留原则、不考虑时钟中断和网络中断的因素影响、不考虑设备损耗;
[0023]
步骤s32,基于上述假设条件,建立异构资源智能并行调度约束模型,
[0024]
min{f=max tcost
i
};
[0025][0026][0027][0028][0029]
其中,上述约束模型中,目标函数f的含义是计算关键路径的时长并令其最小化,约束包括带宽约束、计算核数约束、内存约束和决策变量约束;
[0030]
步骤s33,利用公式对模型进行数学转换,
[0031][0032][0033][0034][0035]
步骤s4,基于改进遗传算法进行求解,具体包含以下步骤:
[0036]
步骤s41,定义染色体长度为chrom、最大进化代数为generationnmax、种群大小为popsize、交叉率为pcrossover、变异率为pmutation,给io
mk
、core
mk
、r
m
、iocompute
i
、corecompute
i
、rcompute
i
、tdemand
im
、m、n赋值,并设定每条染色体最大基因数;
[0037]
步骤s42,初始化种群;
[0038]
步骤s43,根据优胜劣汰的标准,计算适应度函数,将当前计算的适应度进行排序,其中,适应度函数值的大小表示染色体质量,适应度函数值越大,其对环境的适应能力越好,反之亦然;
[0039]
步骤s44,执行选择操作,从当前种群中选择w个个体作为下一代种群的父代种群q,采用随机遍历采样法、局部选择法、适应度比例选择法、轮盘赌选择方法中的任意一种遗传算法;
[0040]
步骤s45,执行交叉操作;
[0041]
步骤s46,执行变异操作,设定变异率值,其中,遗传变异是指群体中部分个体的染色体发生一个或多个基因的突变,这些基因突变变成相同位置的其他基因,即产生了一个新的突变体,变异可以提高种群个体的多样性,使遗传算法具有局部随机搜索的能力,同时可以降低算法过早收敛的概率;
[0042]
步骤s47,重复迭代步骤s44至步骤s46产生新种群,直到满足结束条件,其中,结束条件为:当遗传算法产生的个体的适应度达到预设的阈值,同时适应度函数值保持稳定,表明算法已收敛于某一最优解,即得到成熟种群,则停止进化,反之亦然,或者当迭代次数达到预设次数也停止操作;
[0043]
步骤s48,给最优个体进行解码,得到相对最优解,保存求解结果并退出。
[0044]
进一步,所述步骤s1中,集合、变量及决策变量的定义具体包含以下步骤:
[0045]
步骤s11,将气象卫星数据处理的异构资源节点集合设为n,调度作业集合设为m,计算框架集合设为k,其中,k在{0,1}之中取值,取0代表cpu框架,取1代表gpu框架;
[0046]
步骤s12,将作业m在计算框架k下所需i/o带宽设为io
mk
,作业m在计算框架k下所需的核数设为core
mk
,作业m所需的内存空间设为r
m
,计算节点i的i/o带宽设为iocompute
i
,计算节点i的核数设为corecompute
i
,计算节点i的内存设为rcompute
i

[0047]
进一步,所述步骤s41中,设定每条染色体最大基因数为50,其中,每条染色体上包含n
×
m个基因。
[0048]
进一步,所述步骤s42中,初始化种群具体包含以下内容:通过随机选择产生遗传算法的初始化个体,即第一代种群,在确定的近似初始解范围内,根据空间中最优个体的分布选择初始种群范围,将这些可行解编码成num条染色体,将初始种群值设置为选择100。
[0049]
进一步,所述步骤s441中,遗传算法为轮盘赌选择方法。
[0050]
进一步,所述步骤s45中,执行交叉操作具体包含以下内容:采用适合自然数编码的单点交叉方法,初步设定交叉率为0.9,两两配对执行交叉运算生成子代染色体。
[0051]
进一步,所述步骤s46中,变异率设定为0.1。
[0052]
进一步,所述步骤s471中,迭代次数设定为50。
[0053]
本发明的有益效果:这种基于改进遗传算法的异构资源智能并行调度方法综合考虑了作业运行效率、作业吞吐量和计算资源利用情况,同时考虑了异构资源的选择与分配问题,将并行调度问题描述得更加全面,针对时间并行和空间并行的复杂情况给出了优化方法。
[0054]
本方法将作业划分为i/o密集型和计算密集型,计算、内存和带宽是衡量计算节点信息处理能力的重要指标,指标值越大代表信息处理能力越强,并综合将计算、内存和带宽
三要素量化进目标函数的约束中,使结果具有现实意义。
[0055]
本方法采用资源预留规则,并创造性用作业调度树表示调度策略,简洁直观。本发明采用智能算法计算,易用性和可扩展性强。
[0056]
本方法提出的异构调度策略可以应对高负荷作业,深度应用在气象卫星数据处理领域,并可扩展至其他遥感卫星数据资料处理等领域。
[0057]
本发明将气象卫星资料处理作业划分为i/o密集型作业和计算密集型作业,可根据作业和资源的特点进行资源合理分配,采用智能并行调度策略可满足复杂的数据处理作业需求,实现了idc高效运营,做到资源协同均衡管理。
附图说明
[0058]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0059]
图1是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中cpu计算框架示意图;
[0060]
图2是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中gpu计算框架示意图;
[0061]
图3是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中异构资源并行调度流程图;
[0062]
图4是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中单一节点作业执行时间示意图;
[0063]
图5是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中作业调度树;
[0064]
图6是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中作业调度时间图;
[0065]
图7是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中改进遗传算法逻辑图;
[0066]
图中:1、cpu;2、控制单元;3、计算单元;4、储存单元;5、gpu。
具体实施方式
[0067]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0068]
如图1

7所示,根据本发明实施例所述的一种基于改进遗传算法的异构资源智能并行调度方法,包括以下步骤:
[0069]
步骤s1,定义集合、变量及决策变量;
[0070]
步骤s2,对异构资源进行并行调度,具体包含以下步骤:
[0071]
步骤s21,判断作业m是否只适用于cpu计算框架或gpu计算框架其中一种,是则y
m
=1,否则y
m
=0;
[0072]
步骤s22,将具有单一适用框架的作业m用三维向表示,可同时适用于cpu和gpu计算框架的作业m用五维向量表示,用三维向量表示计算框架k下的计算节点i的带宽、内核、内存属性;
[0073]
步骤s23,建立作业与节点i的对应关系属性,关系式如下,
[0074][0075]
其中,其中abilitydivide取集合{iocompute
i
/corecompute
i
}中的中位数,以此来划分cpu计算框架和gpu计算框架;当
[0076]
io
mk
/core
mk
≥abilitydivide时,h
m
=0,表示调度到cpu计算框架;当io
mk
/core
mk
<abilitydivide时,h
m
=1,表示调度到gpu计算框架;
[0077]
步骤s24,将作业m在计算节点i的预计运行时间为tdemand
im
,节点i的不确定作业排队等待时间为twait
i
,计算节点i实际运行时间tcost
i
表示为:
[0078]
tcost
i
=∑
m∈m tdemand
im
+twait
i

[0079]
其中,排队等待时间既包括因为调度计算所花费的时间,也包括某一作业实际执行时间超出预计执行时间所造成后续作业的推迟;
[0080]
步骤s25,根据资源预留的规则,作以下定义:τ
i
=ω1iocompute
i
+
[0081]
ω2corecompute
i
+ω3rcompute
i
,γ
m
=ω1io
mk
+ω2core
mk
+ω3r
m
,其中,将某一作业分配到某节点取决于带宽、内核和内存的加权值,τ
i
表示计算节点i的加权值,γ
m
表示任务m的加权值,ω1、ω2、ω3根据经验设定;
[0082]
步骤s26,将作业m根据γ
m
的计算结果由大到小排列,并由大到小依次调度到各个节点上,某一个节点i的终止条件如下所示,τ
i

γ
m
<γ
a

[0083]
其中,作业a表示为除已调度和作业m外的任意作业,该式表示一旦调度作业m,则剩余作业无法在节点i上调度;
[0084]
步骤s27,计算关键路径的时长并令其最小化,定义决策变量z
im
,z
im
表示如果调度作业m∈m分配到i赋值为1,否则是0。
[0085]
步骤s3,建立约束模型,具体包含以下步骤:
[0086]
步骤s31,定义约束模型符合以下假设条件:资源预留原则、不考虑时钟中断和网络中断的因素影响、不考虑设备损耗;
[0087]
步骤s32,基于上述假设条件,建立异构资源智能并行调度约束模型,
[0088]
min{f=max tcost
i
};
[0089][0090][0091]
[0092][0093]
其中,上述约束模型中,目标函数f的含义是作业整体实际运行时间最小化,约束包括带宽约束、计算核数约束、内存约束和决策变量约束;
[0094]
步骤s33,利用公式对模型进行数学转换,
[0095][0096][0097][0098][0099]
步骤s4,基于改进遗传算法进行求解,具体包含以下步骤:
[0100]
步骤s41,定义染色体长度为chrom、最大进化代数为generationnmax、种群大小为popsize、交叉率为pcrossover、变异率为pmutation,给io
mk
、core
mk
、r
m
、iocompute
i
、corecompute
i
、rcompute
i
、tdemand
im
、m、n赋值,并设定每条染色体最大基因数;
[0101]
步骤s42,初始化种群;
[0102]
步骤s43,根据优胜劣汰的标准,计算适应度函数,将当前计算的适应度进行排序,其中,适应度函数值的大小表示染色体质量,适应度函数值越大,其对环境的适应能力越好,反之亦然;
[0103]
步骤s44,执行选择操作,从当前种群中选择w个个体作为下一代种群的父代种群q,采用随机遍历采样法、局部选择法、适应度比例选择法、轮盘赌选择方法中的任意一种遗传算法;
[0104]
步骤s45,执行交叉操作;
[0105]
步骤s46,执行变异操作,设定变异率值,其中,遗传变异是指群体中部分个体的染色体发生一个或多个基因的突变,这些基因突变变成相同位置的其他基因,即产生了一个新的突变体,变异可以提高种群个体的多样性,使遗传算法具有局部随机搜索的能力,同时可以降低算法过早收敛的概率;
[0106]
步骤s47,重复迭代步骤s44至步骤s46产生新种群,直到满足结束条件,其中,结束条件为:当遗传算法产生的个体的适应度达到预设的阈值,同时适应度函数值保持稳定,表明算法已收敛于某一最优解,即得到成熟种群,则停止进化,反之亦然,或者当迭代次数达到预设次数也停止操作;
[0107]
步骤s48,给最优个体进行解码,得到相对最优解,保存求解结果并退出。
[0108]
在本实施例中,所述步骤s1中,集合、变量及决策变量的定义具体包含以下步骤:
[0109]
步骤s11,将气象卫星数据处理的异构资源节点集合设为n,调度作业集合设为m,计算框架集合设为k,其中,k在{0,1}之中取值,取0代表cpu框架,取1代表gpu框架;
[0110]
步骤s12,将作业m在计算框架k下所需i/o带宽设为io
mk
,作业m在计算框架k下所需的核数设为core
mk
,作业m所需的内存空间设为r
m
,计算节点i的i/o带宽设为iocompute
i
,计
算节点i的核数设为corecompute
i
,计算节点i的内存设为rcompute
i

[0111]
在本实施例中,本发明用计算、内存和带宽三个指标描述计算节点的信息处理能力,指标值越大代表信息处理能力越强。
[0112]
在本实施例中,所述步骤s41中,设定每条染色体最大基因数为50,其中,每条染色体上包含n
×
m个基因。
[0113]
在本实施例中,所述步骤s42中,初始化种群具体包含以下内容:通过随机选择产生遗传算法的初始化个体,即第一代种群,在确定的近似初始解范围内,根据空间中最优个体的分布选择初始种群范围,将这些可行解编码成num条染色体,将初始种群值设置为选择100。
[0114]
在本实施例中,所述步骤s441中,遗传算法为轮盘赌选择方法;轮盘赌选择方法具体包含以下内容:初始化轮盘刻度,并随机生成实数对应轮盘中的个体,将其作为父代继续迭代,随机生成交配对,为之后交叉操作提供基础。
[0115]
在本实施例中,所述步骤s45中,执行交叉操作具体包含以下内容:采用适合自然数编码的单点交叉方法,初步设定交叉率为0.9,两两配对执行交叉运算生成子代染色体;交叉操作是指基于一定的交叉比率,对两个亲本交换染色体上基因的操作过程,由此生成新的染色体个体,交叉操作包括实值重组和二进制交叉,二进制交叉包括单点杂交、两点杂交、多点杂交。
[0116]
在本实施例中,所述步骤s46中,变异率设定为0.1。
[0117]
在本实施例中,所述步骤s471中,迭代次数设定为50。
[0118]
在本实施例中,在选择调度小作业从而影响大作业资源,和选择优先调度大作业而占用小作业资源时,本发明优先考虑充分利用资源的情况,即优先调度大作业而让小作业等待调度;本发明通过作业调度树来表示异构资源调度策略,如图4所示;将其转化为作业调度时间图,如图5所示;之后,计算关键路径的时长并令其最小化。
[0119]
在本发明中,由于调度算法的优劣直接影响整个系统的性能,传统的搜索算法大多是单点搜索,而本发明可同时对搜索空间的多个解进行评估。遗传算法在计算过程中利用遗传操作(如选择、交叉、变异等)来进行数学模拟,其主要特点是不受导数和函数连续性的限制,在搜索遍历过程中作用于变量编码后的字符串而非变量,具有群体搜索特性和并行操作能力,且具有较好的全局优化能力和更好的鲁棒性。本发明对遗传算法进行了改进以及对调度方法寻优。之后,可通过仿真试验验证,表明该算法具有较好的收敛性及较高的解质量,负载均衡效果好,时间复杂度低的特点。
[0120]
在本发明中,用到的符号如下表:
[0121][0122]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而
且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0123]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1