CN113127167B - 一种基于改进遗传算法的异构资源智能并行调度方法 - Google Patents
一种基于改进遗传算法的异构资源智能并行调度方法 Download PDFInfo
- Publication number
- CN113127167B CN113127167B CN202110288489.7A CN202110288489A CN113127167B CN 113127167 B CN113127167 B CN 113127167B CN 202110288489 A CN202110288489 A CN 202110288489A CN 113127167 B CN113127167 B CN 113127167B
- Authority
- CN
- China
- Prior art keywords
- job
- genetic algorithm
- node
- population
- computing
- 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.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000002068 genetic effect Effects 0.000 title claims abstract description 47
- 210000000349 chromosome Anatomy 0.000 claims description 26
- 230000035772 mutation Effects 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 17
- 108090000623 proteins and genes Proteins 0.000 claims description 16
- 238000010187 selection method Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 7
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 claims description 3
- 230000002028 premature Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 5
- 230000010365 information processing Effects 0.000 description 4
- 238000009396 hybridization Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于改进遗传算法的异构资源智能并行调度方法,包括以下步骤:步骤S1,定义集合、变量及决策变量;步骤S2,对异构资源进行并行调度;步骤S3,建立约束模型;步骤S4,基于改进遗传算法进行求解。本发明提供一种基于改进遗传算法的异构资源智能并行调度方法,提升了气象卫星数据处理作业运行效率、作业吞吐量和计算资源利用率,具有较好的收敛性及较高的解质量,且负载均衡效果好,时间复杂度低。
Description
技术领域
本发明涉及气象卫星数据处理技术领域,具体来说,涉及一种基于改进遗传算法的异构资源智能并行调度方法。
背景技术
目前,风云气象卫星领域已积累大量异构资源,各类资源拥有不同的信息要素,其差异性主要体现在CPU核数、内存容量、I/O带宽、操作系统及中间件等方面。传统计算分配方式下,存在作业运行效率、作业吞吐量和计算资源利用率低的问题,影响了整个系统的性能。
常用的计算框架有CPU计算框架、GPU计算框架。GPU计算框架采用数量众多的计算单元和超长的流水线,配备较为简单的控制逻辑和存储单元,GPU框架主要针对计算密集型作业,CPU配置则相对均衡。
发明内容
针对相关技术中的问题,本发明提出一种基于改进遗传算法的异构资源智能并行调度方法,解决现有风云气象卫星中,在传统计算分配方式下,存在作业运行效率低、作业吞吐量低和计算资源利用率低的“三低”问题,影响整个系统的性能。
为了实现上述技术目的,本发明的技术方案是这样的:
采用一种基于改进遗传算法的异构资源智能并行调度方法,包括以下步骤:
步骤S1,定义集合、变量及决策变量;
步骤S2,对异构资源进行并行调度,具体包含以下步骤:
步骤S21,判断作业m是否只适用于CPU计算框架或GPU计算框架其中一种,是则ym=1,否则ym=0;
步骤S22,将具有单一适用框架的作业m用三维向表示,可同时适用于CPU和GPU计算框架的作业m用五维向量/>表示,用三维向量/>表示计算框架k下的计算节点i的带宽、内核、内存属性;
步骤S23,建立作业与节点i的对应关系属性,关系式如下,
其中,其中AbilityDivide取集合{IOComputei/CoreComputei}中的中位数,以此来划分CPU计算框架和GPU计算框架;当IOmk/Coremk≥AbilityDivide时,hm=0,表示调度到CPU计算框架;当IOmk/Coremk<AbilityDivide时,hm=1,表示调度到GPU计算框架;
步骤S24,将作业m在计算节点i的预计运行时间为TDemandim,节点i的不确定作业排队等待时间为Twaiti,计算节点i实际运行时间TCosti表示为:
TCosti=∑m∈M TDemandim+Twaiti;
其中,排队等待时间既包括因为调度计算所花费的时间,也包括某一作业实际执行时间超出预计执行时间所造成后续作业的推迟;
步骤S25,根据资源预留的规则,作以下定义:τi=ω1IOComputei+ω2CoreComputei+ω3RComputei,γm=ω1IOmk+ω2Coremk+ω3Rm,其中,将某一作业分配到某节点取决于带宽、内核和内存的加权值,τi表示计算节点i的加权值,γm表示任务m的加权值,ω1、ω2、ω3根据经验设定;
步骤S26,将作业m根据γm的计算结果由大到小排列,并由大到小依次调度到各个节点上,某一个节点i的终止条件如下所示,τi-γm<γa;
其中,作业a表示为除已调度和作业m外的任意作业,该式表示一旦调度作业m,则剩余作业无法在节点i上调度;
步骤S27,定义决策变量Zim,Zim表示如果调度作业m∈M分配到i赋值为1,否则是0。
步骤S3,建立约束模型,具体包含以下步骤:
步骤S31,定义约束模型符合以下假设条件:资源预留原则、不考虑时钟中断和网络中断的因素影响、不考虑设备损耗;
步骤S32,基于上述假设条件,建立异构资源智能并行调度约束模型,
min{f=max TCosti};
其中,上述约束模型中,目标函数f的含义是计算关键路径的时长并令其最小化,约束包括带宽约束、计算核数约束、内存约束和决策变量约束;
步骤S33,利用公式对模型进行数学转换,
步骤S4,基于改进遗传算法进行求解,具体包含以下步骤:
步骤S41,定义染色体长度为Chrom、最大进化代数为Generationnmax、种群大小为Popsize、交叉率为Pcrossover、变异率为pmutation,给IOmk、Coremk、Rm、IOComputei、CoreComputei、RComputei、TDemandim、M、N赋值,并设定每条染色体最大基因数;
步骤S42,初始化种群;
步骤S43,根据优胜劣汰的标准,计算适应度函数,将当前计算的适应度进行排序,其中,适应度函数值的大小表示染色体质量,适应度函数值越大,其对环境的适应能力越好,反之亦然;
步骤S44,执行选择操作,从当前种群中选择W个个体作为下一代种群的父代种群Q,采用随机遍历采样法、局部选择法、适应度比例选择法、轮盘赌选择方法中的任意一种遗传算法;
步骤S45,执行交叉操作;
步骤S46,执行变异操作,设定变异率值,其中,遗传变异是指群体中部分个体的染色体发生一个或多个基因的突变,这些基因突变变成相同位置的其他基因,即产生了一个新的突变体,变异可以提高种群个体的多样性,使遗传算法具有局部随机搜索的能力,同时可以降低算法过早收敛的概率;
步骤S47,重复迭代步骤S44至步骤S46产生新种群,直到满足结束条件,其中,结束条件为:当遗传算法产生的个体的适应度达到预设的阈值,同时适应度函数值保持稳定,表明算法已收敛于某一最优解,即得到成熟种群,则停止进化,反之亦然,或者当迭代次数达到预设次数也停止操作;
步骤S48,给最优个体进行解码,得到相对最优解,保存求解结果并退出。
进一步,所述步骤S1中,集合、变量及决策变量的定义具体包含以下步骤:
步骤S11,将气象卫星数据处理的异构资源节点集合设为N,调度作业集合设为M,计算框架集合设为K,其中,k在{0,1}之中取值,取0代表CPU框架,取1代表GPU框架;
步骤S12,将作业m在计算框架k下所需I/O带宽设为IOmk,作业m在计算框架k下所需的核数设为Coremk,作业m所需的内存空间设为Rm,计算节点i的I/O带宽设为IOComputei,计算节点i的核数设为CoreComputei,计算节点i的内存设为RComputei。
进一步,所述步骤S41中,设定每条染色体最大基因数为50,其中,每条染色体上包含N×M个基因。
进一步,所述步骤S42中,初始化种群具体包含以下内容:通过随机选择产生遗传算法的初始化个体,即第一代种群,在确定的近似初始解范围内,根据空间中最优个体的分布选择初始种群范围,将这些可行解编码成NUM条染色体,将初始种群值设置为选择100。
进一步,所述步骤S441中,遗传算法为轮盘赌选择方法。
进一步,所述步骤S45中,执行交叉操作具体包含以下内容:采用适合自然数编码的单点交叉方法,初步设定交叉率为0.9,两两配对执行交叉运算生成子代染色体。
进一步,所述步骤S46中,变异率设定为0.1。
进一步,所述步骤S471中,迭代次数设定为50。
本发明的有益效果:这种基于改进遗传算法的异构资源智能并行调度方法综合考虑了作业运行效率、作业吞吐量和计算资源利用情况,同时考虑了异构资源的选择与分配问题,将并行调度问题描述得更加全面,针对时间并行和空间并行的复杂情况给出了优化方法。
本方法将作业划分为I/O密集型和计算密集型,计算、内存和带宽是衡量计算节点信息处理能力的重要指标,指标值越大代表信息处理能力越强,并综合将计算、内存和带宽三要素量化进目标函数的约束中,使结果具有现实意义。
本方法采用资源预留规则,并创造性用作业调度树表示调度策略,简洁直观。本发明采用智能算法计算,易用性和可扩展性强。
本方法提出的异构调度策略可以应对高负荷作业,深度应用在气象卫星数据处理领域,并可扩展至其他遥感卫星数据资料处理等领域。
本发明将气象卫星资料处理作业划分为I/O密集型作业和计算密集型作业,可根据作业和资源的特点进行资源合理分配,采用智能并行调度策略可满足复杂的数据处理作业需求,实现了IDC高效运营,做到资源协同均衡管理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中CPU计算框架示意图;
图2是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中GPU计算框架示意图;
图3是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中异构资源并行调度流程图;
图4是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中单一节点作业执行时间示意图;
图5是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中作业调度树;
图6是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中作业调度时间图;
图7是根据本发明实施例所述一种基于改进遗传算法的异构资源智能并行调度方法中改进遗传算法逻辑图;
图中:1、CPU;2、控制单元;3、计算单元;4、储存单元;5、GPU。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1-7所示,根据本发明实施例所述的一种基于改进遗传算法的异构资源智能并行调度方法,包括以下步骤:
步骤S1,定义集合、变量及决策变量;
步骤S2,对异构资源进行并行调度,具体包含以下步骤:
步骤S21,判断作业m是否只适用于CPU计算框架或GPU计算框架其中一种,是则ym=1,否则ym=0;
步骤S22,将具有单一适用框架的作业m用三维向表示,可同时适用于CPU和GPU计算框架的作业m用五维向量/>表示,用三维向量/>表示计算框架k下的计算节点i的带宽、内核、内存属性;
步骤S23,建立作业与节点i的对应关系属性,关系式如下,
其中,其中AbilityDivide取集合{IOComputei/CoreComputei}中的中位数,以此来划分CPU计算框架和GPU计算框架;当
IOmk/Coremk≥AbilityDivide时,hm=0,表示调度到CPU计算框架;当IOmk/Coremk<AbilityDivide时,hm=1,表示调度到GPU计算框架;
步骤S24,将作业m在计算节点i的预计运行时间为TDemandim,节点i的不确定作业排队等待时间为Twaiti,计算节点i实际运行时间TCosti表示为:
TCosti=∑m∈M TDemandim+Twaiti;
其中,排队等待时间既包括因为调度计算所花费的时间,也包括某一作业实际执行时间超出预计执行时间所造成后续作业的推迟;
步骤S25,根据资源预留的规则,作以下定义:τi=ω1IOComputei+
ω2CoreComputei+ω3RComputei,γm=ω1IOmk+ω2Coremk+ω3Rm,其中,将某一作业分配到某节点取决于带宽、内核和内存的加权值,τi表示计算节点i的加权值,γm表示任务m的加权值,ω1、ω2、ω3根据经验设定;
步骤S26,将作业m根据γm的计算结果由大到小排列,并由大到小依次调度到各个节点上,某一个节点i的终止条件如下所示,τi-γm<γa;
其中,作业a表示为除已调度和作业m外的任意作业,该式表示一旦调度作业m,则剩余作业无法在节点i上调度;
步骤S27,计算关键路径的时长并令其最小化,定义决策变量Zim,Zim表示如果调度作业m∈M分配到i赋值为1,否则是0。
步骤S3,建立约束模型,具体包含以下步骤:
步骤S31,定义约束模型符合以下假设条件:资源预留原则、不考虑时钟中断和网络中断的因素影响、不考虑设备损耗;
步骤S32,基于上述假设条件,建立异构资源智能并行调度约束模型,
min{f=max TCosti};
其中,上述约束模型中,目标函数f的含义是作业整体实际运行时间最小化,约束包括带宽约束、计算核数约束、内存约束和决策变量约束;
步骤S33,利用公式对模型进行数学转换,
步骤S4,基于改进遗传算法进行求解,具体包含以下步骤:
步骤S41,定义染色体长度为Chrom、最大进化代数为Generationnmax、种群大小为Popsize、交叉率为Pcrossover、变异率为pmutation,给IOmk、Coremk、Rm、IOComputei、CoreComputei、RComputei、TDemandim、M、N赋值,并设定每条染色体最大基因数;
步骤S42,初始化种群;
步骤S43,根据优胜劣汰的标准,计算适应度函数,将当前计算的适应度进行排序,其中,适应度函数值的大小表示染色体质量,适应度函数值越大,其对环境的适应能力越好,反之亦然;
步骤S44,执行选择操作,从当前种群中选择W个个体作为下一代种群的父代种群Q,采用随机遍历采样法、局部选择法、适应度比例选择法、轮盘赌选择方法中的任意一种遗传算法;
步骤S45,执行交叉操作;
步骤S46,执行变异操作,设定变异率值,其中,遗传变异是指群体中部分个体的染色体发生一个或多个基因的突变,这些基因突变变成相同位置的其他基因,即产生了一个新的突变体,变异可以提高种群个体的多样性,使遗传算法具有局部随机搜索的能力,同时可以降低算法过早收敛的概率;
步骤S47,重复迭代步骤S44至步骤S46产生新种群,直到满足结束条件,其中,结束条件为:当遗传算法产生的个体的适应度达到预设的阈值,同时适应度函数值保持稳定,表明算法已收敛于某一最优解,即得到成熟种群,则停止进化,反之亦然,或者当迭代次数达到预设次数也停止操作;
步骤S48,给最优个体进行解码,得到相对最优解,保存求解结果并退出。
在本实施例中,所述步骤S1中,集合、变量及决策变量的定义具体包含以下步骤:
步骤S11,将气象卫星数据处理的异构资源节点集合设为N,调度作业集合设为M,计算框架集合设为K,其中,k在{0,1}之中取值,取0代表CPU框架,取1代表GPU框架;
步骤S12,将作业m在计算框架k下所需I/O带宽设为IOmk,作业m在计算框架k下所需的核数设为Coremk,作业m所需的内存空间设为Rm,计算节点i的I/O带宽设为IOComputei,计算节点i的核数设为CoreComputei,计算节点i的内存设为RComputei;
在本实施例中,本发明用计算、内存和带宽三个指标描述计算节点的信息处理能力,指标值越大代表信息处理能力越强。
在本实施例中,所述步骤S41中,设定每条染色体最大基因数为50,其中,每条染色体上包含N×M个基因。
在本实施例中,所述步骤S42中,初始化种群具体包含以下内容:通过随机选择产生遗传算法的初始化个体,即第一代种群,在确定的近似初始解范围内,根据空间中最优个体的分布选择初始种群范围,将这些可行解编码成NUM条染色体,将初始种群值设置为选择100。
在本实施例中,所述步骤S441中,遗传算法为轮盘赌选择方法;轮盘赌选择方法具体包含以下内容:初始化轮盘刻度,并随机生成实数对应轮盘中的个体,将其作为父代继续迭代,随机生成交配对,为之后交叉操作提供基础。
在本实施例中,所述步骤S45中,执行交叉操作具体包含以下内容:采用适合自然数编码的单点交叉方法,初步设定交叉率为0.9,两两配对执行交叉运算生成子代染色体;交叉操作是指基于一定的交叉比率,对两个亲本交换染色体上基因的操作过程,由此生成新的染色体个体,交叉操作包括实值重组和二进制交叉,二进制交叉包括单点杂交、两点杂交、多点杂交。
在本实施例中,所述步骤S46中,变异率设定为0.1。
在本实施例中,所述步骤S471中,迭代次数设定为50。
在本实施例中,在选择调度小作业从而影响大作业资源,和选择优先调度大作业而占用小作业资源时,本发明优先考虑充分利用资源的情况,即优先调度大作业而让小作业等待调度;本发明通过作业调度树来表示异构资源调度策略,如图4所示;将其转化为作业调度时间图,如图5所示;之后,计算关键路径的时长并令其最小化。
在本发明中,由于调度算法的优劣直接影响整个系统的性能,传统的搜索算法大多是单点搜索,而本发明可同时对搜索空间的多个解进行评估。遗传算法在计算过程中利用遗传操作(如选择、交叉、变异等)来进行数学模拟,其主要特点是不受导数和函数连续性的限制,在搜索遍历过程中作用于变量编码后的字符串而非变量,具有群体搜索特性和并行操作能力,且具有较好的全局优化能力和更好的鲁棒性。本发明对遗传算法进行了改进以及对调度方法寻优。之后,可通过仿真试验验证,表明该算法具有较好的收敛性及较高的解质量,负载均衡效果好,时间复杂度低的特点。
在本发明中,用到的符号如下表:
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (8)
1.一种基于改进遗传算法的异构资源智能并行调度方法,其特征在于,包括以下步骤:
步骤S1,定义集合、变量及决策变量;
步骤S2,对异构资源进行并行调度,具体包含以下步骤:
步骤S21,判断作业m是否只适用于CPU计算框架或GPU计算框架其中一种,是则ym=1,否则ym=0;
步骤S22,将具有单一适用框架的作业m用三维向量表示,将可同时适用于CPU和GPU计算框架的作业m用五维向量/>表示,用三维向量/>表示计算框架k下的计算节点i的带宽、内核、内存属性;
步骤S23,建立作业与节点i的对应关系属性,关系式如下,
其中,AbilityDivide取集合{IOComputei/CoreComputei}中的中位数,以此来划分CPU计算框架和GPU计算框架;当IOmk/Coremk≥AbilityDivide时,hm=0,表示调度到CPU计算框架;当IOmk/Coremk<AbilityDivide时,hm=1,表示调度到GPU计算框架;
步骤S24,将作业m在计算节点i的预计运行时间为TDemandim,节点i的不确定作业排队等待时间为Twaiti,计算节点i实际运行时间TCosti表示为:
TCosti=∑m∈MTDemandim+Twaiti;
其中,排队等待时间既包括因为调度计算所花费的时间,也包括某一作业实际执行时间超出预计执行时间所造成后续作业的推迟;
步骤S25,根据资源预留的规则,作以下定义:τi=ω1IOComputei+ω2CoreComputei+ω3RComputei,γm=ω1IOmk+ω2Coremk+ω3Rm,其中,将某一作业分配到某节点取决于带宽、内核和内存的加权值,τi表示计算节点i的加权值,γm表示任务m的加权值,ω1、ω2、ω3根据经验设定;
步骤S26,将作业m根据γm的计算结果由大到小排列,并由大到小依次调度到各个节点上,某一个节点i的终止条件如下所示,τi-γm<γa,其中,作业a表示为除已调度和作业m外的任意作业,该式表示一旦调度作业m,则剩余作业无法在节点i上调度;
步骤S27,定义决策变量Zim,Zim表示如果调度作业m∈M分配到i赋值为1,否则是0;
步骤S3,建立约束模型,具体包含以下步骤:
步骤S31,定义约束模型符合以下假设条件:资源预留原则、不考虑时钟中断和网络中断的因素影响、不考虑设备损耗;
步骤S32,基于上述假设条件,建立异构资源智能并行调度约束模型,
min{f=maxTCosti};
其中,上述约束模型中,目标函数f的含义是计算关键路径的时长并令其最小化,约束包括带宽约束、计算核数约束、内存约束和决策变量约束;将气象卫星数据处理的异构资源节点集合设为N,调度作业集合设为M,计算框架集合设为K,其中,k在{0,1}之中取值,取0代表CPU框架,取1代表GPU框架;
步骤S33,利用公式对模型进行数学转换,
步骤S4,基于改进遗传算法进行求解,具体包含以下步骤:
步骤S41,定义染色体长度为Chrom、最大进化代数为Generationnmax、种群大小为Popsize、交叉率为Pcrossover、变异率为pmutation,给IOmk、Coremk、Rm、IOComputei、CoreComputei、PComputei、TDemandim、M、N赋值,并设定每条染色体最大基因数;
步骤S42,初始化种群;
步骤S43,根据优胜劣汰的标准,计算适应度函数,将当前计算的适应度进行排序,其中,适应度函数值的大小表示染色体质量,适应度函数值越大,其对环境的适应能力越好,反之亦然;
步骤S44,执行选择操作,从当前种群中选择W个个体作为下一代种群的父代种群Q,采用随机遍历采样法、局部选择法、适应度比例选择法、轮盘赌选择方法中的任意一种遗传算法;
步骤S45,执行交叉操作;
步骤S46,执行变异操作,设定变异率值,其中,遗传变异是指群体中部分个体的染色体发生一个或多个基因的突变,这些基因突变变成相同位置的其他基因,即产生了一个新的突变体,变异可以提高种群个体的多样性,使遗传算法具有局部随机搜索的能力,同时可以降低算法过早收敛的概率;
步骤S47,重复迭代步骤S44至步骤S46产生新种群,直到满足结束条件,其中,结束条件为:当遗传算法产生的个体的适应度达到预设的阈值,同时适应度函数值保持稳定,表明算法已收敛于某一最优解,即得到成熟种群,则停止进化,反之亦然,或者当迭代次数达到预设次数也停止操作;
步骤S48,给最优个体进行解码,得到相对最优解,保存求解结果并退出。
2.根据权利要求1所述的一种基于改进遗传算法的异构资源智能并行调度方法,其特征在于,所述步骤S1中,集合、变量及决策变量的定义具体包含以下步骤:
将作业m在计算框架k下所需I/O带宽设为IOmk,作业m在计算框架k下所需的核数设为Coremk,作业m所需的内存空间设为Rm,计算节点i的I/O带宽设为IOComputei,计算节点i的核数设为CoreComputei,计算节点i的内存设为RComputei。
3.根据权利要求1所述的一种基于改进遗传算法的异构资源智能并行调度方法,其特征在于,所述步骤S41中,设定每条染色体最大基因数为50,其中,每条染色体上包含N×M个基因。
4.根据权利要求1所述的一种基于改进遗传算法的异构资源智能并行调度方法,其特征在于,所述步骤S42中,初始化种群具体包含以下内容:通过随机选择产生遗传算法的初始化个体,即第一代种群,在确定的近似初始解范围内,根据空间中最优个体的分布选择初始种群范围,将这些可行解编码成NUM条染色体,将初始种群值设置为选择100。
5.根据权利要求1所述的一种基于改进遗传算法的异构资源智能并行调度方法,其特征在于,所述步骤S4中,遗传算法为轮盘赌选择方法。
6.根据权利要求1所述的一种基于改进遗传算法的异构资源智能并行调度方法,其特征在于,所述步骤S45中,执行交叉操作具体包含以下内容:采用适合自然数编码的单点交叉方法,初步设定交叉率为0.9,两两配对执行交叉运算生成子代染色体。
7.根据权利要求1所述的一种基于改进遗传算法的异构资源智能并行调度方法,其特征在于,所述步骤S46中,变异率为0.1。
8.根据权利要求1所述的一种基于改进遗传算法的异构资源智能并行调度方法,其特征在于,所述步骤S47中,迭代次数设定为50。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110288489.7A CN113127167B (zh) | 2021-03-18 | 2021-03-18 | 一种基于改进遗传算法的异构资源智能并行调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110288489.7A CN113127167B (zh) | 2021-03-18 | 2021-03-18 | 一种基于改进遗传算法的异构资源智能并行调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113127167A CN113127167A (zh) | 2021-07-16 |
CN113127167B true CN113127167B (zh) | 2023-11-03 |
Family
ID=76773522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110288489.7A Active CN113127167B (zh) | 2021-03-18 | 2021-03-18 | 一种基于改进遗传算法的异构资源智能并行调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113127167B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115408136B (zh) * | 2022-11-01 | 2023-03-24 | 安徽思高智能科技有限公司 | 一种基于遗传算法的rpa流程调度方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550033A (zh) * | 2015-11-17 | 2016-05-04 | 北京交通大学 | 私有云环境下基于遗传禁忌混合算法的资源调度策略方法 |
CN105740051A (zh) * | 2016-01-27 | 2016-07-06 | 北京工业大学 | 基于改进的遗传算法的云计算资源调度实现方法 |
CN107329831A (zh) * | 2017-06-29 | 2017-11-07 | 北京仿真中心 | 一种基于改进遗传算法的仿真资源调度方法 |
CN108880663A (zh) * | 2018-07-20 | 2018-11-23 | 大连大学 | 基于改进遗传算法的天地一体化网络资源分配方法 |
CN109800071A (zh) * | 2019-01-03 | 2019-05-24 | 华南理工大学 | 一种基于改进遗传算法的云计算任务调度方法 |
CN110109753A (zh) * | 2019-04-25 | 2019-08-09 | 成都信息工程大学 | 基于多维度约束遗传算法的资源调度方法及系统 |
US10599471B1 (en) * | 2016-08-08 | 2020-03-24 | Cognizant Technology Solutions U.S. Corporation | Project scheduling in a heterogeneous distributed computing environment |
CN111061569A (zh) * | 2019-12-18 | 2020-04-24 | 北京工业大学 | 一种基于遗传算法的异构多核处理器任务分配与调度策略 |
CN112328380A (zh) * | 2020-11-10 | 2021-02-05 | 武汉理工大学 | 一种基于异构计算的任务调度方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150170052A1 (en) * | 2013-12-12 | 2015-06-18 | King Fahd University Petroleum and Minerals | Method of reducing resource fluctuations in resource leveling |
-
2021
- 2021-03-18 CN CN202110288489.7A patent/CN113127167B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550033A (zh) * | 2015-11-17 | 2016-05-04 | 北京交通大学 | 私有云环境下基于遗传禁忌混合算法的资源调度策略方法 |
CN105740051A (zh) * | 2016-01-27 | 2016-07-06 | 北京工业大学 | 基于改进的遗传算法的云计算资源调度实现方法 |
US10599471B1 (en) * | 2016-08-08 | 2020-03-24 | Cognizant Technology Solutions U.S. Corporation | Project scheduling in a heterogeneous distributed computing environment |
CN107329831A (zh) * | 2017-06-29 | 2017-11-07 | 北京仿真中心 | 一种基于改进遗传算法的仿真资源调度方法 |
CN108880663A (zh) * | 2018-07-20 | 2018-11-23 | 大连大学 | 基于改进遗传算法的天地一体化网络资源分配方法 |
CN109800071A (zh) * | 2019-01-03 | 2019-05-24 | 华南理工大学 | 一种基于改进遗传算法的云计算任务调度方法 |
CN110109753A (zh) * | 2019-04-25 | 2019-08-09 | 成都信息工程大学 | 基于多维度约束遗传算法的资源调度方法及系统 |
CN111061569A (zh) * | 2019-12-18 | 2020-04-24 | 北京工业大学 | 一种基于遗传算法的异构多核处理器任务分配与调度策略 |
CN112328380A (zh) * | 2020-11-10 | 2021-02-05 | 武汉理工大学 | 一种基于异构计算的任务调度方法及装置 |
Non-Patent Citations (5)
Title |
---|
"Research of Multi-resource Dynamic Job-Shop Scheduling Based on the Hybrid Genetic Algorithm";Zhao Peng et al;《2009 Third International Conference on Genetic and Evolutionary Computing》;全文 * |
"面向多维异构计算系统的通信及任务调度研究";孙兆鹏;《中国优秀硕士论文电子期刊网》;全文 * |
基于改进遗传算法的云计算任务调度算法;胡艳华;唐新来;;计算机技术与发展(第10期);全文 * |
基于改进遗传算法的置换装配线调度问题研究;李劲;李洪;徐丽丽;王华;;中国管理科学(第12期);全文 * |
基于重要度的卫星系统虚拟集群资源调度方法;林曼筠;赵现纲;谢利子;范存群;;计算机仿真(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113127167A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108880663B (zh) | 基于改进遗传算法的天地一体化网络资源分配方法 | |
Wang et al. | Load balancing task scheduling based on genetic algorithm in cloud computing | |
CN105704255B (zh) | 一种基于遗传算法的服务器负载均衡方法 | |
CN112286677B (zh) | 一种面向资源受限边缘云的物联网应用优化部署方法 | |
CN102063339B (zh) | 基于云计算系统的资源负载均衡的方法和设备 | |
CN109840154B (zh) | 一种移动云环境下基于任务依赖的计算迁移方法 | |
CN109818786B (zh) | 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法 | |
Kaur et al. | Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud | |
CN114721833B (zh) | 一种基于平台业务类型的智能云端协调方法和装置 | |
CN113794494B (zh) | 一种面向低轨卫星网络的边缘计算系统及计算卸载优化方法 | |
CN110414826B (zh) | 一种云制造环境下柔性多任务前摄性调度优化方法 | |
CN112346839A (zh) | 一种基于进化算法的关联任务调度方法 | |
CN111813506A (zh) | 一种基于粒子群算法资源感知计算迁移方法、装置及介质 | |
CN112685138B (zh) | 云环境下基于多种群混合智能优化的多工作流调度方法 | |
CN113127167B (zh) | 一种基于改进遗传算法的异构资源智能并行调度方法 | |
CN109710372A (zh) | 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法 | |
CN110008023B (zh) | 基于遗传算法的云计算系统预算约束随机任务调度方法 | |
CN117077981B (zh) | 融合邻域搜索变异和差分进化的停机位分配方法及装置 | |
CN115220916A (zh) | 视频智能分析平台的自动算力调度方法、装置及系统 | |
He | Optimization of edge delay sensitive task scheduling based on genetic algorithm | |
Li et al. | Multi‐objective Optimization for Cloud Task Scheduling Based on the ANP Model | |
CN115016889A (zh) | 一种用于云计算的虚拟机优化调度方法 | |
CN110689320A (zh) | 一种基于协同进化算法的大规模多目标项目调度方法 | |
CN111858003A (zh) | 一种Hadoop最优参数评估方法及装置 | |
Zhou | A heuristic task scheduling strategy for intelligent manufacturing in the big data-driven fog computing environment |
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 |