CN111078380B - 一种多目标任务调度方法及系统 - Google Patents
一种多目标任务调度方法及系统 Download PDFInfo
- Publication number
- CN111078380B CN111078380B CN201911251838.7A CN201911251838A CN111078380B CN 111078380 B CN111078380 B CN 111078380B CN 201911251838 A CN201911251838 A CN 201911251838A CN 111078380 B CN111078380 B CN 111078380B
- Authority
- CN
- China
- Prior art keywords
- task
- stage
- scheduling
- tasks
- slots
- 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
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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开公开了一种多目标任务调度方法及系统,包括:以最大完工时间以及映射阶段和归约阶段所有slots的总能耗最小化为目标,构建两阶段混合流水车间调度模型;采用改进的多目标入侵杂草优化算法求解两阶段混合流水车间调度模型,得到调度优化方案;利用得到的调度优化方案对异构分布式平台的任务进程进行调度。一种多目标IWO算法解决MapReduce系统中任务分配问题,同时考虑最大完成时间和所有slots的能耗最小化的目标函数,在p‑最优性准则的基础上,嵌入一种繁殖启发式算法确定每种杂草在世代中的后代数,提高搜索质量和算法的多样性。
Description
技术领域
本公开涉及多目标任务调度技术领域,特别是涉及一种多目标任务调度方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
近年来,互联网服务和分布式计算平台,如集群、网格和云的快速应用极大地提高了数据的处理效率。在云系统中,MapReduce平台已经成为并行大数据处理能力的领先范例。它的开源实现Apache Hadoop已被用于分布式大数据处理和分析。随着MapReduce平台的日益使用,如何提高MapReduce集群的性能成为关键问题。
在Hadoop中,有两个主要组件,即分布式文件系统,称为Hadoop分布式文件系统(HDFS)和MapReduce引擎。HDFS一般包含两种类型的节点,即一个名为master的姓名节点和几个名为从节点的数据节点,用于调度每个映射和归约任务的JobTracker在主节点上运行,运行TaskTracker的从节点负责处理每个映射和归约任务。映射任务在一个数据域中接受一个类型的输入对数据,并在另一个域中生成一个对的列表:map(k1,v1)->list(k2,v2),将与相同密钥相关联的生成的值分组在一起,然后传递到归约任务。归约任务使用相同密钥的数据组,并对其进行处理,以在同一域中形成新的值列表。“slot”的概念通常分为映射间slot和归约slot,用于指示每个节点上的容纳任务的容量,在任何给定时间,每个slot只能运行一个任务,反之亦然。在MapReduce平台中,通常有五个阶段,即准备(输入所需的数据)、映射(过滤和排序数据)、混洗(重新分配映射的数据)、归约(处理每个组重新分配的数据),和输出(收集所有的归约输出)。
然而,能源消耗已成为绿云系统发展的关键问题,因为一个数据中心所消耗的能源大约有55%是由计算系统消耗的,其余部分由冷却、不间断电源等支撑系统消耗。显然,简单地提高执行速度的性能通常会消耗更高的能量消耗。因此,在能源消耗和执行时间或制造时间之间有一个权衡。
任务分配问题一般分为静态任务分配和动态任务分配两类。静态任务分配也称为确定性任务分配,它预先定义了并行应用程序的结构、每个任务的执行时间、传输成本和数据。规范IWO算法是一种新开发的基于人口的优化算法,其灵感来源于2006年Mehrabian和Lucus的杂草定殖和开发。自2006年成立以来,IWO一直被研究和应用于解决许多连续和离散优化问题。IWO的主要特征是它可以提供更高的机会来产生更多的后代,因此可以提高搜索能力和多样性。近年来,许多多目标启发式算法被应用于不同的优化问题,然而目前没有文献考虑使用IWO来解决多目标任务分配问题,没有解决映射和归约中slots的任务调度问题。
发明内容
为了解决上述问题,本公开提出了一种多目标任务调度方法及系统,提出一种新的多目标IWO算法解决MapReduce系统中任务分配问题,同时考虑最大完成时间和所有slots的能耗最小化的目标函数,在p-最优性准则的基础上,嵌入一种繁殖启发式算法确定每种杂草在世代中的后代数,明显地提高了搜索质量以及算法的多样性;基于一种修复机制,使每一种解决方案可行;每一代存储和应用新生成的杂草,并应用非支配排序算法来更新帕累托存档集以此降低计算复杂度。
为了实现上述目的,本公开采用如下技术方案:
第一方面,本公开提供一种多目标任务调度方法,包括:
以最大完工时间以及映射阶段和归约阶段所有slots的总能耗最小化为目标,将MapReduce系统任务调度构建为两阶段混合流水车间调度模型;
采用改进的多目标入侵杂草优化算法求解两阶段混合流水车间调度模型,得到调度优化方案;
利用得到的调度优化方案对MapReduce系统中两阶段任务进程进行调度。
作为可能的一些实现方式,所述MapReduce系统中作业加工过程包括映射阶段和归约阶段,MapReduce系统中每个作业均在两阶段中进行处理,并且从第一阶段到第二阶段进行加工,每个阶段存在若干个并行solts,在每个阶段,每个作业选择一台机器进行处理;
所述两阶段混合流水车间调度模型的约束包括:每个任务在映射阶段和归约阶段划分为多个子任务,每个子任务在不同的并行位置solts上进行处理;
或,每个任务不能被划分,只能在一台机器上进行处理。
作为可能的一些实现方式,所述最大完工时间的目标函数为:
其中,i为工件指数;j为任务指数;Cmax为最大完工时间;r表示归约阶段,n为工件数量;Vi α为在归约阶段中,工件Ji的任务集;
所述总能耗最小化的目标函数为:
其中,k为slots指数;x为slots数量;i为工件指数;j为任务指数;JJk为分配给slot k的一组任务;ek为slot k的单位时间内的能耗;Pi,j,k为由slot k执行的任务的处理时间;/>为在任务集Vi α中的任务j;α∈{m,r}表示映射阶段或归约阶段,m表示映射阶段,r表示归约阶段。
作为可能的一些实现方式,所述求解过程包括:
采用二维整数向量的方式对每个任务调度问题进行编码,其中第一维向量表示映射阶段和归约阶段的每个slot,第二维向量表示相应slot上处理的任务作业编号;
初始化每个作业中给定数量的任务,并为每个阶段的随机slot分配任务;
设置所有任务作业的处理顺序后,为每个阶段中的每个任务设置开始时间和释放时间,得到解码启发式;
采用解码修复法对解码启发式是否可行进行判断并调整;
采用非支配帕累托排序法和p-最优性算法,在两个优化目标下,对解码启发式进行繁殖,得到调度优化方案。
作为可能的一些实现方式,所述解码修复法包括:
计算每个slot的任务处理数量和内存需求总量;
根据solt的限制能力将其分成两组,第一集合包括分配任务的总数已超过其限制能力的slot,以及第二集合包括分配任务的总数未超过其限制能力的slot;
对第一集合中的每个solt中的任务进行重新分配,直到所有slot满足其限制能力。
作为可能的一些实现方式,所述重新分配过程为:
选择第一集合中任意一个solt中的任意一个任务,将其分配到第二集合中任意一个solt中,并在第一集合中删除该任务;
在保证第二集合中接收该任务的solt的任务处理数量和内存需求满足其限制能力下,更新解码启发式。
作为可能的一些实现方式,所述繁殖过程包括:
使用非支配帕累托排序法对当前种群中的所有杂草进行排序;
将当前存档中的所有杂草划分为不同的Pareto等级;
对于第一层Pareto等级中的所有杂草使用p-最优性算法计算p值,选择以最小p值作为最优解;
对于最后一层Pareto等级中的所有杂草计算p值,通过添加p值和级别数计算上一层Pareto等级中解的适应度值,选择最大适应度值的解作为最坏解;
计算每个Pareto等级中的每个解的适应度值和每种杂草的种子数量;
对当前种群中的每个解生成多个后代,并将新生成的解存储到临时集合中。
第二方面,本公开提供一种多目标任务调度系统,包括,
调度优化模型构建模块,其用于以最大完工时间以及映射阶段和归约阶段所有slots的总能耗最小化为目标,构建两阶段混合流水车间调度模型;
调度优化方案求解模块,其用于采用改进的多目标入侵杂草优化算法求解两阶段混合流水车间调度模型,得到调度优化方案;
调度模块,其用于利用得到的调度优化方案对异构分布式平台的任务进程进行调度。
第三方面,本公开提供一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述一种多目标任务调度方法的步骤。
第四方面,本公开提供一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述一种多目标任务调度方法的步骤。
与现有技术相比,本公开的有益效果为:
一种新的离散入侵杂草优化算法(DIWO)算法,同时被考虑,最大完成时间和所有slots的能耗最小化的两个优化目标;
在p-最优性准则的基础上,嵌入一种繁殖启发式算法来确定每种杂草在世代中的后代数,从而明显地提高了搜索质量以及算法的多样性;
提出了一种修复机制,使每一种解决方案都可行;为了降低计算复杂度,每一代都会存储和应用新生成的杂草被存储并应用非支配排序算法来更新帕累托存档集。通过对随机生成实例的详细比较,证明了该算法的有效性和多样性。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1为本公开方法流程图;
图2为本实施例MapReduce任务分配的一个例图;
图3为本实施例MapReduce任务调度的甘特图;
图4为本实施例编码示意图;
图5为本实施例对D<(·)的多项比较结果;
图6为本实施例D<(·),N<和R<的比较结果。
具体实施方式:
下面结合附图与实施例对本公开做进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本公开使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例1
如图1所示,是本实施例涉及的一种多目标任务调度方法的流程图。本公开提出了利用多目标入侵杂草优化算法求解MapReduce计算中的任务调度,结合问题特征,设计了一种新的解码,在p-最优性准则的基础上,嵌入一种繁殖启发式算法来确定每种杂草在世代中的后代数,从而明显地提高了搜索质量以及算法的多样性。此外,还提出了一种修复机制,使每一种解决方案都可行;为了降低计算复杂度,每一代都会存储和应用新生成的杂草被存储并应用非支配排序算法来更新帕累托存档集;通过对随机生成实例的详细比较,证明了该算法的有效性和多样性。
一种多目标任务调度方法包括以下步骤:
S1:以最大完工时间以及映射阶段和归约阶段所有slots的总能耗最小化为目标,构建两阶段混合流水车间调度模型;
如图2所示,本实施例中利用多目标入侵杂草优化算法求解MapReduce计算中的任务调度问题,表1详细给出符号表示:
表1.符号
本实施例把最大完工时间以及映射阶段和归约阶段所有slots的总能耗最小化当成目标,并提出了以下几个假设:
a.每个时隙类型可以被认为是一组相同的并行机器;
b.每个作业都被提交给Q,以便在映射和减缩阶段依次进行处理;
c.MapReduce集群是同构的,每个节点中的solts数被配置为CPU核心号码;
d.在每个任务的处理过程中没有中断事件;
e.任务处理时间是预先知道的;
f.在调度之前就知道了映射任务的输入数据的分布和大小;
g.对于每个作业,映射和减少阶段之间不存在重叠,也就是说,还原任务只能在完成映射任务之后才能开始;
h.任何solts都不能在任何时间处理多个任务,也不能在任何时间在多个时隙上处理任何任务;
i.每个solts都可以在完成眼前的前一个任务后处理后续任务;
g.每个solts都有其给定的处理能力,即每个时隙的最大任务数是预先定义的和确定性的;
k.输入数据时间由三个因素决定,即数据大小、数据位置和节点间的通信速率;
l.启动时间受三个因素的影响:前一阶段的完成时间/>输入数据时间/>以及由其上一次任务引起的设置时间/>由此得出。/>
m.每个位置solts包含一组要逐一处理的任务;
所述两阶段混合流水车间调度模型的目标函数为:
第一个目标是最小化最后一个任务的最大完成时间,即最小化Makspan
第二个目标是最小化所有位置的能耗
从对所考虑问题的描述可以看出,这类问题可以建模为一个两阶段混合流水车间调度问题(HFSP)。类似的特征如下:
(1)这两个问题都有许多工作要在两个阶段进行处理;
(2)每个作业应从第一阶段到第二阶段进行加工;
(3)每个阶段有几个并行solts或机器;
(4)在每个阶段,每个作业都应该准确地选择一台机器或插槽进行处理。
此外,本实施例中考虑的问题有一个特殊的约束,即每个作业都可以在每个阶段划分为几个任务,每个任务都可以在不同的并行solts上进行处理;
或者与规范HFSP机器不同,其中每个作业都不能被划分,只能在一台机器上进行精确的处理。
这个问题也类似于具有批量流约束的HFS,其中每个作业都可以被分成几个子块。但是这两个问题也是不同的,例如,在批量流HFS中,每个子批可以从当前阶段立即处理到完成后的下一个阶段,属于MapReduce中相同作业的任务应该为了彼此进入下一阶段而等待。
下面列举一个问题实例。
图3给出了MapReduce任务调度的示例,其中在Map阶段有三个solts,在减少阶段有两个solts。图3给出了MapReduce任务调度的示例,其中在Map阶段有三个solts,在Reduce阶段有两个solts。三个作业将从Map阶段处理到Reduce阶段,在Map阶段,每个任务被划分为三个任务和两个任务在Reduce阶段。如果任务是在指定slots上处理的第一个任务,则设置时间设置为零,其启动时间等于输入数据时间;否则,任务的开始时间应该是输入数据时间和前一个任务之间的设置时间之和。例如,在图3中,任务是Map阶段中slot1上的第一个任务,并且在处理它之前没有设置时间。然而,在处理任务/>之前,它应该包含任务/>和/>之间的输入数据时间和设置时间。
S2:采用改进的多目标入侵杂草优化算法求解两阶段混合流水车间调度模型,得到调度优化方案。
具体的,所述步骤S2实现方式如下:
典型IWO算法不同于其他基于群体的元启发式,如遗传算法(GA)和粒子群优化(PSO),IWO完全或主要在具有灵活区域限制的地理指定区域中生长其群体。也就是说,当前群体中的一些杂草可能具有更高的概率以产生更多的后代以传播更有希望的搜索区域,而一些其他人可能具有很少的后代,因此具有较少的搜索机会。
为了模拟杂草的定殖行为,该过程的一些基本特性如下:
a.初始化种群:在搜索区域上显示有限数量的种子(初始化种群);
b.繁殖:每个种子都生长到开花植物,并根据其适合性产生种子;
c.空间散布:所产生的种子被随机地分散在搜索区域上并生长到新的植物;
d.竞争排斥:这一过程一直持续到达到最大数量的植物;现在只有适应能力较低的植物才能生存和生产种子,其他植物正在被淘汰。这个过程一直持续到达到最大迭代为止,具有最佳适应度的植物最接近最优解。
Pareto最优概念
帕累托优势:解x被称为(Pareto)支配另一个解u表示,当且仅当
此外,使用表明两个解u和v互不相同。
最优Pareto解:如果没有满足v<x的任何解v,则将解x表示为最优Pareto解。
在本实施例中,采用多目标IWO算法来解决异构分布式计算系统中的任务分配问题,包括:
(1)编码
为了解决MapReduce中的任务调度问题,每个解(杂草)由二维整数向量表示,其中第一维用于表示映射和归约中的每个slot。第二维用于表示在相应slot上处理的任务编号。例如,给出图3中的示例解,相应的解表示在图4中给出,其中有两个阶段,即映射和归约阶段。在映射阶段,有三个slot为1,2和3,而在归约阶段,两个slot为1和2。在映射阶段的第一个slot上,分配和处理两个任务,编号为1和3。在映射阶段的第二个slot和第三个slot中,还有两个任务分别编号为{1,2}和{3,2}。在归约阶段中,只有三个任务,而编号为{1,2}的两个任务在第一个slot和第二个slot上的{3}上进行处理。
(2)初始解
要以随机方式生成解决方案,首先为每个作业生成给定数量的任务。对于图3中的给定示例,首先为映射阶段中的每个作业生成两个任务,并在归约阶段为每个作业生成一个任务。应当注意,相同作业的任务组被编号相同的任务编号。然后在生成给定数量的任务后,为每个阶段的随机slot分配任务。例如在映射阶段,将一组任务{1,3}随机分配给第一个slot。在分配每个任务之后,完成编码。
(3)解码启发式
由于每个slot上的所有任务都是在每个slot中给出的,所以上述编码方法很容易解码。设置所有任务的处理顺序后,为每个阶段中的每个任务设置开始时间。例如在映射阶段,考虑每个slot,决定每对连续任务和每个任务的输入数据时间之间的设置时间。然后为了将每组任务推送到归约阶段,决定释放时间,因为属于同一作业的所有任务都应彼此等待,以便同时启动归约阶段。
(4)解码修复法
上述步骤没有考虑内存和处理能力约束,如果一个slot被分配比其处理限制更多的任务,应该调整该解决方案以确保可行。解修复程序的详细步骤如下所示:
步骤1.计算每个slot的处理和内存需求总数;
步骤2.将所有slot分成两组,即,一个集合F1包含分配任务的总数已超过其限制的slot,以及属于另一个集合F2的其它slot;
步骤3.对于F1中的每个slot,执行以下步骤,直到所有slot满足其限制;
步骤3.1.删除随机选择的任务tr,并将tr分配给F2中随机选择的slot pr,并保证所产生的pr内存需求不超过其限制;
步骤3.2.更新解码。
(5)繁殖后代
种群中的每个杂草都有其自身的位置和在每一代的指定的再现区域。因此杂草可以产生一定数量的后代杂草取决于它在种群中相对于种群中最好和最差的适应度。即如果一种杂草具有更好的适应性,它将有更高的可能性产生更多的后代。因此与其它适应性较差的杂草相比,寻找更有前途的区域的概率更高。
基于非支配帕累托排序法和p-最优性准则,在同时考虑两个目标的前提下,提出一种新的繁殖方法,即:
步骤1.使用非支配排序方法对当前种群中的所有杂草进行排序;
步骤2.将当前人口(存档)中的所有杂草划分为不同的Pareto级别;
步骤3.对于第一Pareto等级中的所有杂草(这意味着这些杂草在其它Pareto等级中支配杂草),使用p-最优性准则计算p值;选择以最小p值作为最好解的解;
步骤4.对于最后一个Pareto层次中的所有杂草,计算p值;通过添加p值和级别数来计算上一层中每个解决方案的适应度值;
例如,如果解的p值等于0.8,且级别数为5,则该解的最后适应度值为5.8;
然后,选择最大适应度值的解作为当前种群中最坏的解;
步骤5.通过与步骤4的方法相同的方法计算每个级别中的每个解决方案的适应度值;
步骤6.根据以下公式获得每种杂草的种子数量:
fmin是最佳解的适应值,fmax是最坏解的适应值,fi是解i的值,Psize是种群的大小;
步骤7.对于当前种群中的每个解决方案,在其周围生成Si后代,并将新生成的解决方案存储到临时集合F中。
(6)算法框架
该算法的主要框架如下:
步骤1.初始化系统参数,并使用该方法生成初始填充;
步骤2.对当前群体中的每个解决方案进行评估,并在当前群体上应用非支配排序算法后更新Pareto存档集;
步骤3.在不超过最大计算时间的同时执行步骤4至10;
步骤4.使用不占主导的排序算法将每个解划分成不同的帕累托级;
步骤5.计算每个Pareto级别中每个解决方案的p值;
步骤6.计算每个解决方案的适应度值;
步骤7.计算每个解决方案的后代数量;
步骤8.对于每个解,生成一定数量的后代,并将新生成的解存储到向量F中;
步骤9.组合新生成的群体F和当前群体P,并应用无支配排序算法来划分Pareto层次;
步骤10.然后根据每个解决方案的适应度值选择并获得下一代,然后返回到步骤3。
S3:利用得到的调度优化方案对异构分布式平台的任务进程进行调度。
下面对本实施例提出的方法进行实验验证。
该算法在DELL i7 CPU上用C++编写,内存为16GB。每个实例独立运行30次,并收集得到的非主导解决方案进行比较。为了在不同的算法之间进行详细的比较,收集所有比较算法所获得的所有非支配解,然后对所得到的非主导解集合应用非支配排序算法;继而在第一Pareto层次中的非主导解被选择为每个被考虑实例的最终Pareto前沿。
在所提出的DIWO算法中,将种群大小PS视为系统参数,并将其初始化设置为50。最大计算时间设置为200秒。
(1)根据算法的实例特征,随机生成了30个算例并读取算例的任务;
本实施例使用从Yahoo!M45群集的现实工作负载来评估算法。从10个月的日志文件中抽取的数据分发中随机生成作业信息。详细实验实例如下:(1)将每个作业的映射和归约任务的数量设置为[150,500]的随机数范围;(2)每个任务的处理时间设置为[50,200]中的整数范围。根据该算法的实例特征,随机生成了30个实例,对算法的性能进行了测试。
(2)性能测试
对比较算法进行详细比较,在Pareto存档集中,通常考虑三个主要度量来评估所获得的非主导解的质量和多样性。即所获得的非主导解的数目(N<)、所获得的非主导的前沿和帕累托前沿的平均距离(D<(·))以及所获得的非主导解的比率(R<)。假设SP表示参考Pareto解集合,并且由所提出的算法获得的解决方案集合。
(3)结果比较
为了与目前的有效算法NSGA-II和MOEA/D进行配对比较,对其进行编码以解决给定的30个实例。NSGA-II的参数在其文献中设置为相同的值,不同之处在于停止条件设置为200秒。
D<(·)、N<和R<的比较结果见图6,从图6可以看出:
(1)为了解决不同尺度的任务分配问题,考虑到这三个比较指标,所提出的DIWO算法比NSGA-Ⅱ和MOEA/D算法获得了更好的结果;
(2)从平均数来看,所提出的算法的表现明显优于两种比较算法的性能;
(3)综合考虑搜索质量和多样性,DIWO算法是解决MapReduce中任务分配问题最好的算法。
为了确定观察到的与上表的差异是否确实是显著不同的,将Friedman测试和Holm多重比较测试应用于配对比较的事后过程。图5给出了对应用Holm多重比较测试的一对比较结果。从图5可以看出,所提出的DIWO算法明显优于其他比较算法。
实施例2
本公开提供一种多目标任务调度系统,包括:
调度优化模型构建模块,其用于以最大完工时间以及映射阶段和归约阶段所有slots的总能耗最小化为目标,构建两阶段混合流水车间调度模型;
调度优化方案求解模块,其用于采用改进的多目标入侵杂草优化算法求解两阶段混合流水车间调度模型,得到调度优化方案;
调度模块,其用于利用得到的调度优化方案对异构分布式平台的任务进程进行调度。
实施例3
本公开提供一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行一种多目标任务调度方法的步骤。
实施例4
本公开提供一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行一种多目标任务调度方法的步骤。
以上仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。
Claims (5)
1.一种多目标任务调度方法,其特征在于,包括:
以最大完工时间以及映射阶段和归约阶段所有slots的总能耗最小化为目标,将MapReduce系统任务调度构建为两阶段混合流水车间调度模型;
采用改进的多目标入侵杂草优化算法求解两阶段混合流水车间调度模型,得到调度优化方案;
利用得到的调度优化方案对MapReduce系统中两阶段任务进程进行调度;
所述最大完工时间的目标函数为:
其中,i为工件指数;j为任务指数;Cmax为最大完工时间;r表示归约阶段,n为工件数量;为在归约阶段中,工件Ji的任务集;
所述总能耗最小化的目标函数为:
其中,k为slots指数;x为slots数量;i为工件指数;j为任务指数;JJk为分配给slot k的一组任务;ek为slot k的单位时间内的能耗;Pi,j,k为由slot k执行的任务的处理时间;为在任务集/>中的任务j;α∈{m,r}表示映射阶段或归约阶段,m表示映射阶段,r表示归约阶段;
所述MapReduce系统中,作业加工过程包括映射阶段和归约阶段,MapReduce系统中每个作业均在两阶段中进行处理,并且从第一阶段到第二阶段进行加工,每个阶段存在若干个并行solts,在每个阶段,每个作业选择一台机器进行处理;
所述两阶段混合流水车间调度模型的约束包括:每个任务在映射阶段和归约阶段划分为多个子任务,每个子任务在不同的并行位置solts上进行处理;
或,每个任务不能被划分,只能在一台机器上进行处理;
所述采用改进的多目标入侵杂草优化算法求解两阶段混合流水车间调度模型的过程包括:
采用二维整数向量的方式对每个任务调度问题进行编码,其中第一维向量表示映射阶段和归约阶段的每个slot,第二维向量表示相应slot上处理的任务作业编号;
初始化每个作业中给定数量的任务,并为每个阶段的随机slot分配任务;
设置所有任务的处理顺序后,为每个阶段中的每个任务设置开始时间和释放时间,得到解码启发式;
采用解码修复法对解码启发式是否可行进行判断并调整;
采用非支配帕累托排序法和p-最优性算法,在两个优化目标下,对解码启发式进行繁殖,得到调度优化方案;
所述解码修复法包括:
计算每个slot的任务处理数量和内存需求总量;
根据solt的限制能力将其分成两组,第一集合包括分配任务的总数已超过其限制能力的slot,以及第二集合包括分配任务的总数未超过其限制能力的slot;
对第一集合中的每个solt中的任务进行重新分配,直到所有slot满足其限制能力;
所述重新分配过程为:
选择第一集合中任意一个solt中的任意一个任务,将其分配到第二集合中任意一个solt中,并在第一集合中删除该任务;
在保证第二集合中接收该任务的solt的任务处理数量和内存需求满足其限制能力下,更新解码启发式;
所述解码启发式具体为,设置所有任务的处理顺序后,为每个阶段中的每个任务设置开始时间;在映射阶段,考虑每个slot,决定每对连续任务和每个任务的输入数据时间之间的设置时间;为了将每组任务推送到归约阶段,决定释放时间,同时启动归约阶段。
2.如权利要求1所述的一种多目标任务调度方法,其特征在于,采用非支配帕累托排序法和p-最优性算法,在两个优化目标下,对解码启发式进行繁殖,得到调度优化方案,所述繁殖过程包括:
使用非支配帕累托排序法对当前种群中的所有杂草进行排序;
将当前存档中的所有杂草划分为不同的Pareto等级;
对于第一层Pareto等级中的所有杂草使用p-最优性算法计算p值,选择以最小p值作为最优解;
对于最后一层Pareto等级中的所有杂草计算p值,通过添加p值和级别数计算上一层Pareto等级中解的适应度值,选择最大适应度值的解作为最坏解;
计算每个Pareto等级中的每个解的适应度值和每种杂草的种子数量;
对当前种群中的每个解生成多个后代,并将新生成的解存储到临时集合中。
3.一种多目标任务调度系统,用于执行如权利要求1所述的一种多目标任务调度方法,其特征在于,包括:
调度优化模型构建模块,其用于以最大完工时间以及映射阶段和归约阶段所有slots的总能耗最小化为目标,构建两阶段混合流水车间调度模型;
调度优化方案求解模块,其用于采用改进的多目标入侵杂草优化算法求解两阶段混合流水车间调度模型,得到调度优化方案;
调度模块,其用于利用得到的调度优化方案对异构分布式平台的任务进程进行调度;
所述最大完工时间的目标函数为:
其中,i为工件指数;j为任务指数;Cmax为最大完工时间;r表示归约阶段,n为工件数量;为在归约阶段中,工件Ji的任务集;
所述总能耗最小化的目标函数为:
其中,k为slots指数;x为slots数量;i为工件指数;j为任务指数;JJk为分配给slot k的一组任务;ek为slot k的单位时间内的能耗;Pi,j,k为由slot k执行的任务的处理时间;为在任务集/>中的任务j;α∈{m,r}表示映射阶段或归约阶段,m表示映射阶段,r表示归约阶段。
4.一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行如权利要求1-2任一项所述方法的步骤。
5.一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行如权利要求1-2任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911251838.7A CN111078380B (zh) | 2019-12-09 | 2019-12-09 | 一种多目标任务调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911251838.7A CN111078380B (zh) | 2019-12-09 | 2019-12-09 | 一种多目标任务调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078380A CN111078380A (zh) | 2020-04-28 |
CN111078380B true CN111078380B (zh) | 2023-07-28 |
Family
ID=70313517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911251838.7A Active CN111078380B (zh) | 2019-12-09 | 2019-12-09 | 一种多目标任务调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078380B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679637B (zh) * | 2020-05-29 | 2021-10-08 | 浙江财经大学 | 一种制造系统中柔性多任务调度方法 |
CN112631214B (zh) * | 2020-11-27 | 2022-03-18 | 西南交通大学 | 基于改进入侵杂草优化算法的柔性作业车间分批调度方法 |
CN113902212B (zh) * | 2021-10-25 | 2022-04-12 | 上海新科乾物联技术有限公司 | 一种生产线生产序列调度方法、系统、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229755A (zh) * | 2018-01-31 | 2018-06-29 | 天津大学 | 基于改进二进制入侵杂草优化算法的主动配电网网架规划 |
-
2019
- 2019-12-09 CN CN201911251838.7A patent/CN111078380B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229755A (zh) * | 2018-01-31 | 2018-06-29 | 天津大学 | 基于改进二进制入侵杂草优化算法的主动配电网网架规划 |
Non-Patent Citations (3)
Title |
---|
A multi-objective invasive weed optimization for task assignment in prefabricated systems;Jia-Ke Li et al.;《2018 Chinese Control And Decision Conference (CCDC)》;全文 * |
最小化多MapReduce任务总完工时间的分析模型及其应用;田文洪 等;《计算机工程与科学》;第246-249页 * |
求解流水车间批量流集成调度的离散入侵杂草优化算法;桑红燕 等;《控制理论与应用》;第571-577页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111078380A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078380B (zh) | 一种多目标任务调度方法及系统 | |
Xhafa et al. | An experimental study on genetic algorithms for resource allocation on grid systems | |
Mehta et al. | Comparing solution methods for the machine reassignment problem | |
Guerrero et al. | Multi-objective optimization for virtual machine allocation and replica placement in virtualized hadoop | |
Petropoulos et al. | A particle swarm optimization algorithm for balancing assembly lines | |
CN108829501B (zh) | 一种基于改进遗传算法的批处理科学工作流任务调度算法 | |
Wang et al. | Job scheduling for large-scale machine learning clusters | |
CN110347515A (zh) | 一种适合边缘计算环境的资源优化分配方法 | |
Idrissi et al. | A new approach for a better load balancing and a better distribution of resources in cloud computing | |
CN106202092A (zh) | 数据处理的方法及系统 | |
CN113128839B (zh) | 面向高端装备分布式制造与多模式运输的协同调度方法 | |
Ren et al. | A branch-and-bound embedded genetic algorithm for resource-constrained project scheduling problem with resource transfer time of aircraft moving assembly line | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
CN114429195A (zh) | 混合专家模型训练的性能优化方法和装置 | |
CN104618480A (zh) | 基于网络链路利用率驱动的云系统资源分配方法 | |
CN109062657A (zh) | 基于粒子群优化的Docker容器调度方法 | |
Chan et al. | Combining genetic approach and integer programming to solve multi-facility economic lot-scheduling problem | |
Mika et al. | A metaheuristic approach to scheduling workflow jobs on a grid | |
CN104869154A (zh) | 统筹资源可信度与用户满意度的分布式资源调度方法 | |
CN111124619A (zh) | 一种面向二次调度的容器调度方法 | |
CN105187488A (zh) | 一种基于遗传算法实现mas负载均衡的方法 | |
CN114090239A (zh) | 一种基于模型的强化学习的边缘资源调度方法和装置 | |
Rajakumar et al. | Workflow balancing in parallel machine scheduling with precedence constraints using genetic algorithm | |
CN110908800B (zh) | 边云协同环境中基于调度熵的调度优化方法 | |
CN108599173B (zh) | 一种批量潮流的求解方法及装置 |
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 |