CN103530182A - 一种作业调度方法和装置 - Google Patents
一种作业调度方法和装置 Download PDFInfo
- Publication number
- CN103530182A CN103530182A CN201310497575.4A CN201310497575A CN103530182A CN 103530182 A CN103530182 A CN 103530182A CN 201310497575 A CN201310497575 A CN 201310497575A CN 103530182 A CN103530182 A CN 103530182A
- Authority
- CN
- China
- Prior art keywords
- computing node
- task
- executed
- map task
- map
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012216 screening Methods 0.000 claims description 33
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims 2
- 238000004364 calculation method Methods 0.000 description 6
- 239000002699 waste material Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种作业调度方法和装置,其中,作业调度方法包括:当前作业执行过程中,根据第一设定规则筛选出候选计算节点集合;以及,按照第二设定规则筛选出当前作业中一个未执行的map任务作为待执行的map任务;从候选计算节点集合中选择一个满足设定标准的计算节点;判断待执行的map任务是否为该计算节点的本地任务;当待执行的map任务不是该计算节点的本地任务时,将待执行的map任务对应的数据块从源计算节点传输到满足设定标准的计算节点上进行存储;当满足设定标准的计算节点请求分配map任务时,将筛选出的待执行的map任务分配给满足设定标准的计算节点。通过本申请,提高了资源的利用率以及作业的执行效率。
Description
技术领域
本发明涉及云计算资源管理技术领域,特别是涉及一种作业调度方法和装置。
背景技术
随着互联网的迅猛发展,云计算在众IT(Information Technology,信息技术)巨头的推动下,尤其是随着大数据时代的到来,得到了快速发展与演进。而Hadoop是由Doug Cutting即Apache Lucene服务器搜索引擎的创始人开发的,用于大规模数据并行处理的开源框架,是目前最为广泛应用的开源云计算平台。Hadoop主要包含HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)和MapReduce(映射化简)两个核心部分,MapReduce是Google谷歌提出的一种分布式编程模型和实现大规模数据处理与生成的分布式处理框架,它是云计算发展的基础。HDFS和MapReduce分别为GFS(Google File System,谷歌文件系统)和Google MapReduce的开源实现。
在Hadoop集群所采用的动态任务调度和资源分配策略中,如果用户提交的作业有输入数据,其输入数据会被切分成若干数据块分布存储于各个计算节点上,每个数据块默认保留三个副本,三个副本分别存储于三个不同的计算节点上。有的数据块则刚好存储于任务所处的计算节点上,而有的数据块则没有存储在任务所处的计算节点上,而是存储在了与任务所处计算节点位于相同机架上的计算节点上,更甚者位于其他数据中心的计算节点上。而一个作业的不同任务在运行过程中所需数据块是否恰好位于任务所处的计算节点,将对系统资源利用率和作业的执行效率产生举足轻重的影响。DataLocality即数据本地性是衡量任务数据本地化的一个度量值。根据任务的输入数据块所在计算节点位置,任务可按数据本地性分为Node Locality即节点本地性、Rack Locality即机架本地性和Off-Switch即远程任务,并且任务的数据本地性依次减弱。
现有的Hadoop集群所采用的作业调度方法均考虑到任务的数据本地性,然而却无法保证绝对的数据本地性,即作业在提交以后仍可能存在部分任务分配到的计算节点上未存储其所需处理的数据块。现有的Hadoop集群在作业调度时只是通过简单的判断任务是否为本地性任务,而采取暂缓调度非本地性任务,以尽可能获得更好的数据本地性。
采用现有的Hadoop集群作业调度方法,采取暂缓调度非本地性任务,降低了作业的执行效率和资源利用率。
发明内容
本发明提供了一种作业调度方法和装置,以解决现有的Hadoop集群在进行作业调度时,采取暂缓调度非本地性任务而造成的作业执行效率低,资源利用率低的问题。
为了解决上述问题,本发明公开了一种作业调度方法,包括:当前作业执行过程中,根据第一设定规则筛选出候选计算节点集合;以及,按照第二设定规则筛选出所述当前作业中一个未执行的map任务作为待执行的map任务,其中,一个作业包括至少一个map任务;从所述候选计算节点集合中选择一个满足设定标准的计算节点;判断所述待执行的map任务是否为所述满足设定标准的计算节点的本地任务;当所述待执行的map任务不是所述满足设定标准的计算节点的本地任务时,将所述待执行的map任务对应的数据块从源计算节点传输到所述满足设定标准的计算节点上进行存储;其中,所述源计算节点为存储有所述数据块的副本且与所述满足设定标准的计算节点间的网络拓扑距离最小的计算节点;当所述满足设定标准的计算节点请求分配map任务时,将筛选出的所述待执行的map任务分配给所述满足设定标准的计算节点。
优选地,所述根据第一设定规则筛选出候选计算节点集合步骤包括:判断执行所述当前作业的Hadoop集群中是否存在空闲计算节点;若存在,则将所有空闲计算节点作为所述候选计算节点集合;若不存在,则根据第一设定规则筛选所述Hadoop集群中正在执行所述当前作业中的map任务的计算节点,组成所述候选计算节点集合;其中,所述候选计算节点集合中各个计算节点当前正在执行的map任务的剩余完成时间,大于在计算节点间传输一个数据块的时间。
优选地,所述按照第二设定规则筛选出所述当前作业中一个未执行的map任务作为待执行的map任务步骤包括:判断所述当前作业中是否存在执行失败的map任务;若存在,则选择一个执行失败次数最多的map任务作为待执行的map任务;若不存在,则从所述当前作业中选择一个剩余的map任务作为待执行的map任务。
优选地,所述从所述候选计算节点集合中选择一个满足设定标准的计算节点的步骤包括:当所述Hadoop集群中不存在空闲计算节点时,从所述候选节点集合中,选择最早释放忙碌计算槽的计算节点作为所述满足设定标准的计算节点。
优选地,在所述判断所述待执行的map任务是否为所述满足设定标准的计算节点的本地任务步骤之后,还包括:当所述待执行的map任务是所述满足设定标准的计算节点的本地任务时,直接执行当所述满足设定标准的计算节点请求分配map任务时,将筛选出的所述待执行的map任务分配给所述满足设定标准的计算节点的步骤。
为了解决上述问题,本发明还公开了一种作业调度装置包括:第一筛选模块,用于在当前作业执行过程中,根据第一设定规则筛选出候选计算节点集合;第二筛选模块,按照第二设定规则筛选出所述当前作业中一个未执行的map任务作为待执行的map任务,其中,一个作业包括至少一个map任务;选择模块,用于从所述候选计算节点集合中选择一个满足设定标准的计算节点;判断模块,用于判断所述待执行的map任务是否为所述满足设定标准的计算节点的本地任务;传输模块,用于当所述待执行的map任务不是所述满足设定标准的计算节点的本地任务时,将所述待执行的map任务对应的数据块从源计算节点传输到所述满足设定标准的计算节点上进行存储;其中,所述源计算节点为存储有所述数据块的副本且与所述满足设定标准的计算节点间的网络拓扑距离最小的计算节点;分配模块,用于当所述满足设定标准的计算节点请求分配map任务时,将筛选出的所述待执行的map任务分配给所述满足设定标准的计算节点。
优选地,所述第一筛选模块包括:第一判断子模块,用于在当前作业执行过程中判断执行所述当前作业的Hadoop集群中是否存在空闲计算节点;执行子模块,用于在所述判断子模块的判断结果为存在时,将所有空闲计算节点作为所述候选计算节点集合;在所述判断子模块的判断结果为不存在时,根据第一设定规则筛选所述Hadoop集群中正在执行所述当前作业中的map任务的计算节点,组成所述候选计算节点集合;其中,所述候选计算节点集合中各个计算节点当前正在执行的map任务的剩余完成时间,大于在计算节点间传输一个数据块的时间。
优选地,所述第二筛选模块包括:第二判断子模块,用于判断所述当前作业中是否存在执行失败的map任务;选择子模块,用于在所述第二判断子模块的判断结果为存在时,选择一个执行失败次数最多的map任务作为待执行的map任务;在所述第二判断子模块的判断结果为不存在时,从所述当前作业中选择一个剩余的map任务作为待执行的map任务。
优选地,所述选择模块从所述候选计算节点集合中选择一个满足设定标准的计算节点时:当所述Hadoop集群中不存在空闲计算节点时,从所述候选节点集合中,选择最早释放忙碌计算槽的计算节点作为所述满足设定标准的计算节点。
优选地,所述作业调度装置还包括:调用模块,用于在所述判断模块的判断结果为所述待执行的map任务是所述满足设定标准的计算节点的本地任务时,直接调用所述分配模块。
与现有技术相比,本发明具有以下优点:
本发明提供的作业调度方法和装置,在对Hadoop集群中当前正在执行的作业进行调度时,预先选择一个满足设定标准的计算节点以及待执行的map任务,判断待执行的map任务是否为该满足设定标准的计算节点的本地任务,当待执行的map任务不是该满足设定标准的计算节点本地任务时,那么为满足标准的计算节点预先获取执行所述待执行的map任务所需要的数据块,这样就可以在满足设定标准的计算节点请求分配任务时,直接将待执行的map任务分配给该满足设定标准的计算节点,满足了任务的本地性。本发明中的方案,不仅仅简单的对待执行的map任务的本地性进行判断,并且还直接为执行该map任务的计算节点预先获取执行该任务的数据块,让该map任务成为数据本地性任务。通过本发明中的方案,节省了现有的作业调度方法中,当判断出map任务不是数据本地性任务时,要采取暂缓调度非本地性任务等待本地计算节点出现的时间;并且解决了现有的作业调度方法中由于计算节点空闲而造成的资源浪费的问题,提高了资源的利用率以及作业的执行效率。
附图说明
图1是根据本发明实施例一的一种作业调度方法的步骤流程图;
图2是根据本发明实施例二的一种作业调度方法的步骤流程图;
图3是根据本发明实施例三的一种作业调度方法的步骤流程图;
图4是根据本发明实施例四的一种作业调度装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例一的一种作业调度方法的步骤流程图。
本实施例的作业调度方法的步骤如下:
步骤S102:当前作业执行过程中,根据第一设定规则筛选出候选计算节点集合;以及,按照第二设定规则筛选出当前作业中一个未执行的map任务作为待执行的map任务。
其中,一个作业包括至少一个map任务。
本实施例中的第一设定规则与第二设定规则可以由本领域技术人员根据实际需求进行设定。如,可以将第一设定规则设定为:当执行当前任务的Hadoop集群中存在空闲计算节点时,将所有空闲计算节点组成一个候选计算节点集合,当没有空闲计算节点时,将正在执行map任务的计算节点按照一定条件进行筛选,组成候选计算节点集合。再例如,可以将第一设定规则设定为:在有空闲结算节点时,依然选择正在执行任务的计算节点作为候选计算节点集合。可以将第二设定规则设定为:优先从执行失败任务列表中选择执行失败次数最多的map任务作为待执行的map任务,如果不存在执行失败任务,那么从当前任务剩余的map任务中任意选择一个map任务,或是在选择完满足设定标准的计算节点后,选择一个该计算节点的本地性任务。当然,其它适当的设定方式也同样适用,在此不再一一列举。
需要说明的是,根据第一设定规则筛选出候选计算节点集合的步骤,与按照第二设定规则筛选出当前作业中一个未执行的map任务作为待执行的map任务的步骤的执行不分先后顺序,也可以同时进行。
步骤S104:从候选计算节点集合中选择一个满足设定标准的计算节点。
从候选计算节点中选择满足设定规则的计算节点时,本领域技术人员可以根据实际情况对选择进行设置:
当候选计算节点集合是由空闲计算节点组成时,那么该步骤可以为:从中选择任一空闲计算节点作为满足设定标准的计算节点,也可以为:依据网络拓扑结构信息选择一个在传输数据块时最节省网络资源的空闲计算节点。
当候选计算节集合由正在执行map任务的计算节点组成时,那么优选地可以从候选任务集合中选择最早释放忙碌计算槽的计算节点作为满足设定标准的计算节点。
步骤S106:判断待执行的map任务是否为满足设定标准的计算节点的本地任务。若是本地任务,则直接执行步骤S110;若不是本地任务,则执行步骤S108。
其中,判断待执行的map任务是否为满足设定标准的计算节点的本地任务实质上是,在Hadoop集群中主节点中存储有元信息文件,元信息文件中保存有当前作业中各个map任务的数据块的副本所在的分布信息。当确定了待执行的map任务后,主节点会从元信息文件中获取该待执行的map任务的数据块副本存储在哪些计算节点上;然后比对这些存储有数据块副本的计算节点中是否包含了满足设定标准的计算节点。
当判断结果为:待执行的map任务为满足设定标准的计算节点的本地任务时,则直接执行步骤S110。
当判断结果为:待执行的map任务不是满足设定标准的计算节点的本地任务时,则执行步骤S108。
步骤S108:将待执行的map任务对应的数据块从源计算节点传输到满足设定标准的计算节点上进行存储。
其中,源计算节点为存储有数据块的副本且与满足设定标准的计算节点间的网络拓扑距离最小的计算节点。需要说明的是,源计算节点也可以不是网络拓扑距离最小的计算节点,可以是存有数据块的副本任一计算节点,选择网络拓扑距离最小的计算节点是一种最优的选择,可以避免网络资源的浪费。
步骤S110:当满足设定标准的计算节点请求分配map任务时,将筛选出的待执行的map任务分配给满足设定标准的计算节点。
本实施例提供的作业调度方法,在对Hadoop集群中当前正在执行的作业进行调度时,预先选择一个满足设定标准的计算节点以及待执行的map任务,判断待执行的map任务是否为该满足设定标准的计算节点的本地任务,当待执行的map任务不是该满足设定标准的计算节点本地任务时,那么为满足标准的计算节点预先获取执行所述待执行的map任务所需要的数据块,这样就可以在满足设定标准的计算节点请求分配任务时,直接将待执行的map任务分配给该满足设定标准的计算节点,满足了任务的本地性。本实施例中的方法,不仅仅简单的对待执行的map任务的本地性进行判断,并且还直接为执行该map任务的计算节点预先获取执行该任务的数据块,让该map任务成为数据本地性任务。通过本实施例提供的方法,节省了现有的作业调度方法中,当判断出map任务不是数据本地性任务时,要采取暂缓调度非本地性任务等待本地计算节点出现的时间;并且解决了现有的作业调度方法中由于计算节点空闲而造成的资源浪费的问题,提高了资源的利用率以及作业的执行效率。
实施例二
参照图2,示出了本发明实施例二的一种作业调度方法的步骤流程图。
本实施例中的作业调度方法的具体步骤包括:
步骤S202:当前作业执行过程中,主节点判断执行当前作业的Hadoop集群中是否存在空闲计算节点,若存在,则执行步骤S204;若不存在,则执行步骤S208。
步骤S204:当执行当前作业的Hadoop集群中存在空闲计算节点时,主节点将所有空闲计算节点作为候选计算节点集合。
步骤S206:从候选计算节点集合中选择一个空闲计算节点作为满足设定标准的计算节点。
需要说明的是,在选择一个空闲计算节点作为满足设定标准的计算节点时,可以选择任意一个空闲计算节点,也可以按照设定标准优先选择一个后续所选择的待执行的map任务的本地节点,还可以根据网络拓扑结构选择一个与存储有后续所选择的待执行的map任务的输入数据块的源计算节点拓扑距离最近的空闲计算节点作为满足设定标准的计算节点。
步骤S204与步骤S206是当Hadoop集群中存在空闲计算节点时,选择满足设定标准的计算节点的具体步骤,下面步骤S208以及步骤S210是当Hadoop集群中不存在空闲计算节点时,选择满足设定标准的计算节点的具体步骤。
步骤S208:当执行当前作业的Hadoop集群中不存在空闲计算节点时,主节点根据第一设定规则筛选Hadoop集群中正在执行当前作业中的map任务的计算节点,组成候选计算节点集合。
本实施例中,主节点按照第一设定规则筛选Hadoop集群中正在执行当前作业中的map任务的计算节点,组成候选计算节点集合的具体步骤包括:
步骤S2082:主节点通过估算Hadoop集群中所有计算节点上正在运行任务的执行进度,计算各个计算节点上当前正在运行任务的剩余完成时间。
步骤S2084:主节点根据Hadoop集群网络配置,计算在两个计算节点间传输一个数据块所需的时间。
需要说明的是,这里在计算节点间传输一个数据块的时间可以是在同一机架上的两个计算节点间传输一个数据块的时间;也可以是在不同机架但同一数据中心的两个计算节点间传输一个数据块的时间;还可以是在不同数据中心的两个计算节点间传输一个数据块的时间。在满足上述条件的基础上,这个时间的选取可以由本领域技术人员根据实际需求进行设置。
步骤S2086:将步骤S2082中计算的剩余完成时间与步骤S2084中计算的在两个计算节点间传输一个数据块所需的时间进行比较,筛选出一系列可供预取的候选计算节点集合candidateTTs。
其中,候选计算节点集合中各个计算节点当前正在执行的map任务的剩余完成时间,大于在计算节点间传输一个数据块的时间。并且,候选计算节点集合是实时更新的。
步骤S210:当Hadoop集群中不存在空闲计算节点时,主节点从候选计算节点集合中,选择最早释放忙碌计算槽的计算节点作为满足设定标准的计算节点。
步骤S212:主节点判断当前作业中是否存在执行失败的map任务。若存在执行失败的map任务,则执行步骤S214;若不存在执行失败的map任务,则执行步骤S216。
在Hadoop集群中尚无计算节点请求分配任务时,事先对当前作业未执行的map任务进行筛选。为了保证当前作业中执行失败的任务可以快速被重新调度,对于当前运行的作业,如果当前作业的执行失败任务集合即failedMaps集合不为空,即存在执行失败的map任务,则执行步骤S214;若当前作业中不存在执行失败的map任务,即当前作业的执行失败任务集合为空集合,则执行步骤S216。
步骤S214:当前作业中存在执行失败的map任务时,主节点选择一个执行失败次数最多的map任务作为待执行的map任务。
除直接选择一个执行失败次数最多的map任务作为待执行的map任务外,还存在一种优选的方法从执行失败任务集合中选择一个执行失败的任务,该方法为:将多个执行失败的map任务严格按其相对于步骤S206或步骤S210中选出的满足设定标准的计算节点的数据本地性进行筛选,如果存在满足设定标准的计算节点的node-local任务即节点本地任务,则选择该node-local任务作为待执行的map任务;反之,则选择该失败次数最多的任务作为待执行的map任务。
步骤S216:当前作业中不存在执行失败的map任务时,主节点则从当前作业中选择一个剩余的map任务作为待执行的map任务。
如果此时执行失败任务集合为空,则查询当前队列中正在运行的作业是否还有剩余map任务没有完成,如果是,则从当前作业中选择一个剩余的map任务作为待执行的map任务。具体步骤为:在剩余的多个map任务中严格按照本地性策略依次查找待执行的map任务。即从多个map任务中首选查找满足设定标准的计算节点的本地任务即node-local任务,若果存在node-local任务,则选择该map任务作为待执行的map任务;若不存在node-local任务,则选择机架本地任务即rack-local任务作为待执行的map任务;如果前面两种任务都不存在,则最终选择一个远程任务即off-switch任务作为待执行的map任务。
步骤S218:主节点判断待执行的map任务是否为满足设定标准的计算节点的本地任务。若是本地任务,则直接执行步骤S222;若不是本地任务,则执行步骤S220。
当待执行的map任务是满足设定标准的计算节点的本地任务时,则直接执行步骤S222;当待执行的map任务不是满足设定标准的计算节点的本地任务时,则执行步骤S220。
步骤S220:当待执行的map任务不是满足设定标准的计算节点的本地任务时,主节点将待执行的map任务对应的数据块从源计算节点传输到满足设定标准的计算节点上进行存储。
其中,源计算节点为存储有数据块的副本且与满足设定标准的计算节点间的网络拓扑距离最小的计算节点。
将待执行的map任务对应的数据块从源计算节点传输到满足设定标准的计算节点上进行存储的具体步骤如下:
主节点中存储有各个未完成的map任务集合,并且这些map任务的输入数据都有相应的元数据信息存储在主节点上。元数据信息中记录了各个未完成的map任务所对应的数据块即输入数据(Input Split)的存储位置,因为每个map任务对应一定量的数据块副本,常规来说一般副本的个数为三个,当然也可以根据实际需求设定副本的个数;每个数据块副本都存储在不同的计算节点上,元数据信息中就记录了各个数据块副本的存储位置。
步骤S2202:主节点从待执行的map任务对应的未完成任务TaskInProgress对象中读取相应元数据信息,获取该map任务的输入数据InputSplit所在位置,以确定候选源计算节点集合。
步骤S2024:主节点获取当前Hadoop集群所配置的网络拓扑结构信息,选择与满足设定标准的计算节点拓扑距离最近的且存储有数据块副本的计算节点为源计算节点。
当主节点通过读取配置(conf)目录下的网络拓扑文件(topology.data),即可获取当前Hadoop集群所配置的网络拓扑结构信息,由此可以计算满足设定标准的计算节点与候选源计算节点集合中各个源计算节点间的距离,选取网络拓扑距离最近的计算节点。
步骤S2026:主节点将待执行的map任务的输入数据块通过网络从源计算节点传输到满足设定标准的计算节点并存储于本地磁盘中,并更新Hadoop集群中主节点中存储的相应的元数据信息文件。
步骤S222:当满足设定标准的计算节点请求分配map任务时,主节点将筛选出的待执行的map任务分配给满足设定标准的计算节点。
满足设定标准的计算节点在释放忙碌slot即计算槽之后发送心跳信息给Job Tracker即主节点,请求分配新的map任务,此时主节点将预先获取过的待执行的map任务直接分配给该计算节点,map任务得以立即执行,避免了等待且换来更好的数据本地性。
通过本实施提供的作业调度方法,Hadoop集群在执行当前作业过程中,为各个计算节点分配任务时,一方面,优先为集群中的空闲计算节点分配map任务,并且当该map任务不是该空闲计算节点的本地任务时,直接将该map任务对应的数据块由数据块副本所在的源计算节点传输到该空闲计算节点上并进行存储,然后将该map任务分配给该空闲计算节点,避免了现有的作业调度方法中,当判断出待分配的map任务不是本地任务时需要等待本地计算节点出现的时间,同时,避免了空闲计算节点的资源浪费,提高了资源利用率,缩短了作业的平均完成时间。另一方面,当Hadoop集群中的各个计算节点均在执行任务时,在计算节点执行前一个map任务的过程中,选择最早释放忙碌计算槽的计算节点,并且为该计算节点预先获取下一个map任务所对应的数据块,保证了任务的本地性。这样当计算节点完成前一个map任务后,就可以直接执行下一个map任务,也同样提高了资源的利用率以及作业的完成效率。
实施例三
参照图3,示出了本发明实施例三的一种作业调度方法的步骤流程图。
本实施例中,在Hadoop集群中各个计算节点都在执行当前作业中的map任务的前提下,对本发明中的作业调度方法进行了详细说明。
在本实施例中假设有一个Hadoop集群C,该集群由N个TT(TaskTracker,计算节点)和一个JT(JobTracker,主节点)组成,该集群可以表示为C={JT,TTi|i∈[0,N)}。假设一个作业J,由m个map(映射)任务和r个reduce任务,而由于当前普遍认为reduce任务不存在数据本地性问题,因此,本实施例中不予考虑,则一个作业可以简化表示为J={Mi|i∈[0,m)}。而对于一个作业的输入数据,Hadoop默认设置为一个map任务对应一个输入数据块,则作业的输入数据可以表示为I={Bi|i∈[0,m)}。那么当用户提交上述这样一个作业时,Hadoop集群对该作业的调度概括来讲主要执行三个步骤的操作:步骤S302:预选候选计算节点即预选满足设定标准的计算节点;步骤S304:预选待执行的map任务;以及步骤S306:为预选出的候选计算节点预先获取执行预选出的非本地map任务的数据资源即数据块。
其中,步骤S302:预选候选计算节点的具体实施步骤如下:
步骤S3022:估算Hadoop集群中计算节点当前正在执行的map任务的剩余完成时间。
本实施例中,利用当前计算节点上正在执行的map任务的执行进度来估算任务剩余执行时间。
利用当前各个计算节点上正在执行的map任务的执行进度来估算任务剩余执行时间的具体步骤如下:
首先,通过任务已经读取的数据大小占其总输入数据大小的比重,计算一个map任务的执行进度记为progress:其中,
其中,readData为读取的数据大小;totalData为总输入数据大小;progress为map任务的执行进度。
其次,根据任务执行进度估算该计算节点上正在运行的map任务的剩余完成时间,下面在公式中将剩余完成时间记为estimatedLeftTime。
这里为了计算剩余完成时间引入了任务进度的增长率记为Δp:其中,
在上述公式中,progresst为任务t的当前进度,currentTime为当前时间,dispatchTimet为任务t被调度的时间。
为了方便计算,假设任务t以恒定的进度增长率执行,则任务t的剩余完成时间可用如下公式进行计算:
步骤S3024:计算节点间传输一个文件块所需时间。
其中,所述文件块即数据块,每一个map任务对应一个数据块。由于Hadoop集群网络内部的理论传输速率可以根据网络设备的参数获得,则理想情况下,可以根据此理论传输速率计算出节点间传输一个数据块所需要的时间,该时间记为timePerBlock。
由于每个数据块的大小固定,因此,传输一个数据块所需要的时间为
其中,tranRate表示网络的传输速率,blockSize为数据块的大小。
需要说明的是,步骤S3022与步骤S3024的执行不分先后顺序执行,也可以同时执行。这里在计算节点间传输一个数据块的时间可以是在同一机架上的两个计算节点间传输一个数据块的时间;也可以是在不同机架但同一数据中心的两个计算节点间传输一个数据块的时间;还可以是在不同数据中心的两个计算节点间传输一个数据块的时间。这个时间的选取在满足上述条件的情况下,可以由本领域技术人员根据实际需求进行选择设置。
步骤S3026:依次判断Hadoop集群中各个计算节点上正在运行的map任务的剩余完成时间是否大于在计算节点间传输一个数据块所需要的时间。若判断结果为是,则执行步骤S3028;若判断结果为否,则执行步骤S3022,继续对其它计算节点上正在执行的map任务的剩余完成时间进行估算。
步骤S3028:将正在运行的map任务的剩余完成时间大于在计算节点间传输一个数据块所需要的时间的计算节点加入候选计算节点集合中。
在选择候选计算节点集合时,对于一个计算节点,如果正在该计算节点上运行的map任务的剩余完成时间小于传输一个数据块所需时间,则说明该计算节点马上会释放忙碌slots计算槽,因此无需再执行后续的步骤,这是因为如果继续执行预取数据块,并不能在该计算节点释放忙碌slot之前完成预取数据块的步骤,不仅达不到预期效果,反而会增加计算节点的负载。因此,对计算节点上每个map任务的estimatedLeftTime与timePerBlock进行比较,如果该计算节点上存在estimatedLeftTime<timePerBlock的任务,则退出本次预取数据块操作;反之,则选取estimatedLeftTime>timePerBlock的计算节点加入候选节点集合即candidateTTs集合。
此外,由于系统对于一个作业在某个计算节点上的失败任务数设定了一定的阈值,以防止任务不停分配到该节点。因此,在预选候选节点集合中的计算节点时还应考虑当前作业在该计算节点上的失败任务数是否达到上限。最终获得候选的计算节点集合candidateTTs:
candidateTTs={TTk|TTk∈C,failCounts<Threshold,
andestimatedLeftTime>timePerBlock}
由于map任务的执行是连续的,预选计算节点是一个迭代过程,算法会根据各TaskTracker发送给JobTracker的心跳信息,每隔一个心跳间隔更新一次candidateTTs集合,以保证预先获取的候选计算节点的时效性。
步骤S30210:将candidateTTs集合中各个计算节点按照map任务的剩余完成时间的长短进行排序,将剩余完成时间最短的计算节点排序在第一位。
在执行完上述各个步骤后,主节点会将满足条件的计算节点组成候选计算节点集合,并形成candidateTTs列表即候选计算节点列表,而为了后续步骤可快速从candidateTTs中选择一个候选计算节点进行预取操作,将这些计算节点按照map任务的剩余完成时间的长短进行排序,将剩余完成时间最短的计算节点排序在第一位。
步骤S30212:选取candidateTTs集合中最快释放忙碌slot的计算节点。
读取最新的candidateTTs列表,并从中选取排列在第一位的TaskTracker,即接下来最有可能释放忙碌slots且可在其释放忙碌slots前能完成数据块预先获取操作的计算节点,作为待进行预先获取数据块操作的候选计算节点,记为targetTT,即满足设定标准的计算节点。
上述各个步骤实现了预选候选计算节点,那么接下来要预选待执行的map任务,当然预选候选计算节点与预选待执行的map任务可以同时交叉进行,也可以在预选完候选计算节点后再预选待执行的map任务。
其中,步骤S304:预选待执行的map任务的具体步骤如下:
步骤S3042:判断当前作业的执行失败任务集合是否为空集合。若失败任务集合不为空,则执行步骤S3044;若失败任务集合为空,则执行步骤S3046。
为了保证当前作业中执行失败的map任务可以快速被重新调度,对于当前运行作业,如果当前作业的执行失败任务集合failed Maps不为空,则从失败任务集合中选择一个map任务作为待执行的map任务;若执行失败任务集合为空,则从当前正在运行的作业中选择一个剩余的map任务作为待执行的map任务。
步骤S3044:当前作业的执行失败任务集合不为空时,从failedMaps集合中选择一个非本地map任务作为toPrefetchMap。
在从failedMaps集合中选择一个非本地map任务时,则对failedMaps集合中失败次数最多的任务严格按其相对于步骤S312中选出的targetTT的数据本地性进行筛选,如果为node-local任务,则中断整个算法的执行,因为接下来即将执行的map本身即为本地性任务;反之,则选择该失败次数最多的任务作为候选map任务,记为toPrefetchMap。
步骤S3046:当前作业的执行失败任务集合为空集合时,从未执行任务缓存中选择一个非本地map任务作为toPrefetchMap。
如果failed Maps集合为空,且toPrefetchMap仍为空,则查询当前队列中正在运行的作业是否还有剩余map任务没有完成,即未运行任务缓存nonRunningMapCache是否不为空,如果是,则从中严格按照本地性策略依次查找关于targetTT计算节点的本地性分别为node-local、rack-local和off-switch的map任务。若nonRunningMapCache中尚存在关于targetTT计算节点为node-local级别的任务,则退出本次预先获取操作;否则,从nonRunningMapCache中依次优先选择一个rack-local或off-switch级别任务作为toPrefetchMap,即如果不存在node-local级别的任务,则优先选择rack-local级别的任务,如果也不存在rack-local级别的任务,则最后会选择off-switch级别任务作为toPrefetchMap。
在预选出候选计算节点以及待执行的map任务后,为预选出的候选计算节点预先获取执行预选出的非本地map任务的数据资源。
其中,步骤S306:为预选出的候选计算节点预先获取执行预选出的非本地map任务的数据资源的关键步骤为:
步骤S3062:计算targetTT与输入toPrefetchMap数据块所在计算节点间的网络拓扑距离,选择网络拓扑距离最小的计算节点作为源计算节点。
主节点中存储有元数据信息,并且这些信息在每执行完一个任务后会自动进行更新。元数据信息中记录了各个尚未完成的map任务,以及各个map任务的输入数据块所存储的位置。
为了计算网络拓扑距离则首先TaskInProgress对象从主节点中读取toPrefetchMap任务对应的元数据信息,获取toPrefetchMap任务的InputSplit即输入数据块所在位置,以确定候选源计算节点,记为sourceTTs。然后通过读取conf目录即配置目录下的topology.data文件即网络拓扑文件,即可获取当前Hadoop集群所配置的网络拓扑结构信息,由此可以确定sourceTTs中计算节点与targetTT之间的距离,选取距离最近的计算节点作为预先获取的源计算节点,记为sourceTT。其中,sourceTTs与targetTT之间的距离用Dij表示并且该距离可以用0,2,4,6数字表示,具体表示如下:
数字越小表明sourceTTs与targetTT之间的距离越小。
步骤S3064:预取数据资源到targetTT的本地磁盘,完成预取操作后,并更新相应的元数据信息。
将toPrefetchMap任务的输入数据块通过网络从源计算节点sourceTT传输到目标节点targetTT上即满足设定标准的计算节点上,并存储于本地磁盘,同时更新相应的元数据信息。
以上步骤完成了预选候选计算节点即预选满足设定标准的计算节点、预选待执行的map任务以及为预选出的候选计算节点预先获取执行预选出的非本地map任务的数据资源即数据块,那么targetTT在完成当前正在执行的map任务之后,会释放之前忙碌的slot,并以心跳信息告知JobTracker主节点,请求分配新的map任务,toPrefetchMap则会被分配给该计算节点,由于其输入数据块已经预先存储到该计算节点的磁盘上,因此,该map任务执行相当于在本地性计算节点上执行。最后,重复以上步骤,进入新一轮的预选候选计算节点、预选待执行的map任务和预先获取资源数据的操作,直至当前作业全部完成。
本实施例提供的作业调度方法,通过估算计算节点上正在运行的map任务的剩余执行时间,并与传输一个数据块所需时间进行比较,预选待分配的候选计算节点即满足设定标准的计算节点;并从当前正在运行作业的未分配的map任务中选取非本地任务作为待预先获取map任务即待执行的map任务;最后,为该map任务在候选计算节点上预先获取其所需数据块。使非本地map任务可以不用等待本地性计算节点的出现即可被立即调度。通过本实施例中的方法,在map任务分配前通过预先获取其输入数据块,有效地提高了任务的数据本地性,并在一定程度上减少了作业的执行时间,提高了系统资源利用率。
实施例四
参照图4,示出了本发明实施例四的一种作业调度装置的结构框图。
本实施例中的作业调度装置包括:第一筛选模块402,用于在当前作业执行过程中,根据第一设定规则筛选出候选计算节点集合;第二筛选模块404,按照第二设定规则筛选出当前作业中一个未执行的map任务作为待执行的map任务,其中,一个作业包括至少一个map任务;选择模块406,用于从候选计算节点集合中选择一个满足设定标准的计算节点;判断模块408,用于判断待执行的map任务是否为满足设定标准的计算节点的本地任务;传输模块410,用于当待执行的map任务不是满足设定标准的计算节点的本地任务时,将待执行的map任务对应的数据块从源计算节点传输到满足设定标准的计算节点上进行存储;其中,源计算节点为存储有数据块的副本且与满足设定标准的计算节点间的网络拓扑距离最小的计算节点;分配模块412,用于当满足设定标准的计算节点请求分配map任务时,将筛选出的待执行的map任务分配给满足设定标准的计算节点。
通过本实施中提供的作业调度装置,在对Hadoop集群中当前正在执行的作业进行调度时,预先选择一个满足设定标准的计算节点以及待执行的map任务,判断待执行的map任务是否为该满足设定标准的计算节点的本地任务,当待执行的map任务不是该满足设定标准的计算节点本地任务时,那么为满足标准的计算节点预先获取执行所述待执行的map任务所需要的数据块,这样就可以在满足设定标准的计算节点请求分配任务时,直接将待执行的map任务分配给该满足设定标准的计算节点,满足了任务的本地性。本实施例中的作业调度装置,不仅仅简单的对待执行的map任务的本地性进行判断,并且还直接为执行该map任务的计算节点预先获取执行该任务的数据块,让该map任务成为数据本地性任务。通过本实施例中的作业调度装置,节省了现有的作业调度方法中,当判断出map任务不是数据本地性任务时,要采取暂缓调度非本地性任务等待本地计算节点出现的时间;并且解决了现有的作业调度方法中由于计算节点空闲而造成的资源浪费的问题,提高了资源的利用率以及作业的执行效率。
优选地,第一筛选模块402包括:第一判断子模块4022,用于在当前作业执行过程中判断执行当前作业的Hadoop集群中是否存在空闲计算节点;执行子模块4024,用于在判断子模块的判断结果为存在时,将所有空闲计算节点作为候选计算节点集合;在判断子模块的判断结果为不存在时,根据第一设定规则筛选Hadoop集群中正在执行当前作业中的map任务的计算节点,组成候选计算节点集合;其中,候选计算节点集合中各个计算节点当前正在执行的map任务的剩余完成时间,大于在计算节点间传输一个数据块的时间。
优选地,第二筛选模块404包括:第二判断子模块4042,用于判断当前作业中是否存在执行失败的map任务;选择子模块4044,用于在第二判断子模块4042的判断结果为存在时,选择一个执行失败次数最多的map任务作为待执行的map任务;在第二判断子模块4042的判断结果为不存在时,从当前作业中选择一个剩余的map任务作为待执行的map任务。
优选地,选择模块406从候选计算节点集合中选择一个满足设定标准的计算节点时:当Hadoop集群中不存在空闲计算节点时,从候选节点集合中,选择最早释放忙碌计算槽的计算节点作为满足设定标准的计算节点。
优选地,作业调度装置还包括:调用模块414,用于在判断模块408的判断结果为待执行的map任务是满足设定标准的计算节点的本地任务时,直接调用分配模块412。
本实施例的作业调度装置用于实现前述多个方法实施例中相应的作业调度方法,并且具有相应的方法实施的有益效果,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种作业调度方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种作业调度方法,其特征在于,包括:
当前作业执行过程中,根据第一设定规则筛选出候选计算节点集合;以及,按照第二设定规则筛选出所述当前作业中一个未执行的map任务作为待执行的map任务,其中,一个作业包括至少一个map任务;
从所述候选计算节点集合中选择一个满足设定标准的计算节点;
判断所述待执行的map任务是否为所述满足设定标准的计算节点的本地任务;
当所述待执行的map任务不是所述满足设定标准的计算节点的本地任务时,将所述待执行的map任务对应的数据块从源计算节点传输到所述满足设定标准的计算节点上进行存储;其中,所述源计算节点为存储有所述数据块的副本且与所述满足设定标准的计算节点间的网络拓扑距离最小的计算节点;
当所述满足设定标准的计算节点请求分配map任务时,将筛选出的所述待执行的map任务分配给所述满足设定标准的计算节点。
2.根据权利要求1所述的方法,其特征在于,所述根据第一设定规则筛选出候选计算节点集合步骤包括:
判断执行所述当前作业的Hadoop集群中是否存在空闲计算节点;
若存在,则将所有空闲计算节点作为所述候选计算节点集合;
若不存在,则根据第一设定规则筛选所述Hadoop集群中正在执行所述当前作业中的map任务的计算节点,组成所述候选计算节点集合;其中,所述候选计算节点集合中各个计算节点当前正在执行的map任务的剩余完成时间,大于在计算节点间传输一个数据块的时间。
3.根据权利要求1所述的方法,其特征在于,所述按照第二设定规则筛选出所述当前作业中一个未执行的map任务作为待执行的map任务步骤包括:
判断所述当前作业中是否存在执行失败的map任务;
若存在,则选择一个执行失败次数最多的map任务作为待执行的map任务;
若不存在,则从所述当前作业中选择一个剩余的map任务作为待执行的map任务。
4.根据权利要求2所述的方法,其特征在于,所述从所述候选计算节点集合中选择一个满足设定标准的计算节点的步骤包括:
当所述Hadoop集群中不存在空闲计算节点时,从所述候选节点集合中,选择最早释放忙碌计算槽的计算节点作为所述满足设定标准的计算节点。
5.根据权利要求1所述的方法,其特征在于,在所述判断所述待执行的map任务是否为所述满足设定标准的计算节点的本地任务步骤之后,还包括:
当所述待执行的map任务是所述满足设定标准的计算节点的本地任务时,直接执行当所述满足设定标准的计算节点请求分配map任务时,将筛选出的所述待执行的map任务分配给所述满足设定标准的计算节点的步骤。
6.一种作业调度装置,其特征在于,包括:
第一筛选模块,用于在当前作业执行过程中,根据第一设定规则筛选出候选计算节点集合;
第二筛选模块,按照第二设定规则筛选出所述当前作业中一个未执行的map任务作为待执行的map任务,其中,一个作业包括至少一个map任务;
选择模块,用于从所述候选计算节点集合中选择一个满足设定标准的计算节点;
判断模块,用于判断所述待执行的map任务是否为所述满足设定标准的计算节点的本地任务;
传输模块,用于当所述待执行的map任务不是所述满足设定标准的计算节点的本地任务时,将所述待执行的map任务对应的数据块从源计算节点传输到所述满足设定标准的计算节点上进行存储;其中,所述源计算节点为存储有所述数据块的副本且与所述满足设定标准的计算节点间的网络拓扑距离最小的计算节点;
分配模块,用于当所述满足设定标准的计算节点请求分配map任务时,将筛选出的所述待执行的map任务分配给所述满足设定标准的计算节点。
7.根据权利要求6所述的装置,其特征在于,所述第一筛选模块包括:
第一判断子模块,用于在当前作业执行过程中判断执行所述当前作业的Hadoop集群中是否存在空闲计算节点;
执行子模块,用于在所述判断子模块的判断结果为存在时,将所有空闲计算节点作为所述候选计算节点集合;在所述判断子模块的判断结果为不存在时,根据第一设定规则筛选所述Hadoop集群中正在执行所述当前作业中的map任务的计算节点,组成所述候选计算节点集合;其中,所述候选计算节点集合中各个计算节点当前正在执行的map任务的剩余完成时间,大于在计算节点间传输一个数据块的时间。
8.根据权利要求6所述的装置,其特征在于,所述第二筛选模块包括:
第二判断子模块,用于判断所述当前作业中是否存在执行失败的map任务;
选择子模块,用于在所述第二判断子模块的判断结果为存在时,选择一个执行失败次数最多的map任务作为待执行的map任务;在所述第二判断子模块的判断结果为不存在时,从所述当前作业中选择一个剩余的map任务作为待执行的map任务。
9.根据权利要求7所述的装置,其特征在于,所述选择模块从所述候选计算节点集合中选择一个满足设定标准的计算节点时:
当所述Hadoop集群中不存在空闲计算节点时,从所述候选节点集合中,选择最早释放忙碌计算槽的计算节点作为所述满足设定标准的计算节点。
10.根据权利要求6所述的装置,其特征在于,所述作业调度装置还包括:
调用模块,用于在所述判断模块的判断结果为所述待执行的map任务是所述满足设定标准的计算节点的本地任务时,直接调用所述分配模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310497575.4A CN103530182A (zh) | 2013-10-22 | 2013-10-22 | 一种作业调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310497575.4A CN103530182A (zh) | 2013-10-22 | 2013-10-22 | 一种作业调度方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103530182A true CN103530182A (zh) | 2014-01-22 |
Family
ID=49932220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310497575.4A Pending CN103530182A (zh) | 2013-10-22 | 2013-10-22 | 一种作业调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103530182A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008007A (zh) * | 2014-06-12 | 2014-08-27 | 深圳先进技术研究院 | 基于流式计算和批处理计算的互操作数据处理系统及方法 |
CN104317650A (zh) * | 2014-10-10 | 2015-01-28 | 北京工业大学 | 一种面向Map/Reduce型海量数据处理平台的作业调度方法 |
CN105607955A (zh) * | 2015-12-23 | 2016-05-25 | 浪潮集团有限公司 | 一种计算任务分配的方法及装置 |
WO2016101423A1 (zh) * | 2014-12-23 | 2016-06-30 | 中兴通讯股份有限公司 | 作业调度方法和云调度服务器 |
CN105808346A (zh) * | 2014-12-30 | 2016-07-27 | 华为技术有限公司 | 一种任务调度方法与装置 |
CN106126323A (zh) * | 2016-06-17 | 2016-11-16 | 四川新环佳科技发展有限公司 | 基于云平台的实时任务调度方法 |
CN106155802A (zh) * | 2015-03-30 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 任务调度方法、装置及控制节点 |
WO2017092582A1 (zh) * | 2015-12-01 | 2017-06-08 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
CN107273527A (zh) * | 2017-06-27 | 2017-10-20 | 北京云和时空科技有限公司 | 一种Hadoop集群和分布式系统 |
CN107291547A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种任务调度处理方法、装置及系统 |
CN107682417A (zh) * | 2017-09-19 | 2018-02-09 | 深圳市盛路物联通讯技术有限公司 | 一种数据节点的任务分配方法和装置 |
CN108268316A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 作业调度的方法及装置 |
CN108446165A (zh) * | 2018-03-12 | 2018-08-24 | 西安电子科技大学昆山创新研究院 | 一种云计算中的任务预取方法 |
CN109710433A (zh) * | 2018-12-30 | 2019-05-03 | 浙江蓝卓工业互联网信息技术有限公司 | 基于元数据驱动的数据处理方法、装置及系统 |
CN109992373A (zh) * | 2017-12-29 | 2019-07-09 | 华为技术有限公司 | 资源调度方法、信息管理方法和装置及任务部署系统 |
CN110362410A (zh) * | 2019-07-24 | 2019-10-22 | 江苏满运软件科技有限公司 | 基于离线应用的资源控制方法、系统、设备及存储介质 |
CN111143063A (zh) * | 2019-12-24 | 2020-05-12 | 青岛海尔科技有限公司 | 任务的资源预约方法及装置 |
CN111459653A (zh) * | 2019-01-22 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 集群调度方法、装置和系统以及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156659A (zh) * | 2011-03-28 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 一种文件作业任务的调度方法及系统 |
CN102937918A (zh) * | 2012-10-16 | 2013-02-20 | 西安交通大学 | 一种hdfs运行时数据块平衡方法 |
US20130104140A1 (en) * | 2011-10-21 | 2013-04-25 | International Business Machines Corporation | Resource aware scheduling in a distributed computing environment |
CN103198097A (zh) * | 2013-03-11 | 2013-07-10 | 中国科学院计算机网络信息中心 | 一种基于分布式文件系统的海量地学数据并行处理方法 |
CN103226467A (zh) * | 2013-05-23 | 2013-07-31 | 中国人民解放军国防科学技术大学 | 数据并行处理方法、系统及负载均衡调度器 |
CN103257896A (zh) * | 2013-01-31 | 2013-08-21 | 南京理工大学连云港研究院 | 一种云环境下的Max-D作业调度方法 |
-
2013
- 2013-10-22 CN CN201310497575.4A patent/CN103530182A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156659A (zh) * | 2011-03-28 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 一种文件作业任务的调度方法及系统 |
US20130104140A1 (en) * | 2011-10-21 | 2013-04-25 | International Business Machines Corporation | Resource aware scheduling in a distributed computing environment |
CN102937918A (zh) * | 2012-10-16 | 2013-02-20 | 西安交通大学 | 一种hdfs运行时数据块平衡方法 |
CN103257896A (zh) * | 2013-01-31 | 2013-08-21 | 南京理工大学连云港研究院 | 一种云环境下的Max-D作业调度方法 |
CN103198097A (zh) * | 2013-03-11 | 2013-07-10 | 中国科学院计算机网络信息中心 | 一种基于分布式文件系统的海量地学数据并行处理方法 |
CN103226467A (zh) * | 2013-05-23 | 2013-07-31 | 中国人民解放军国防科学技术大学 | 数据并行处理方法、系统及负载均衡调度器 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008007A (zh) * | 2014-06-12 | 2014-08-27 | 深圳先进技术研究院 | 基于流式计算和批处理计算的互操作数据处理系统及方法 |
CN104317650B (zh) * | 2014-10-10 | 2018-05-01 | 北京工业大学 | 一种面向Map/Reduce型海量数据处理平台的作业调度方法 |
CN104317650A (zh) * | 2014-10-10 | 2015-01-28 | 北京工业大学 | 一种面向Map/Reduce型海量数据处理平台的作业调度方法 |
WO2016101423A1 (zh) * | 2014-12-23 | 2016-06-30 | 中兴通讯股份有限公司 | 作业调度方法和云调度服务器 |
CN105791354A (zh) * | 2014-12-23 | 2016-07-20 | 中兴通讯股份有限公司 | 作业调度方法和云调度服务器 |
CN105808346A (zh) * | 2014-12-30 | 2016-07-27 | 华为技术有限公司 | 一种任务调度方法与装置 |
CN106155802B (zh) * | 2015-03-30 | 2020-03-13 | 阿里巴巴集团控股有限公司 | 任务调度方法、装置及控制节点 |
CN106155802A (zh) * | 2015-03-30 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 任务调度方法、装置及控制节点 |
WO2017092582A1 (zh) * | 2015-12-01 | 2017-06-08 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和装置 |
CN105607955A (zh) * | 2015-12-23 | 2016-05-25 | 浪潮集团有限公司 | 一种计算任务分配的方法及装置 |
CN107291547B (zh) * | 2016-03-31 | 2021-02-05 | 创新先进技术有限公司 | 一种任务调度处理方法、装置及系统 |
CN107291547A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种任务调度处理方法、装置及系统 |
CN106126323A (zh) * | 2016-06-17 | 2016-11-16 | 四川新环佳科技发展有限公司 | 基于云平台的实时任务调度方法 |
CN108268316A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 作业调度的方法及装置 |
CN107273527A (zh) * | 2017-06-27 | 2017-10-20 | 北京云和时空科技有限公司 | 一种Hadoop集群和分布式系统 |
CN107682417B (zh) * | 2017-09-19 | 2020-09-25 | 深圳市盛路物联通讯技术有限公司 | 一种数据节点的任务分配方法和装置 |
CN107682417A (zh) * | 2017-09-19 | 2018-02-09 | 深圳市盛路物联通讯技术有限公司 | 一种数据节点的任务分配方法和装置 |
CN109992373A (zh) * | 2017-12-29 | 2019-07-09 | 华为技术有限公司 | 资源调度方法、信息管理方法和装置及任务部署系统 |
CN109992373B (zh) * | 2017-12-29 | 2021-04-09 | 华为技术有限公司 | 资源调度方法、信息管理方法和装置及任务部署系统 |
CN108446165A (zh) * | 2018-03-12 | 2018-08-24 | 西安电子科技大学昆山创新研究院 | 一种云计算中的任务预取方法 |
CN109710433A (zh) * | 2018-12-30 | 2019-05-03 | 浙江蓝卓工业互联网信息技术有限公司 | 基于元数据驱动的数据处理方法、装置及系统 |
CN111459653A (zh) * | 2019-01-22 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 集群调度方法、装置和系统以及电子设备 |
CN111459653B (zh) * | 2019-01-22 | 2023-05-05 | 阿里巴巴集团控股有限公司 | 集群调度方法、装置和系统以及电子设备 |
CN110362410A (zh) * | 2019-07-24 | 2019-10-22 | 江苏满运软件科技有限公司 | 基于离线应用的资源控制方法、系统、设备及存储介质 |
CN111143063A (zh) * | 2019-12-24 | 2020-05-12 | 青岛海尔科技有限公司 | 任务的资源预约方法及装置 |
CN111143063B (zh) * | 2019-12-24 | 2023-08-18 | 青岛海尔科技有限公司 | 任务的资源预约方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103530182A (zh) | 一种作业调度方法和装置 | |
CN109788046B (zh) | 一种基于改进蜂群算法的多策略边缘计算资源调度方法 | |
Ge et al. | GA-based task scheduler for the cloud computing systems | |
CN105159782B (zh) | 基于云主机为订单分配资源的方法和装置 | |
US9910888B2 (en) | Map-reduce job virtualization | |
US9201690B2 (en) | Resource aware scheduling in a distributed computing environment | |
CN103309738B (zh) | 用户作业调度方法及装置 | |
CN110569252B (zh) | 一种数据处理系统及方法 | |
CN100465901C (zh) | 网络系统、管理计算机以及集群管理方法 | |
JP2007140710A (ja) | タスク割り当て方法およびタスク割り当て装置 | |
CN108241539B (zh) | 基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备 | |
US20130346540A1 (en) | Storing and Moving Data in a Distributed Storage System | |
EP3114589B1 (en) | System and method for massively parallel processing database | |
CN113986534A (zh) | 任务调度方法、装置、计算机设备和计算机可读存储介质 | |
CN111367644A (zh) | 一种面向异构融合系统的任务调度方法及装置 | |
CN102480502B (zh) | 一种i/o负载均衡方法及i/o服务器 | |
CN102779183A (zh) | 数据查询的方法、设备及系统 | |
CN106502790A (zh) | 一种基于数据分布的任务分配优化方法 | |
CN105187483B (zh) | 分配云计算资源的方法及装置 | |
JP5388134B2 (ja) | 計算機システム、及び、移動データ決定方法 | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 | |
CN108228323A (zh) | 基于数据本地性的Hadoop任务调度方法及装置 | |
CN114896070A (zh) | 一种用于深度学习任务的gpu资源分配方法 | |
JP5045576B2 (ja) | マルチプロセッサシステム及びプログラム実行方法 | |
WO2016067370A1 (ja) | 情報処理装置、方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140122 |