CN113010319A - 混合启发式规则和遗传算法的动态工作流调度优化方法 - Google Patents
混合启发式规则和遗传算法的动态工作流调度优化方法 Download PDFInfo
- Publication number
- CN113010319A CN113010319A CN202110354888.9A CN202110354888A CN113010319A CN 113010319 A CN113010319 A CN 113010319A CN 202110354888 A CN202110354888 A CN 202110354888A CN 113010319 A CN113010319 A CN 113010319A
- Authority
- CN
- China
- Prior art keywords
- task
- time
- workflow
- genetic algorithm
- heuristic
- 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.)
- Pending
Links
- 230000002068 genetic effect Effects 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000005457 optimization Methods 0.000 title claims abstract description 22
- 210000000349 chromosome Anatomy 0.000 claims abstract description 48
- 230000035772 mutation Effects 0.000 claims abstract description 12
- 238000012216 screening Methods 0.000 claims abstract description 5
- 230000005540 biological transmission Effects 0.000 claims description 8
- 108090000623 proteins and genes Proteins 0.000 claims description 5
- 150000002148 esters Chemical class 0.000 claims description 3
- 229940088594 vitamin Drugs 0.000 claims description 3
- 229930003231 vitamin Natural products 0.000 claims description 3
- 235000013343 vitamin Nutrition 0.000 claims description 3
- 239000011782 vitamin Substances 0.000 claims description 3
- 150000003722 vitamin derivatives Chemical class 0.000 claims description 3
- 125000002015 acyclic group Chemical group 0.000 claims description 2
- 230000002459 sustained effect Effects 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 8
- 230000008030 elimination Effects 0.000 description 7
- 238000003379 elimination reaction Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 4
- 239000002245 particle Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000002921 genetic algorithm search Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
Images
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Physiology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了混合启发式规则和遗传算法的动态工作流调度优化方法,包括以下步骤:1)设定启发式规则;2)将启发式规则根据编号编码到染色体中,初始化种群;3)根据适应度函数计算每个染色体的适应度值;4)根据适应度值筛选并淘汰部分个体;5)通过交叉和变异生成新的子代个体,直到种群中的个体恢复到原来的数量;6)如果迭代到阀值,则执行步骤7),否则执行步骤3);7)记录当前种群中适应度最高个体所代表的解决方案,并开始执行方案,执行时间为一个周期;8)在一个周期时间结束后,收集尚未调度的任务和在执行期间到达的工作任务,组成一个新的任务集合;9)以新的任务集合为基础,执行步骤2),得到新的调度方案。
Description
技术领域
本发明涉及工作流调度和智能计算两大领域,主要涉及混合启发式规则和遗传算法的动态工作流调度优化方法。
技术背景
云平台工作流调度可以通过调度任务的执行顺序和资源分配策略,有效地提高资源的利用率,并加快任务整体的完成时间。随着云计算产业的兴起,为了追求一个高效并低能耗的云平台环境,平台对调度算法的要求越来越高。
工作流调度的主要方法包括传统的任务调度算法和基于启发式思想的任务调度算法。传统的任务调度算法,一种是贪心算法,例如OLB,MET,MCT算法,它们分别采用机器最早可用时间优先、最短执行时间优先、最早完成时间优先的策略。而Duplex算法则是基于MET和MCT,并根据***的负载均衡来选择MET或MCT算法。另外一个种是任务集中调度算法,包括MinMini算法和MaxMin算法。传统的调度算法由于没有考虑到整个云平台任务的整体情况,因此容易陷入局部最优。而基于启发式思想的任务调度算法包括遗传算法、模拟退火算法、蚁群优化算法和粒子群优化算法。相比于传统的调度算法,启发式算法的优点是不受搜索空间限制性假设的约束,不要求连续性、可导性等假设,能从离散的、多极值的、含有噪音的高温问题中以很高的概率找到全局最优解。因此,启发式算法十分适用于工作流调度优化。
Ozdamar(Ozdamar L.A genetic algorithm approach to a general categoryproject scheduling problem[J].Systems Man&Cybernetics Part C Applications&Reviews IEEE Transactions on,1999,29(1):44-59.)提出使用启发式规则和遗传算法相结合,用于调度单个工作流,但是遗传算法主要针对于固定规模的问题,对于动态工作流不具有兼容性。
发明内容
针对以上问题,本发明提出了一种遗传算法与批处理相结合的方法对动态工作流进行调度优化,使遗传算法拥有接近实时处理的能力。本发明的一种混合启发式规则和遗传算法的动态工作流调度优化方法能够运用到云计算平台工作流调度中。
本发明至少通过如下技术方案之一实现。
混合启发式规则和遗传算法的动态工作流调度优化方法,包括以下步骤:
(1)设定需要编码在染色体上的启发式规则;
(2)将确定好的启发式规则根据编号编码到染色体中,设定遗传算法参数,初始化种群;
(3)模拟运行计算每一个任务的具体执行时间,以及所分配的资源,根据适应度函数计算每个染色体的适应度值;
(4)根据适应度值筛选并淘汰部分个体;
(5)通过交叉和变异生成新的子代个体,直到种群中的个体恢复到原来的数量;
(6)如果迭代到设定的阀值,则执行步骤(7),否则,执行步骤(3);
(7)记录当前种群中适应度最高个体所代表的解决方案,并开始执行方案,执行时间为一个周期T;
(8)在一个周期时间结束后,收集尚未调度的任务和在执行期间到达的工作任务,组成一个新的任务集合;
(9)以新的任务集合为基础,开始执行步骤(2),得到新的调度方案。
优选的,所述启发式规则包括:
①最小松弛度MINSK:
Pij=lftij-estij-dij+dtij
②最小最晚结束时间MIN LFT:
Pij=lftij+dtij
③最小运行时间MIN SPT:
Pij=dij+dtij
④最小最晚开始时间MIN LST:
Pij=lftij-dij+dtij
⑤最小最早结束时间MIN EFT:
Pij=estij+dtij
其中,Pij表示当前任务的执行的优先度,数值越小,优先度越高;lftij表示任务最晚停止的时间;estij表示任务最早可以开始的时间;dij表示任务可能持续的时间;dtij表示数据传输需要用到的时间。
优选的,所述适应度函数为:
makespani=max{ftij}-min{stij}
其中,ftij为任务tij的结束时间,stij为任务tij的开始时间,以一个工作流中所有任务的最晚结束的时间与最早开始时间之差makespani作为完成整个工作流所用的时间;N表示工作流的总数为N,tij表示第i个工作流中的第j个任务,makespani表示第i个工作流完成所需要的时间。在动态的云平台环境中,一段时间内有若干个工作流到达,则计算所有工作流所完成时间的平均值makespanavg,并以makespanavg作为当前染色体的适应度。
优选的,所述工作流Wi为:
Wi={ai,Gi}
Gi={Ti,Ei}
其中,Wi表示工作流,Gi为有向无环图,ai表示任务流到达的时间,Ti={ti1,ti2,...,tiN},Ti表示工作流Wi中所有任务的集合,Ei表示工作流中所有边的集合,tiN表示工作流Wi中的第j个任务,边则表示任务tij和任务tik之间需要传输的数据。
优选的,所述交叉具体为,在筛选后的种群中,随机选取两个人个体作为父代,并随即选取父代染色体上的两个点作为交叉的起点和终点,然后交换两条染色体上起点和终点之间的片段,生成两个新的染色体。
优选的,所述变异的具体为:对每个染色体的每一维生成一个随机分布于0和1之间的随机数,如果这个随机数小于设定的变异概率Pm,则随机改变为随机的一个其他的启发式规则。
优选的,在步骤1中,编码染色体时,将启发式的序号设置为染色体上的基因;染色体上的基因决定在调度任务时,应当选择对应的启发式规则。
优选的,所述启发式规则还包括:
1)、先来先服务FCFS:
Pij=Arri
Arri表示任务的到达时间,越早到达的任务执行优先度越高;
2)、最小传输时间MIN TT:
Pij=dtij
dtij表示执行当前任务需要传输的数据量;
3)、随机选择Random:
Pij=Random()。
优选的,在步骤4中,种群在迭代时的淘汰率为20%~40%。
优选的,所述参数包括种群大小和迭代次数。
与现有的技术相比,本发明的有益效果为:
由于遗传算法概念简单,易于实现,而且可以适用于解决大部分的NP难问题,因此有广泛的应用。但是由于任务繁多,大大提高了解决问题的规模,因此算法的效率也会下降。因此,本发明在遗传算法中引用了启发式规则,是的遗传算法在迭代时不仅是随机搜索最优解,而是根据一些经验而总结的一些启发规则,从而使得收敛速度更快。同时,为了解决动态环境中的调度问题,采用了遗传算法结合批处理的方式,使得它能够循环调度工作流。
附图说明
图1为本实施例混合启发式规则和遗传算法的动态工作流调度优化方法的流视图;
图2为本实施例动态批处理框架图。
具体实施方式
以下结合附图,进一步对发明的方法进行描述。
在云计算平台中,主要存在计算密集型的问题和数据传输密集型的问题,这些问题都可被归结为工作流问题。在动态的云平台环境中,在一段时间内,往往都会有若干个任务在不定的时刻到达。
如图2所示,本实施例一种混合启发式规则和遗传算法的动态工作流调度优化方法,包括以下步骤:
(1)设定需要编码在染色体上的启发式规则;
所述启发式规则包括:
①MINSK(最小松弛度):
Pij=lftij-estij-dij+dtij
②MIN LFT(最小最晚结束时间):
Pij=lftij+dtij
③MIN SPT(最小运行时间):
Pij=dij+dtij
④MIN LST(最小最晚开始时间):
Pij=lftij-dij+dtij
⑤MIN EFT(最小最早结束时间):
Pij=estij+dtij
其中,Pij表示当前任务的执行的优先度,数值越小,优先度越高。lftij表示一个任务最晚停止的时间。estij表示一个任务最早可以开始的时间。dij表示一个任务可能持续的时间。dtij表示数据传输需要用到的时间,通常等于需要传输的数据量/网络带宽。
(2)将确定好的启发式规则根据编号编码到染色体中,确定遗传算法的一些算法参数。例如,设种群大小为N=1000,迭代次数为50。其中,种群的大小和迭代的次数由实际问题而定,如果问题规模小,则可以适当减少种群的大小,如果要求快速收敛得到可行解,则可以减少迭代的次数,如果对结果的精度和效率要求高,则适当增加迭代次数。然后初始化种群。
模拟运行计算每一个任务的具体执行时间,以及所分配的资源,根据适应度函数计算每个染色体的适应度值;所述适应度函数为:
makespani=max{ftij}-min{stij}
(3)筛选并淘汰适应度值低的个体,淘汰率通常为种群大小的20%~40%,对于不同的问题可以多次试验得到效果最好的淘汰率;
(4)通过交叉和变异生成新的子代个体,直到种群中的个体恢复到原来的数量;
运用交叉与变异算子以增加粒子群体的多样性。交叉的具体方法为,在筛选后的种群中,随机选取两个人个体作为父代,并随即选取父代染色体上的两个点作为交叉的起点和终点,然后交换两条染色体上起点和终点之间的片段,生成两个新的染色体。
变异的具体方法为:对每个染色体的每一维生成一个随机分布于0和1之间的随机数。如果这个随机数小于变异概率Pm,那么就随机改变为随机的一个其他的启发式规则。
(5)如果迭代到设定的阀值,则执行步骤(7),否则,执行步骤(3);
(6)记录当前种群中适应度最高个体所代表的解决方案,并开始执行方案,执行时间为一个周期T;
(7)在一个周期时间T结束后,收集尚未调度的任务和在执行期间到达的工作任务,组成一个新的任务集合;
(8)以新的任务集合为基础,开始执行步骤(2),得到新的调度方案。
图1展示了其中一个拥有5个任务的简单的工作流,每个任务用编号1~5表示。通常,一个工作流Wi={ai,Gi}用一个有向无环图Gi={Ti,Ei}表示,其中,ai表示这个任务流到达的时间,Ti={ti1,ti2,...,tiN},其中Ti表示工作流Wi中所有任务的集合,Ei表示工作流中所有边的集合。tiN表示工作流Wi中的第j个任务,节点tiN表示这个工作流中的一个子任务,每个任务都有相对应的处理量Dij和消耗的资源Costij。每条边则表示任务tij和任务tik之间需要传输的数据,其中箭头的方向表示顺序的执行顺序,任一任务都必须在所有指向它的任务结束后才可以执行。在任务层面,不同的任务可能分配给集群中不同的机器来执行,将任务具体调度到云平台的机器上关键的一步。而在平台层面上,需要对不断上传到云端的任务进行调度,从而保证整体的效率和消耗。本发明的目标就是提出一个有效的算法来为大规模且持续的工作流调度问题生成一个高效的调度方案。
总的来说,工作流调度就是将工作流中的任务安排到对应的云平台虚拟机,生成具体的工作流调度方案,并且满足使工作流整体的运行时间达到最小。
本发明采用遗传算法和启发式规则混合的算法来获得解决方案。在本发明中使用到的启发式信息主要基于关键路径算法,通过经验将各种变量组合为高效的启发式规则,并结合数据在虚拟机之间传输的时间,用到的启发式信息有:
1.最小松弛度:
由关键路径算法生成一个任务tij在工作流Wi中最理想状态下的最晚结束时间lftij和最早开始时间estij,除开任务执行的时间dij和任务传输时间dtij,可以计算出一个任务的优先级程度Pij为:
Pij=lftij-estij-dij+dtij
松弛度表示一个任务可任意安排的一段时间,在这段时间中,无论任务在何时开始何时结束,都不会影响到其他任务的运行。对于较小松弛度时间的任务来说,调度的时间不灵活,因此具有更高的优先级。
2.最早结束时间:
以单个任务在理想条件下最小结束时间lftij为标准,调度时间结束越早的任务具有更高的优先级。同时计算上需要传输数据的时间dtij,任务tij的优先级Pij为:
Pij=lftij+dtij
以每个任务最早结束时间为标准,这样可以最大化在同一台虚拟机上能够处理的任务数量。能有效减少数据传输的时间,并提高处理任务的效率。
3.最小处理时间:
以给定单个任务的工作量dij为标准,工作量越小的任务具有更高的优先级。同时计算上需要传输数据的时间dtij,任务tij的优先级Pij为:
Pij=dij+dtij
以每个任务最早结束时间为标准,这样可以最大化减少其他任务等待的时间,提高处理任务的效率。
4.最小最晚开始时间:
Pij=lftij-dij+dtij
这个启发信息在启发信息2的基础上,考虑了任务本身需要处理的时间。
5.最小最早结束时间:
Pij=estij+dtij
以上为本发明需要使用的启发式信息。定义好所需要的启发式信息后,开始将启发式信息编码入遗传算法的染色体。
由于每个启发式信息都需要使用到关键变量lftij和estij,所以在云计算平台收集好需要处理的工作流和任务后,使用关键路径算法计算出每个任务的关键变量。在一个总任务数量为N的集群中。构造长度为N的染色体。其中,染色体的第i维表示第i此调度时需要使用的启发式信息。例如,集群中有5个待调度的任务,则定义染色体为C={2,3,5,4,2}。当第1次调度时,查看染色体中第1维为2,表示使用启发式信息2来计算每个任务的优先度。当第3次调度时,查看染色体中第3维为5,表示使用启发式信息5来计算每个任务的有限度。当确定好第i次调度时所采用的启发式规则时,采用当前规则计算每个待调度的每个任务的优先度,然后调度最高优先度的任务到当前最快的虚拟机上。
根据给定的种群参数,确定种群的大小,随机初始化种群。对于每个染色体来说,都是一种调度方案,测试每个染色体的适应度。即在当前的集群环境中,按当前染色体的调度方案模拟调度,计算当前染色体的适应度。其适应度方程为:
makespani=max{ftij}-min{stij}
其中,ftij为任务tij的结束时间,stij为任务tij的开始时间,以一个工作流中所有任务的最晚结束的时间与最早开始时间之差makespani作为完成整个工作流所用的时间。而在动态的云平台环境中,一段时间内有若干个工作流到达,因此,需要计算所有工作流所完成时间的平均值makespanavg。并以makespanavg作为当前染色体的适应度。
以给定的淘汰率参数淘汰适应度低的个体,然后随机选择剩下的个体进行交叉编译产生新的个体,直到种群中染色体的恢复至原来的数量。通常种群在迭代时的淘汰率为20%~40%,由于问题的规模和问题本身的难易程度,需要通过多次的试验从而得出最合适的淘汰率。
对于交叉来说,随机选取父代两条染色体上对应的一段,然后交叉生成新的个体。对比变异来说,对染色体上的每一维都生成一个0-1之间的浮点数,若这个随机数小于给定的变异概率,则对应的维所对应的启发式信心变异为随机的其他的启发式方法。
重复淘汰、生成新个体、交叉变异的过程,直到满足所定义的代数。记录最终代的最优结果。
对于动态的云计算平台来说,工作流在会源源不断的到达。针对这个问题,本发明采用批处理的方式。图2展示了批处理的框架,以时间T为一个周期,在周期开始时,收集上一个周期到达的新工作流和目前尚未调度的工作流,初始化一个种群,迭代到给定代数之后,选取最优的解决方案,作为当前周期的调度方案。然后运行一个周期时间T,在一个周期时间T后,停止运行,进入下一个周期,初始化新的种群,迭代得到下一个周期的解决方案,由此往复,可以不断调度云平台上的任务流。
步骤1中,在将启发式规则编码入种群的染色体中时,具体实施方式1采用了最小松弛度、最小最晚结束时间、最小运行时间、最小最晚开始时间、最小最早结束时间5种启发式规则,并将所有的启发式规则作为基因编码入染色体。然而,事实是对于越多的启发式规则,最后找到的调度方案具有更好的效率,但是,在搜索的过程中,采用启发式规则越多,搜索空间越大,因此,搜索解的时间会更长。另外,对于启发式来说,有些启发式本身对某些问题的解决效率较低,并不是所有的启发式规则都适用于所有的问题,适当选择合适的启发式规则和选择合适的规则数量可以提高遗传算法搜索的效率。
作为另一优选的实施例,可以只选择启发式规则集合中的一个子集,例如,只选择1~3号启发式规则,然后编码染色体{1,2,3,2,2,1}。这条染色体表示一共调度六次,每次调度使用的启发式规则为1~3号启发式规则中的一个。在实际问题中,针对不同的问题,可以多次试验得到最好的启发式规则组合。
作为优选的实施例,针对不同的问题是使用不同启发式组合,从而更加针对性地解决具体的问题。因此,可添加其他的启发式规则。例如:
1)、FCFS(先来先服务):
Pij=Arri
Arri表示任务的到达时间,越早到达的任务执行优先度越高。
2)、MIN TT(最小传输时间):
Pij=dtij
dtij表示执行当前任务需要传输的数据量,这条启发式规则针对于IO密集型任务来说效率更好,因为当需要传输大量数据的两个任务先后在同一台主机上执行时,是不需要进行数据传输的,因此,可以很高地提高效率调度的效率。
3)、Random(随机选择):
Pij=Random()
随机选择是为每个任务随机赋予一个优先值,这样的方法更接近于原始的遗传算法,在选择启发式规则的过程中可以用作对照实验,确定每种启发式规则的自身的效率。
在步骤8中,在每个周期初生成的调度方案只能在当前周期中起作用,运行T时间后,需要重新开始调度生成新的调度方案,而每次生成新的调度方案是,针对的是上一个周期到达的任务和上一个周期未完成的任务,因此,相当于任务的调度存在延时性,延时的时间为一个周期。在实际上操作中,这个周期时间可以根据实际上情况调整。
例如电商平台的配送规定是当天上午人的订单下午配送,下午的订单次日上午配送,对于这种情况来说,允许有半天的延迟调度,因此,可以将T定义为6小时(除去晚上的时间)。而对于更加需要接近实时调度的任务来说,可以减少T所有定义的时间,可以定义为1小时或者更少。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.混合启发式规则和遗传算法的动态工作流调度优化方法,其特征在于,包括以下步骤:
(1)设定需要编码在染色体上的启发式规则;
(2)将确定好的启发式规则根据编号编码到染色体中,设定遗传算法参数,初始化种群;
(3)模拟运行计算每一个任务的具体执行时间,以及所分配的资源,根据适应度函数计算每个染色体的适应度值;
(4)根据适应度值筛选并淘汰部分个体;
(5)通过交叉和变异生成新的子代个体,直到种群中的个体恢复到原来的数量;
(6)如果迭代到设定的阀值,则执行步骤(7),否则,执行步骤(3);
(7)记录当前种群中适应度最高个体所代表的解决方案,并开始执行方案,执行时间为一个周期T;
(8)在一个周期时间结束后,收集尚未调度的任务和在执行期间到达的工作任务,组成一个新的任务集合;
(9)以新的任务集合为基础,开始执行步骤(2),得到新的调度方案。
2.基于权利要求1所述的混合启发式规则和遗传算法的动态工作流调度优化方法,其特征在于,所述启发式规则包括:
①最小松弛度MINSK:
Pij=lftij-estij-dij+dtij
②最小最晚结束时间MIN LFT:
Pij=lftij+dtij
③最小运行时间MIN SPT:
Pij=dij+dtij
④最小最晚开始时间MIN LST:
Pij=lftij-dij+dtij
⑤最小最早结束时间MIN EFT:
Pij=estij+dtij
其中,Pij表示当前任务的执行的优先度,数值越小,优先度越高;lftij表示任务最晚停止的时间;estij表示任务最早可以开始的时间;dij表示任务可能持续的时间;dtij表示数据传输需要用到的时间。
3.基于权利要求2所述的混合启发式规则和遗传算法的动态工作流调度优化方法,其特征在于,所述适应度函数为:
makespani=max{ftij}-min{stij}
其中,ftij为任务tij的结束时间,stij为任务tij的开始时间,以一个工作流中所有任务的最晚结束的时间与最早开始时间之差makespani作为完成整个工作流所用的时间;N表示工作流的总数为N,tij表示第i个工作流中的第j个任务,makespani表示第i个工作流完成所需要的时间,在动态的云平台环境中,一段时间内有若干个工作流到达,则计算所有工作流所完成时间的平均值makespanavg,并以makespanavg作为当前染色体的适应度。
4.基于权利要求3所述的混合启发式规则和遗传算法的动态工作流调度优化方法,其特征在于,所述工作流Wi为:
Wi={ai,Gi}
Gi={Ti,Ei}
其中,Wi表示工作流,Gi为有向无环图,ai表示任务流到达的时间,Ti={ti1,ti2,...,tiN},Ei={ei jk,...},Ti表示工作流Wi中所有任务的集合,Ei表示工作流中所有边的集合,tiN表示工作流Wi中的第j个任务,边ei jk则表示任务tij和任务tik之间需要传输的数据。
5.基于权利要求4所述的混合启发式规则和遗传算法的动态工作流调度优化方法,其特征在于,所述交叉具体为,在筛选后的种群中,随机选取两个人个体作为父代,并随即选取父代染色体上的两个点作为交叉的起点和终点,然后交换两条染色体上起点和终点之间的片段,生成两个新的染色体。
6.基于权利要求5所述的混合启发式规则和遗传算法的动态工作流调度优化方法,其特征在于,所述变异的具体为:对每个染色体的每一维生成一个随机分布于0和1之间的随机数,如果这个随机数小于设定的变异概率Pm,则随机改变为随机的一个其他的启发式规则。
7.基于权利要求6所述的混合启发式规则和遗传算法的动态工作流调度优化方法,其特征在于,在步骤1中,编码染色体时,将启发式的序号设置为染色体上的基因;染色体上的基因决定在调度任务时,应当选择对应的启发式规则。
8.基于权利要求7所述的混合启发式规则和遗传算法的动态工作流调度优化方法,其特征在于,所述启发式规则还包括:
1)、先来先服务FCFS:
Pij=Arri
Arri表示任务的到达时间,越早到达的任务执行优先度越高;
2)、最小传输时间MIN TT:
Pij=dtij
dtij表示执行当前任务需要传输的数据量;
3)、随机选择Random:
Pij=Random()。
9.基于权利要求8所述的混合启发式规则和遗传算法的动态工作流调度优化方法,其特征在于,在步骤4中,种群在迭代时的淘汰率为20%~40%。
10.基于权利要求9所述的混合启发式规则和遗传算法的动态工作流调度优化方法,其特征在于,所述参数包括种群大小和迭代次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110354888.9A CN113010319A (zh) | 2021-03-31 | 2021-03-31 | 混合启发式规则和遗传算法的动态工作流调度优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110354888.9A CN113010319A (zh) | 2021-03-31 | 2021-03-31 | 混合启发式规则和遗传算法的动态工作流调度优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113010319A true CN113010319A (zh) | 2021-06-22 |
Family
ID=76387628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110354888.9A Pending CN113010319A (zh) | 2021-03-31 | 2021-03-31 | 混合启发式规则和遗传算法的动态工作流调度优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010319A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115796095A (zh) * | 2023-02-07 | 2023-03-14 | 中国科学技术大学 | 一种基于遗传算法的脉冲插值定时参数优化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597682A (zh) * | 2018-11-26 | 2019-04-09 | 华南理工大学 | 一种采用启发式编码策略的云计算工作流调度方法 |
US20190266534A1 (en) * | 2016-07-20 | 2019-08-29 | Worldline | Multi-criteria adaptive scheduling method for a market-oriented hybrid cloud infrastructure |
-
2021
- 2021-03-31 CN CN202110354888.9A patent/CN113010319A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190266534A1 (en) * | 2016-07-20 | 2019-08-29 | Worldline | Multi-criteria adaptive scheduling method for a market-oriented hybrid cloud infrastructure |
CN109597682A (zh) * | 2018-11-26 | 2019-04-09 | 华南理工大学 | 一种采用启发式编码策略的云计算工作流调度方法 |
Non-Patent Citations (1)
Title |
---|
肖建平等: "Dynamic Cloud Workflow Scheduling with a Heuristic-Based Encoding Genetic Algorithm", 《NEURAL INFORMATION PROCESSING 27TH INTERNATIONAL CONFERENCE, ICONIP 2020》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115796095A (zh) * | 2023-02-07 | 2023-03-14 | 中国科学技术大学 | 一种基于遗传算法的脉冲插值定时参数优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hamad et al. | Genetic-based task scheduling algorithm in cloud computing environment | |
Muthuvelu et al. | A dynamic job grouping-based scheduling for deploying applications with fine-grained tasks on global grids | |
Fan et al. | An improved genetic algorithm for flexible job shop scheduling problem considering reconfigurable machine tools with limited auxiliary modules | |
CN104765640B (zh) | 一种智能服务调度方法 | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN107943568B (zh) | 综合模块化航空电子***两级调度模型与原型平台 | |
CN112685138B (zh) | 云环境下基于多种群混合智能优化的多工作流调度方法 | |
CN111813500B (zh) | 一种多目标云工作流调度方法及装置 | |
Heidari et al. | Scheduling in multiprocessor system using genetic algorithm | |
CN114647515A (zh) | 一种面向gpu集群的动态资源调度方法 | |
CN111082971B (zh) | 一种面向云负载测试的共享式资源分配方法 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
He | Optimization of edge delay sensitive task scheduling based on genetic algorithm | |
CN105740059A (zh) | 一种面向可分割任务的粒子群调度方法 | |
CN116932201A (zh) | 一种面向深度学习训练任务的多资源共享调度方法 | |
CN113010319A (zh) | 混合启发式规则和遗传算法的动态工作流调度优化方法 | |
Singh et al. | Cuckoo search based workflow scheduling on heterogeneous cloud resources | |
Dahal et al. | Scheduling in multiprocessor system using genetic algorithms | |
CN115421885B (zh) | 一种分布式多目标云任务的调度方法、装置及云服务*** | |
CN109298932B (zh) | 基于OpenFlow的资源调度方法、调度器及*** | |
CN111966447A (zh) | 一种基于双排列遗传算法的容器放置方法 | |
Kousalya et al. | Hybrid algorithm based on genetic algorithm and PSO for task scheduling in cloud computing environment | |
Zaman et al. | Evolutionary algorithm for project scheduling under irregular resource changes | |
Kim et al. | A due date-based approach to part type selection in flexible manufacturing systems | |
Li et al. | SLA-based task offloading for energy consumption constrained workflows in fog computing |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210622 |
|
RJ01 | Rejection of invention patent application after publication |