CN103631657B - 一种基于MapReduce的任务调度方法 - Google Patents
一种基于MapReduce的任务调度方法 Download PDFInfo
- Publication number
- CN103631657B CN103631657B CN201310577071.3A CN201310577071A CN103631657B CN 103631657 B CN103631657 B CN 103631657B CN 201310577071 A CN201310577071 A CN 201310577071A CN 103631657 B CN103631657 B CN 103631657B
- Authority
- CN
- China
- Prior art keywords
- task
- node
- formula
- scheduling
- mapreduce
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012546 transfer Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000005303 weighing Methods 0.000 claims abstract description 7
- 239000003016 pheromone Substances 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 21
- 238000009826 distribution Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 14
- 230000007704 transition Effects 0.000 claims description 13
- 230000015654 memory Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 230000009329 sexual behaviour Effects 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims description 2
- 238000012360 testing method Methods 0.000 abstract description 2
- 238000011156 evaluation Methods 0.000 abstract 1
- 238000004458 analytical method Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007418 data mining Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 206010068052 Mosaicism Diseases 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000003765 sex chromosome Anatomy 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 210000001519 tissue Anatomy 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及当前大数据领域中的一个非常重要的编程计算框架MapReduce中的任务调度算法,公开了一种基于MapReduce的任务调度算法,在异构集群环境下,基于蚁群算法的多任务调度算法,通过衡量计算节点的处理性能,根据新的任务目标转移函数和新的节点的更新规则,按照本地计算原则将任务分配给各个计算节点。本发明基于经典的蚁群算法进行大规模的优化,提出了一种在异构集群环境下的多任务调度算法并在开源Hadoop平台做了小作业、负载和本地性等场景的测试和性能分析,结果表明在执行效率及任务均衡性方面得到了很大的提升。
Description
技术领域
本发明涉及当前大数据领域中的一个非常重要的编程计算框架MapReduce中的任务调度方法,特别是涉及一种基于HDFS的动态副本管理方法。
技术背景
MapReduce作为一种处理大规模数据集的技术,最早由 Google 在 2007 年提出来,受到了学术界和产业界的广泛关注。目前,MapReduce 这种并行编程模型成为了各大IT 厂商融合在云产品中的关键技术之一,并不断有开源产品投放到这个行业中,例如开源云系统Hadoop、Sector&Sphere 等。近年来,MapReduce 已经成为了云计算领域的主流技术,也成为了科研机构,开源组织以及互联网公司的研究热点,并被列入在 InfoWorld 推出的 2011 年十大新兴企业级技术之中。相信随着云计算观念逐渐普及,MapReduce 会获得更多的关注和更快的发展。MapReduce 的架构思想使得通过普通的 PC 集群就可以完成对千兆级别的海量数据的处理。在实际的应用中,通过 MapReduce 对海量数据进行分析处理并从数据挖掘等方面进行研究,可以获得较高效率,同时还兼顾了成本效益。当前,由于MapReduce 具有开源和高性能突出优势,已被广泛应用到机器学习,数据挖掘、智能识别等领域。基于 MapReduce 的应用在互联网领域也已经越来越广泛。其中推动MapReduce 商业化的最主要的贡献者是 Yahoo!,Yahoo!构建了超过 4000+个节点的 MapReduce集群,提供了约为 1.5PB 的存储应用。而全球拥有 10 亿用户的著名社交网站 Facebook 为了处理其每日以TB 级增长的数据量,广泛使用了超过100个 MapReduce 集群来作为其哥斯拉级别的大数据的分析工具,主要用来处理 Web 事物流和数据挖掘。此外,EMR 产品是 Amazon架构在其 EC2 和 S3 上的分布式计算平台,以按流量收费的形式向用户提供计算服务。目前,市场上还有包括 Facebook Insights、IBM Platform MapReduce 等在内的多种MapReduce 应用产品。在国内,众多互联网企业如百度、淘宝和腾讯也都是 MapReduce 应用的忠实粉丝。作为国内最大的搜索引擎百度搭建了超过 10 个集群来处理每日生成的3PB 数据量,主要是应用于系统日志分析以及网页数据库的挖掘工作。在此值得一提的是电商巨头淘宝,淘宝的MapReduce 集群拥有 2800 多个节点,其总存储容量 50PB,日均作业数高达 15 万,主要用于包括用户消费行为、搜索习惯等多方面的检索分析,也为淘宝在2012 年双十一的战场上交易额可以高达 191 亿元提供了关键技术支撑,做出了巨大贡献。在海量数据时代,互联网企业将 MapReduce 这种分布式计算模式应用到网络数据库挖掘,日志分析等方面,可以大大提升资源利用率同时为用户提供了更好的用户体验。
发明内容
本发明要解决的技术问题是:本发明提出一种基于MapReduce的任务调度方法,该方法是在分析蚁群方法和现有的MapReduce任务调度方法的基础上演化而来。可以克服现有调度方法存在的许多问题,有效的解决了本地性计算和小作业处理问题,同时兼顾了节点上的数据倾斜,从而均衡了节点上的任务分配,提高了集群平台的调度性能。
在大数据处理工程中,任务调度主要存在以下问题:
1) 本地性计算问题。本地计算指的是在任务计算过程中,应优先选择距离任务所需数据最近的计算节点。那么 Hadoop 中具体的实现方法是首先将存储用户提交数据的节点作为本地执行节点,如果该节点正在执行其他任务且没有空闲资源,则从该节点所在的同一 Rack 上选择其他节点。如果该 Rack 上的所有节点都不能满足当前任务执行的要求,那么 JobTracker就将任务重新分配给其他 Rack 上的节点。从上面的实现过程分析来看,本地性计算问题主要会涉及到任务的再次分配消耗 I/O带宽资源。而在大规模集群中,I/O 带宽是稀缺性资源,因此说,解决好本地性问题有利于减少网络带宽资源耗费,进而提高集群的吞吐率,对于提升集群性能具有重要意义。
2) 数据不均衡问题。在集群中,数据往往有大作业和小作业之分,而对于Facebook 和 Google这种每天产生 TB 级数据量的企业来说,这种大小混合作业更是其数据的明显特征。然而对于 MapReduce 来说,由于大作业文件可以比较完整的划分为数据块并且让数据块与任务得到很好的映射。因此说,MapReduce 更加擅长处理大作业,而在处理小作业方面,如果这些作业都远远小于系统的设定值,这些作业就不会被分割,可是系统还是要为这些小作业分配一个一个独立的任务。这样做的后果将导致过多的资源被占用,同时会造成节点上任务的执行进度不一致,进而使输出结果传输延迟而造成集群性能下降。
节点上的任务负载问题。如果将原来的调度方法应用在异构环境中就会造成某些节点上的任务分配过多,进而造成节点上的负载过重从而影响到集群性能。异构环境中的节点在 Cpu数量、内存等方面的处理能力各不相同,因此在异构环境下的调度方法需要考虑衡量节点计算能力的表示方法。
本发明所采用的技术方案为:
一种基于MapReduce的任务调度方法,在异构集群环境下,基于蚁群方法的多任务调度方法,通过衡量计算节点的处理性能,根据新的任务目标转移函数和新的节点的更新规则,按照本地计算原则将任务分配给各个计算节点。
所述衡量计算节点的处理性能,在异构环境下的任务调度中,主要衡量节点的初始处理能力,和任务分配到节点上的目标转移概率,其中,节点的初始处理能力根据处理速度﹑内存容量﹑CPU数目和网络传输带宽这四个度量来综合衡量,并分别为这四个度量参数设置阈值,若超过阈值,则统一以阈值计算;在任务调度时,设置一个调度器来专门负责计算任务分配到请求节点的上的初始转移概率。
因此,本发明方法引入了以下相关定义:
定义一 设 N={1,2,……,n},M={1,2,……,m},作业集 J={J i |i∈N},其中 J i 代表一个作业。每个作业划分为对应的一组 Map 任务集 T=J i ={t k |k∈N},其中 t k 代表一个任务。
定义二 设 V={v 1 ,v 2 ,……,v n }表示集群中的节点集,而每个计算节点v i 使用处理速度﹑内存容量﹑CPU数目和网络传输带宽这四个度量来综合衡量异构环境下各个计算节点的初始处理能力。而且分别为这四个度量参数设置阈值,若超过阈值,则统一以阈值计算。
所述节点的初始处理能力取决于节点的初始信息素,由公式1.1计算确定。
构建计算节点的初始信息素:
(1.1)
其中,m:cpu数目,p:处理速度,r:内存容量,b:带宽。M 0、P 0、R 0、B 0分别对应的阀值。影响因子α、β、γ为衡量节点处理能力的重要程度。
定义三 在任务调度时,调度器会计算任务分配到请求节点(请求节点即请求分配任务的TaskTracker计算节点)上的初始转移概率,即在t时刻,任务t k 分配到请求节点 v i 上的转移概率f(t,t k ,v i )由公式(1.2)确定。
= (1.2)
式中,τ(t,v i )表示在时刻t,任务t k 在工作节点v i 上的信息素浓度。η(t,v i )为计算节点v i 的原始能力即η(t,v i )= τ(0,v i )= τV i (0)。α和β分别是衡量τ和η相对重要性的表示参数。
所述新的任务目标转移函数是将Task作为系统均衡和调度的核心对象,选取作业总体执行时间,节点负载度作为评判标准,并且新增了一个带有FIFO性质的任务池来记录正处理的作业和对应分解的 Map 任务集,选择处理能力强和任务队列较短的请求节点进行任务分配作为目标转移函数建模指标,由 Hadoop 调度器来维护,在获得作业之后调度器会将该作业和分解的任务一起添加到 任务池中,进行调度。
在 MapReduce 集群计算平台中,真正的核心调度单位是 Task。用户提交的 Job最终都会被分解为众多的 Task,而各个 Task 之间并行且平等独立的运行。本方法的调度设计是将Task作为系统均衡和调度的核心对象,而且在方法设计中考虑了用户QoS(Quality of Service,中文名为"服务质量",是指网络提供更高优先服务的一种能力)的评判指标,同时也考虑了节点上的任务负载,既不使节点被拖死也不使节点被饿死。针对集群用户的 QoS 描述通常可以采用整体完成时间、网络带宽等参数指标来量,本发明选取作业总体执行时间,节点负载度等多个指标作为评判标准。
从蚁群方法的时间复杂度O(NC •n 2 •m)可以看出,蚁群方法的搜索时间比较长,而且在大规模环境下蚁群方法的效率并不是很高。因此,本专利方法在设计中对蚁群方法做了相应的改进和优化,同时方法中还新增了一个带有 FIFO (First Input First Output的缩写,先入先出队列)性质的 TaskPool(任务池),用来记录正处理的作业和对应分解的Map 任务集,它由 Hadoop 调度器来维护,在获得作业之后调度器会将该作业和分解的任务一起添加到 TaskPool 中,而后根据改进的方法进行调度。
在本方法中,设任务t k 在计算节点v i 上的预计执行时间耗费为T exec (t k ,v i );任务t k 分配到v i 的网络传输时间为T trans (t k ,v i )。Time(t k ,v i )表示任务在上的完成时间,等于执行时间与网络传输时间之和即公式1.3。
(1.3)
设Task listlength (v i )表示计算节点v i 中待执行的任务队列长度,其大小为队列中所有任务完成的时间之和。结合定义三中的初始转移概率可构成最终的目标转移函数见公式(1.4),即选择处理能力强和任务队列较短的请求节点进行任务分配。
(1.4)
式中,λ 1 ,λ 2 为求解公式中的权重比值。在异构网络环境下,考虑到调度器需要评估计算节点的初始处理能力和负载状况。因此,本方法设定信息素分布在计算节点上而不是在路径上,并且将主要的运算和传输量作为信息素的求解对象。随着任务的执行,计算节点上的信息素也会发生相应的变化并根据任务的执行情况来更新信息素。在t 1 时刻将任务t k 分配给请求节点v i 时,节点上的信息素按照公式(1.5)进行更新:
(1.5)
在任务执行了一段时间后,无论执行是否成功,系统的负载都会得到一定程度的减轻。因此为了平衡节点上的信息素负载,信息素浓度按公式(1.6)进行增涨
(1.6)
在本发明方法中,重点强调的是节点处理能力而不再是路径距离,因此该方法设计了一个节点处理能力强弱的标记,也相当于是为节点引入的奖惩因子,本方法设置ε=+/-0.2。若在当前计算节点上成功运行完任务则将标记ε设置为正数进行奖励即ε在0 到 1之间;否则设置ε在-1到0之间的负数给予信息素消弱。因此在式(1.6)的基础之上进行修改如公式(1.7)所示。
(1.7)
如果按照这样进行搜索的话,进行到一定程度后同样会出现陷入局部转移的问题。这是由于在调度过程中按照(1.7)中ε的设计,那么某些得到奖励的节点的信息素和那些信息素消弱的节点之间的差异会变得越来越大,而按照转移规则始终会选择信息素浓度较高的节点进行转移,这就导致当前没有被选中的节点在以后被选中的概率也会变得越来越小,从而进入了在某些局部节点之中选择转移。
因此,本方法基于蚁群系统改进思想进行了优化,设计了基于多样性选择的转移目标函数,见公式(1.8)。
(1.8)
式中,0≤q 0 ≤1是初始设定的参数,q是一个随机数,q∈[0,1]。
为了加快节点搜索和优化节点上的信息素强度,本方法设计了新的节点更新规则,所述新的节点的更新规则是当系统处理完了作业 Jk的所有 Map 任务后则按照全局更新准则做一次全局更新;如果计算节点在n个时刻未得到任何任务的分配,那么该节点上的信息素需要进行局部更新。
其中
准则一(全局更新准则):更新处理过作业J k 任务的所有节点的信息素,同时也对未处理过的节点的信息素予以削弱。对于工作节点v i 和作业J k 更新规则如1.9式:
(1.9)
其中,c e ﹑ρ 2 为调节因子常量,本文设置 c e =1,ρ 2 =0.1。Time(J k )表示作业J k 的完成时间。
在整个调度过程中,如果计算节点在一段时间内(n个时刻)未得到任何任务的分配,那么该节点上的信息素需要进行局部更新,其中,
准则二(局部更新准则):在n个时刻内计算节点未得到任何任务的分配,那么该节点上的信息素将按照局部更新准则(2.0)进行更新。
(2.0)
其中1-ρ 3 表示消弱系数,本方法设置ρ 3 =0.8。
一种基于MapReduce的任务调度方法,其流程如下:
1)首先将根据公式1.1初始化各个 TaskTracker 节点信息素;
(1.1)
2)检测到集群中有 TaskTracker 向 JobTracker 发出请求任务分配的消息,调度器将所有请求节点的 ID号加入到禁忌表tabu表中;
3)取出一个作业,并将其与对应分解的 Map任务一起添加到任务池中;
4)系统从任务池中取出任务,并根据公式1.2计算出 tabu 表里面每一个请求节点的初始转移概率;
= (1.2)
5)根据任务情况计算出公式(1.4)的转移目标函数,并按照公式 1.8 选择进行转移,并且将被调度的请求节点 ID 号从禁忌表 tabu 表中删除;
(1.8)
6)当任务正常分配给 TaskTracker 后,利用公式1.7进行相应的信息素更新;
(1.7)
其中Ɛ为奖惩因子;
7)如果任务执行失败,则重新插入到属于本作业在任务池中的位置,等待下一次重新调度;
8)从任务池中取出下一个任务进行资源节点调度;
9)若当前一个作业处理完毕,根据公式1.9进行全局更新更新处理过该作业 Map任务的节点信息素;
(1.9)
10)根据公式2.0进行局部更新挥发信息素;
(2.0)
11)从队列中取出下一个作业添加到任务池中等待调度,并重复迭代步骤。
只要将本方法打成jar包,然后修改配置文件mapred-site.xml文件里的参数即可,如附图2所示,即修改配置文件里的value值为本方法所在的路径即可。
本发明的有益效果为:
本发明基于经典的蚁群方法进行大规模的优化,提出了一种在异构集群环境下的多任务调度方法并在开源Hadoop平台做了小作业、负载和本地性等场景的测试和性能分析,结果表明在执行效率及任务均衡性方面得到了很大的提升。
附图说明
图1为本发明方法执行流程图;
图2为本发明配置文件图。
具体实施方式
下面参照附图,结合实施例对本发明详细说明。
实施例1:
一种基于MapReduce的任务调度方法,在异构集群环境下,基于蚁群方法的多任务调度方法,通过衡量计算节点的处理性能,根据新的任务目标转移函数和新的节点的更新规则,按照本地计算原则将任务分配给各个计算节点。
实施例2:
在实施例1的基础上,本实施例所述衡量计算节点的处理性能,主要衡量节点的初始处理能力,和任务分配到节点上的目标转移概率,其中,节点的初始处理能力根据处理速度﹑内存容量﹑CPU数目和网络传输带宽这四个度量来综合衡量,并分别为这四个度量参数设置阈值,若超过阈值,则统一以阈值计算;在任务调度时,设置一个调度器来专门负责计算任务分配到请求节点的上的初始转移概率。
实施例3:
在实施例2的基础上,所述节点的初始处理能力取决于节点的初始信息素,由公式1.1计算确定。
实施例4:
在实施例2的基础上,本实施例所述任务分配到请求节点的上的初始转移概率由公式1.2确定。
实施例5:
在实施例1的基础上,本实施例所述新的任务目标转移函数是将Task作为系统均衡和调度的核心对象,选取作业总体执行时间,节点负载度作为评判标准,并且新增了一个带有FIFO性质的任务池来记录正处理的作业和对应分解的 Map 任务集,选择处理能力强和任务队列较短的请求节点进行任务分配作为目标转移函数建模指标,由 Hadoop 调度器来维护,在获得作业之后调度器会将该作业和分解的任务一起添加到任务池中,进行调度。
实施例6:
在实施例5的基础上,本实施例所述目标转移函数由公式1.4确定。
实施例7:
在实施例5或6的基础上,本实施例还包括一种基于多样性选择的目标转移函数,由公式1.8确定。
实施例8:
在实施例1的基础上,本实施例所述新的节点的更新规则是当系统处理完了作业Jk的所有 Map 任务后则按照全局更新准则做一次全局更新;如果计算节点在n个时刻未得到任何任务的分配,那么该节点上的信息素需要进行局部更新;其中,全局更新准则按照公式1.9确定,局部更新准则按照公式2.0确定。
实施例9:
在实施例1的基础上,本实施例流程如下:
1)首先将根据公式1.1初始化各个 TaskTracker 节点信息素;
2)检测到集群中有 TaskTracker 向 JobTracker 发出请求任务分配的消息,调度器将所有请求节点的 ID号加入到禁忌表tabu表中;
3)取出一个作业,并将其与对应分解的 Map任务一起添加到任务池中;
4)系统从任务池中取出任务,并根据公式1.2计算出 tabu 表里面每一个请求节点的初始转移概率;
5)根据任务情况计算出公式(1.4)的转移目标函数 ,并按照公式 1.8 选择进行转移,并且将被调度的请求节点 ID 号从禁忌表 tabu 表中删除;
6)当任务正常分配给 TaskTracker 后,利用公式1.7进行相应的信息素更新;
7)如果任务执行失败,则重新插入到属于本作业在任务池中的位置,等待下一次重新调度;
8)从任务池中取出下一个任务进行资源节点调度;
9)若当前一个作业处理完毕,根据公式1.9进行全局更新更新处理过该作业 Map任务的节点信息素;
10)根据公式2.0进行局部更新挥发信息素;
11)从队列中取出下一个作业添加到任务池中等待调度,并重复迭代步骤。
Claims (4)
1.一种基于MapReduce的任务调度方法,在异构集群环境下,基于蚁群方法的多任务调度方法,其特征在于:通过衡量计算节点的处理性能,根据新的任务目标转移函数和新的节点的更新规则,按照本地计算原则将任务分配给各个计算节点,所述新的任务目标转移函数是将Task作为系统均衡和调度的核心对象,选取作业总体执行时间,节点负载度作为评判标准,并且新增了一个带有FIFO性质的任务池来记录正处理的作业和对应分解的 Map任务集,选择处理能力强和任务队列较短的请求节点进行任务分配作为目标转移函数建模指标,由 Hadoop 调度器来维护,在获得作业之后调度器会将该作业和分解的任务一起添加到任务池中,进行调度;
所述目标转移函数由公式1.4确定,
(1.4)
其中,任务t k 在计算节点v i 上的预计执行时间耗费为T exec (t k ,v i ),任务t k 分配到v i 的网络传输时间为T trans (t k ,v i ),Time(t k ,v i )表示任务在上的完成时间,等于执行时间与网络传输时间之和,Task listlength (v i )表示计算节点v i 中待执行的任务队列长度,其大小为队列中所有任务完成的时间之和,λ 1 ,λ 2 为求解公式中的权重比值;
f(t,t k ,v i )为初始转移概率,是在t时刻,任务tk分配到请求节点 vi上的转移概率;τ(t, v i )表示在时刻t,任务t k 在工作节点v i 上的信息素浓度,η(t,vi)为计算节点vi的原始能力即η(t,vi)= τ(0,vi)= τVi (0),α和β分别是衡量τ和η相对重要性的表示参数。
2.根据权利要求1所述的一种基于MapReduce的任务调度方法,其特征在于:还包括一种基于多样性选择的目标转移函数,由公式1.8确定,
(1.8)
其中,0≤q 0 ≤1是初始设定的参数,q是一个随机数,q∈[0,1];
τ(v i )表示任务在工作节点v i 上的信息素浓度函数,η(vi)为计算节点vi的能力函数,α和β分别是衡量τ和η相对重要性的表示参数。
3.根据权利要求2所述的一种基于MapReduce的任务调度方法,其特征在于:所述新的节点的更新规则是当系统处理完了作业 J k 的所有 Map 任务后则按照全局更新准则做一次全局更新;如果计算节点在n个时刻未得到任何任务的分配,那么该节点上的信息素需要进行局部更新;其中,
全局更新准则按照公式1.9确定,
(1.9)
其中,c e ﹑ρ 2 为调节因子常量,本文设置 c e =1,ρ 2 =0.1;Time(J k )表示作业J k 的完成时间;
局部更新准则按照公式2.0确定,
(2.0)
其中1-ρ 3 表示消弱系数,本方法设置ρ 3 =0.8;
其中表示信息素浓度在工作节点v i 相对于变量(t)的函数;
表示在t1时刻的信息素浓度函数;指作业Jk的信息浓度变化量。
4.根据权利要求1所述的一种基于MapReduce的任务调度方法,其流程如下:
1)首先将根据公式1.1初始化各个 TaskTracker 节点信息素;
(1.1)
其中:其中,表示0时刻节点vi的信息素浓度,m:cpu数目,p:处理速度,r:内存容量,b:带宽,M 0、P 0、R 0、B 0分别对应的阀值,影响因子α、β、γ为衡量节点处理能力的重要程度;
2)检测到集群中有 TaskTracker 向 JobTracker 发出请求任务分配的消息,调度器将所有请求节点的 ID号加入到禁忌表tabu表中;
3)取出一个作业,并将其与对应分解的 Map任务一起添加到任务池中;
4)系统从任务池中取出任务,并根据公式1.2计算出 tabu 表里面每一个请求节点的初始转移概率;
= (1.2)
其中:f(t,t k ,v i ) 表示在t时刻,任务t k 分配到请求节点 v i 上的转移概率;τ(t,v i )表示在时刻t,任务t k 在工作节点v i 上的信息素浓度,η(t,v i )为计算节点v i 的原始能力即η(t,v i ) = τ(0,v i )= τV i (0),α和β分别是衡量τ和η相对重要性的表示参数;
5)根据任务情况计算出公式(1.4)的转移目标函数,并按照公式 1.8 选择进行转移,并且将被调度的请求节点 ID 号从禁忌表 tabu 表中删除;
(1.8)
6)当任务正常分配给 TaskTracker 后,利用公式1.7进行相应的信息素更新;
7)如果任务执行失败,则重新插入到属于本作业在任务池中的位置,等待下一次重新调度;
(1.7)
其中Ɛ为奖惩因子;节点vi在t时刻的信息素浓度;
8)从任务池中取出下一个任务进行资源节点调度;
9)若当前一个作业处理完毕,根据公式1.9进行全局更新更新处理过该作业 Map 任务的节点信息素;
(1.9)
10)根据公式2.0进行局部更新挥发信息素;
(2.0)
其中:1-ρ 3 表示消弱系数;节点vi在t1时刻的信息素浓度;
11)从队列中取出下一个作业添加到任务池中等待调度,并重复迭代步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310577071.3A CN103631657B (zh) | 2013-11-19 | 2013-11-19 | 一种基于MapReduce的任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310577071.3A CN103631657B (zh) | 2013-11-19 | 2013-11-19 | 一种基于MapReduce的任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103631657A CN103631657A (zh) | 2014-03-12 |
CN103631657B true CN103631657B (zh) | 2017-08-25 |
Family
ID=50212746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310577071.3A Active CN103631657B (zh) | 2013-11-19 | 2013-11-19 | 一种基于MapReduce的任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103631657B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268018B (zh) * | 2014-09-22 | 2017-11-24 | 浪潮(北京)电子信息产业有限公司 | 一种Hadoop集群中的作业调度方法和作业调度器 |
CN104298550B (zh) * | 2014-10-09 | 2017-11-14 | 南通大学 | 一种面向Hadoop的动态调度方法 |
CN104503844B (zh) * | 2014-12-29 | 2018-03-09 | 中国科学院深圳先进技术研究院 | 一种基于多阶段特征的MapReduce作业细粒度分类方法 |
CN104636198B (zh) * | 2015-02-11 | 2018-05-29 | 中国石油大学(华东) | 一种基于OSGi的计算任务近数据源迁移方法 |
CN105095413B (zh) * | 2015-07-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 一种解决数据倾斜的方法及装置 |
CN106940656A (zh) * | 2016-01-04 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种任务调度方法及装置 |
CN105912401B (zh) * | 2016-04-08 | 2019-03-12 | 中国银行股份有限公司 | 一种分布式数据批处理系统和方法 |
US10387454B2 (en) | 2016-08-02 | 2019-08-20 | International Business Machines Corporation | Method for creating efficient application on heterogeneous big data processing platform |
CN106371924B (zh) * | 2016-08-29 | 2019-09-20 | 东南大学 | 一种最小化MapReduce集群能耗的任务调度方法 |
CN107992362B (zh) * | 2016-10-27 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 自动化性能测试的方法、装置及系统 |
CN106533981B (zh) * | 2016-12-19 | 2019-05-03 | 北京邮电大学 | 一种基于多属性的大数据流量调度方法及装置 |
CN107092339A (zh) * | 2017-03-08 | 2017-08-25 | 广东工业大学 | 移动云计算节点异构的任务分流方法 |
CN107526808B (zh) * | 2017-08-22 | 2020-09-01 | 中国联合网络通信集团有限公司 | 实时数据处理方法及装置 |
CN107728639B (zh) * | 2017-09-08 | 2020-11-10 | 哈尔滨工程大学 | 一种时间窗约束下的异构多auv系统任务协调方法 |
CN107766150A (zh) * | 2017-09-20 | 2018-03-06 | 电子科技大学 | 一种基于hadoop的作业调度算法 |
CN108063805B (zh) * | 2017-12-08 | 2020-07-14 | 内蒙古大学 | 一种利润感知的分布式数据中心负载管理方法 |
CN108491255B (zh) * | 2018-02-08 | 2020-11-03 | 昆仑智汇数据科技(北京)有限公司 | 自助式MapReduce数据优化分配方法及系统 |
CN108681482B (zh) * | 2018-05-16 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 基于图数据的任务调度方法和装置 |
CN108846577B (zh) * | 2018-06-14 | 2021-11-05 | 河南科技大学 | 一种基于情境分析的群体任务分配方法 |
CN109561148B (zh) * | 2018-11-30 | 2021-03-23 | 湘潭大学 | 边缘计算网络中基于有向无环图的分布式任务调度方法 |
CN111260171B (zh) * | 2018-12-03 | 2022-05-24 | 北京嘀嘀无限科技发展有限公司 | 目标队列获取方法、装置及设备、计算机可读存储介质 |
CN110688229B (zh) * | 2019-10-12 | 2022-08-02 | 阿波罗智能技术(北京)有限公司 | 任务处理方法和装置 |
CN110888728B (zh) * | 2019-12-03 | 2022-06-28 | 中电工业互联网有限公司 | 一种Kettle集群服务器的任务调度方法 |
CN111367647A (zh) * | 2020-03-31 | 2020-07-03 | 绿盟科技集团股份有限公司 | 一种任务指派方法及装置 |
CN112000453A (zh) * | 2020-08-25 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 一种流计算系统的调度方法和系统 |
CN112463339A (zh) * | 2020-12-11 | 2021-03-09 | 北京浪潮数据技术有限公司 | 一种多任务调度方法、系统、设备及存储介质 |
CN113162965B (zh) * | 2021-01-07 | 2022-09-20 | 浙江大学 | 面向异构MapReduce集群的低时延Map和Reduce联合调度方法 |
CN113626282B (zh) * | 2021-07-16 | 2023-12-22 | 济南浪潮数据技术有限公司 | 云计算物理节点负载监控方法、装置、终端及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198097A (zh) * | 2013-03-11 | 2013-07-10 | 中国科学院计算机网络信息中心 | 一种基于分布式文件系统的海量地学数据并行处理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7076781B2 (en) * | 2002-05-31 | 2006-07-11 | International Business Machines Corporation | Resource reservation for large-scale job scheduling |
WO2009059377A1 (en) * | 2007-11-09 | 2009-05-14 | Manjrosoft Pty Ltd | Software platform and system for grid computing |
CN102932422B (zh) * | 2012-09-29 | 2014-12-10 | 南京邮电大学 | 基于改进蚁群算法的云环境任务调度方法 |
CN102982389A (zh) * | 2012-11-02 | 2013-03-20 | 东南大学 | 使用基于MapReduce的蚁群优化技术求解组合优化问题的方法 |
-
2013
- 2013-11-19 CN CN201310577071.3A patent/CN103631657B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198097A (zh) * | 2013-03-11 | 2013-07-10 | 中国科学院计算机网络信息中心 | 一种基于分布式文件系统的海量地学数据并行处理方法 |
Non-Patent Citations (1)
Title |
---|
基于蚁群算法的网格任务调度研究;李运芝;《中国优秀硕士学位论文全文数据库 信息科技辑》;20090331;正文第17-50页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103631657A (zh) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631657B (zh) | 一种基于MapReduce的任务调度方法 | |
Yi et al. | Task optimization and scheduling of distributed cyber–physical system based on improved ant colony algorithm | |
Zhang et al. | Network-aware virtual machine migration in an overcommitted cloud | |
CN107404523A (zh) | 云平台自适应资源调度系统和方法 | |
Javadpour et al. | Detecting straggler MapReduce tasks in big data processing infrastructure by neural network | |
CN104063501B (zh) | 基于hdfs的副本平衡方法 | |
Li et al. | An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters | |
Li et al. | Intermediate data placement and cache replacement strategy under Spark platform | |
CN112835698A (zh) | 一种基于异构集群的请求分类处理的动态负载均衡方法 | |
Shukla et al. | FAT-ETO: Fuzzy-AHP-TOPSIS-Based efficient task offloading algorithm for scientific workflows in heterogeneous fog–cloud environment | |
CN107070965B (zh) | 一种虚拟化容器资源下的多工作流资源供给方法 | |
Li et al. | A big data and cloud computing specification, standards and architecture: agricultural and food informatics | |
Yang et al. | Trust-based scheduling strategy for cloud workflow applications | |
CN108304253A (zh) | 基于缓存感知和数据本地性的map任务调度方法 | |
Malathy et al. | Performance improvement in cloud computing using resource clustering | |
Yu | Research on optimization strategy of task scheduling software based on genetic algorithm in cloud computing environment | |
Rui et al. | Context-based intelligent scheduling and knowledge push algorithms for ar-assist communication network maintenance | |
CN113240089B (zh) | 基于图检索引擎的图神经网络模型训练方法和装置 | |
Jiang et al. | A Resource scheduling strategy in cloud computing based on multi-agent genetic algorithm | |
Ghiasi et al. | Smart virtual machine placement using learning automata to reduce power consumption in cloud data centers | |
Abd Elaziz et al. | Hybrid enhanced optimization-based intelligent task scheduling for sustainable edge computing | |
Wang et al. | Spark load balancing strategy optimization based on internet of things | |
Dashti et al. | Improving flexibility in cloud computing using optimal multipurpose particle swarm algorithm with auction rules | |
Chen et al. | Naive bayes classifier based partitioner for mapreduce | |
Zhang et al. | Task Scheduling Based on Improved Particle Swarm Optimization for Cloud Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |