CN104317653A - 加速短作业处理的调度方法和装置 - Google Patents
加速短作业处理的调度方法和装置 Download PDFInfo
- Publication number
- CN104317653A CN104317653A CN201410584774.3A CN201410584774A CN104317653A CN 104317653 A CN104317653 A CN 104317653A CN 201410584774 A CN201410584774 A CN 201410584774A CN 104317653 A CN104317653 A CN 104317653A
- Authority
- CN
- China
- Prior art keywords
- queue
- location mark
- reserved location
- alternative
- short
- 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.)
- Granted
Links
Landscapes
- Multi Processors (AREA)
- Advance Control (AREA)
Abstract
本发明提供了一种加速短作业处理的调度方法和装置,包括:接收作业请求,选择队列,并在队列中设置作业的预留位置标记;如果队列中有长作业影响短作业处理,确定作业的备选队列,并在备选队列中设置作业的备选预留位置标记;当在队列中处理到作业的预留位置标记时,队列接受任务请求,取消作业的备用预留位置标记。本发明能够支持短作业的快速调度,提高系统的吞吐量,使得集群具有快速响应的优势。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种加速短作业处理的调度方法和装置。
背景技术
在互联网高速发展的时代,数据量呈现指数型增长,随着数据量的剧增、数据种类的复杂性等等,我们迎来了大数据时代。在大规模数据分析处理框架中,Hadoop集群已经成为并行处理的研究系统。任务调度算法是Hadoop平台上的核心技术之一,调度算法的设计合理性直接影响着Hadoop平台任务执行的效率。
在Hadoop平台中的现有调度算法是先入先出队列调度算法(FIFO,FirstInput First Output)、公平调度算法、计算能力调度算法。在FIFO中,使用了单独的队列进行任务调度,没有考虑不同用户的不同任务之间的差异,使得系统的资源利用率不高,对系统的整体性能有影响。在公平调度算法和计算能力调度算法中,这类算法的思想是尽可能的确保所有的作业能够获取相同的资源量,同时根据队列资源分配量、作业分配资源量及用户资源分配量的限制保证率资源分配的合理性。它克服了FIFO算法资源利用率低和不支持任务抢占的缺点,为系统的性能带来了一定的提升。
但是,现有的算法均没有考虑短作业任务的情况调度,在现实生活中,短作业任务与实时作业任务是很常见的,这类任务执行的时间较短。然而,一个作业的执行时间是最长任务的执行时间决定的,如果作业调度过程中任务分配的不均衡或不合理,就可能会造成任务作业执行时间较长。因此,现有的任务调度算法不适合短作业的处理。
发明内容
为了解决上述技术问题,本发明提供了一种加速短作业处理的调度方法和装置,能够加速短作业的处理,提高集群整体的性能。
为了达到本发明目的,本发明提供了一种加速短作业处理的调度方法,包括:接收作业请求,选择队列,并在所述队列中设置所述作业的预留位置标记;如果所述队列中有长作业影响短作业处理,确定所述作业的备选队列,并在所述备选队列中设置所述作业的备选预留位置标记;当在所述队列中处理到所述作业的预留位置标记时,所述队列接受任务请求,取消所述作业的备用预留位置标记。
进一步地,所述作业请求,包括:接收作业时间和作业执行时间,其中,根据所述执行时间的长短来划分长作业和短作业;所述选择队列,包括:选择队列长度最短的队列。
进一步地,所述确定所述作业的备选队列,并在所述备选队列中设置所述作业的备选预留位置标记,包括:计算各队列处理任务的速度,选择处理任务速度最快的队列作为所述作业的备选队列,并在所述备选队列中设置所述作业的备选预留位置标记。
进一步地,所述计算各队列处理任务的速度,包括:根据各队列的长度对队列进行排序,根据所述排序结果,选取设定数量的队列长度短的队列;分别在选取的队列中标记任务X的起始位置为Xi;经过设定时间后,分别在选取的队列中标记任务X的位置为Xj;分别计算选取的队列处理任务的速度V=(Xi-Xj)/(Xi+1)。
进一步地,所述当在所述队列中处理到所述作业的预留位置标记时,所述队列接受任务请求,取消所述作业的备用预留位置标记,包括:当在所述队列中处理到所述作业的预留位置标记时,向调度器发送可接受任务的请求,所述调度器在所述队列成功接受任务后取消所述备用队列中的备用预留位置标记。
一种加速短作业处理的调度装置,包括:接收模块,用于接收作业请求;预留位置标记模块,用于选择队列,并在所述队列中设置所述作业的预留位置标记;判断模块,用于判断该队列中是否有长作业影响短作业处理时间;备选预留位置标记模块,用于如果判断出有长作业影响短作业处理时间,确定所述作业的备选队列,并在所述备选队列中设置所述作业的备选预留位置标记;处理模块,用于当在所述队列中处理到所述作业的预留位置标记时,所述队列接受任务请求,取消所述作业的备用预留位置标记。
进一步地,所述作业请求,包括:接收作业时间和作业执行时间,其中,根据所述执行时间的长短来划分长作业和短作业;所述判断模块,具体用于:根据作业请求,判断该队列中是否有长作业影响短作业处理时间。
进一步地,所述预留位置标记模块,具体用于:选择队列长度最短的队列,并在所述队列中设置所述作业的预留位置标记。
进一步地,所述备选预留位置标记模块,具体用于:计算各队列处理任务的速度,选择处理任务速度最快的队列作为所述作业的备选队列,并在所述备选队列中设置所述作业的备选预留位置标记。
进一步地,所述计算各队列处理任务的速度,包括:根据各队列的长度对队列进行排序,根据所述排序结果,选取设定数量的队列长度短的队列;分别在选取的队列中标记任务X的起始位置为Xi;经过设定时间后,分别在选取的队列中标记任务X的位置为Xj;分别计算选取的队列处理任务的速度V=(Xi-Xj)/(Xi+1)。
与现有技术相比,本发明包括:接收作业请求,选择队列,并在所述队列中设置所述作业的预留位置标记;如果所述队列中有长作业影响短作业处理,确定所述作业的备选队列,并在所述备选队列中设置所述作业的备选预留位置标记;当在所述队列中处理到所述作业的预留位置标记时,所述队列接受任务请求,取消所述作业的备用预留位置标记。本发明通过在选取队列的时候不是根据队列中的资源量使用率最低进行选择,是依据能满足资源量的情况下,选择队列中最短的队列,然后进行预留短作业标记。在短作业预留位置所在的队列中如果出现较长任务时会影响短作业的执行,这时会根据队列的任务处理速度选择队列较短并且队列处理速度较快的队列进行复制预留短作业标记,当在队列中有一个短作业预留标记被执行时,就会自动取消其它该短作业的预留标记,如此,能够支持短作业的快速调度,提高系统的吞吐量,使得集群具有快速响应的优势。
附图说明
图1是本发明加速短作业处理的调度方法的流程示意图。
图2是本发明确定作业的备选预留位置的队列的流程示意图。
图3是本发明加速短作业处理的调度装置的结构示意图。
具体实施方式
下面结合附图对本发明进行进一步的详细说明。通过足够详细的描述这些实施示例,使得本领域技术人员能够实践本发明。在不脱离本发明的主旨和范围的情况下,可以对实施做出逻辑的、实现的和其他的改变。
图1是本发明加速短作业处理的调度方法的流程示意图。如图1所示,具体可以包括:
步骤11,接收作业请求,其中作业请求包括作业信息。
在本步骤中,作业信息可以包括接收作业时间和作业执行时间等信息。
步骤12,选择队列,并在队列中设置作业的预留位置标记。
为了使得处理作业的时间更快,需要选择合适的队列使得调度器能快速的接收作业来提高作业的执行效率。可以利用队列的特点,按照正常的队列中的任务实际一致的前提下,队列中的任务数量少则队列处理速度快,因而可以将队列短的队列作为任务选择的首要条件,即可以选择队列长度最短的队列。
在队列中设置预留位置标记,等待接受任务。
步骤13,根据作业信息,判断该队列中是否有长作业影响短作业处理,如果是,进入步骤14;如果否,进入步骤15。
在本步骤中,可以根据执行时间的长短来划分长作业和短作业,而如果在队列中长作业的接收作业时间早,则可能会在影响接收作业时间晚的短作业处理。
步骤14,确定作业的备选队列,并在该备选队列中设置作业的备选预留位置标记,然后进入步骤15。
本步骤可以如图2所示,具体包括如下子步骤:
步骤141,根据队列的长度对队列进行排序,根据排序结果,选取设定数量的队列长度短的队列;
具体地,可以根据队列的长度,按照队列长度的升序排列,从队列长度短的队列开始,选取队列数量的一半的队列;
步骤142,分别在选取的队列中标记任务X的起始位置为Xi;
步骤143,经过设定时间后,分别在选取的队列中标记任务X的位置为Xj;
步骤144,分别计算选取的队列处理任务的速度V=(Xi-Xj)/(Xi+1);
步骤145,根据队列处理任务的速度,对选取的队列进行速度排序;
步骤146,选择处理任务速度最快的队列作为作业的备选队列,并在该队列中设置作业的备选预留位置标记。
步骤15,当在队列中处理到作业的预留位置标记时,该队列接受任务请求,取消该作业的备用预留位置标记。
在本步骤中,当处理到队列中预留位置标记时,向调度器发送一个可以接受任务的请求,调度器会在队列成功接受任务后取消其他备用预留位置标记。
下面举一具体实例来对本发明做进一步说明,该具体实例为本发明加速短作业处理的调度,与集群中目前的Capacity调度器进行对比试验。
在集群中执行wordcount作业来测试本发明的短作业处理调度算法与墓前的Capacity算法,测试的文本为500MB和2GB,其中500MB作业启动了5个,2GB作业启动了1个。将短作业的完成的时间作为最终的实验结果如下表1所示,该表说明该算法对短作业处理具有很好的性能,改善了整个Hadoop集群的性能。
表1 短作业处理调度算法与Capacity算法比较结果
测试作业 | WordCount |
Capacity调度算法运行时间(s) | 1568 |
短作业处理调度算法运行时间(s) | 935 |
本发明通过在选取队列的时候不是根据队列中的资源量使用率最低进行选择,是依据能满足资源量的情况下,选择队列中最短的队列,然后进行预留短作业标记。在短作业预留位置所在的队列中如果出现较长任务时会影响短作业的执行,这时会根据队列的任务处理速度选择队列较短并且队列处理速度较快的队列进行复制预留短作业标记,当在队列中有一个短作业预留标记被执行时,就会自动取消其它该短作业的预留标记,如此,能够支持短作业的快速调度,提高系统的吞吐量,使得集群具有快速响应的优势。
图3是本发明加速短作业处理的调度装置的结构示意图,如图3所示,具体可以包括:
接收模块,用于接收作业请求,其中作业请求包括作业信息;
预留位置标记模块,用于选择队列,并在队列中设置作业的预留位置标记;
判断模块,用于根据作业信息,判断该队列中是否有长作业影响短作业处理时间;
备选预留位置标记模块,用于如果判断出有长作业影响短作业处理时间,确定作业的备选预留位置的队列,并在该队列中设置作业的备选预留位置标记;
处理模块,用于当在队列中处理到作业的预留位置标记时,该队列接受任务请求,取消该作业的其他预留位置标记。
加速短作业处理的调度装置是和加速短作业处理的调度方法对应的,因此,加速短作业处理的调度装置具体的实现细节可参看加速短作业处理的调度方法,在此不赘述。
本发明能够支持短作业的快速调度,提高系统的吞吐量,使得集群具有快速响应的优势。
应当理解,虽然本说明书根据实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.一种加速短作业处理的调度方法,其特征在于,包括:
接收作业请求,选择队列,并在所述队列中设置所述作业的预留位置标记;
如果所述队列中有长作业影响短作业处理,确定所述作业的备选队列,并在所述备选队列中设置所述作业的备选预留位置标记;
当在所述队列中处理到所述作业的预留位置标记时,所述队列接受任务请求,取消所述作业的备用预留位置标记。
2.根据权利要求1所述的加速短作业处理的调度方法,其特征在于,所述作业请求,包括:接收作业时间和作业执行时间,其中,根据所述执行时间的长短来划分长作业和短作业;
所述选择队列,包括:选择队列长度最短的队列。
3.根据权利要求1所述的加速短作业处理的调度方法,其特征在于,所述确定所述作业的备选队列,并在所述备选队列中设置所述作业的备选预留位置标记,包括:
计算各队列处理任务的速度,选择处理任务速度最快的队列作为所述作业的备选队列,并在所述备选队列中设置所述作业的备选预留位置标记。
4.根据权利要求4所述的加速短作业处理的调度方法,其特征在于,所述计算各队列处理任务的速度,包括:
根据各队列的长度对队列进行排序,根据所述排序结果,选取设定数量的队列长度短的队列;
分别在选取的队列中标记任务X的起始位置为Xi;
经过设定时间后,分别在选取的队列中标记任务X的位置为Xj;
分别计算选取的队列处理任务的速度V=(Xi-Xj)/(Xi+1)。
5.根据权利要求4所述的加速短作业处理的调度方法,其特征在于,所述当在所述队列中处理到所述作业的预留位置标记时,所述队列接受任务请求,取消所述作业的备用预留位置标记,包括:
当在所述队列中处理到所述作业的预留位置标记时,向调度器发送可接受任务的请求,所述调度器在所述队列成功接受任务后取消所述备用队列中的备用预留位置标记。
6.一种加速短作业处理的调度装置,其特征在于,包括:
接收模块,用于接收作业请求;
预留位置标记模块,用于选择队列,并在所述队列中设置所述作业的预留位置标记;
判断模块,用于判断该队列中是否有长作业影响短作业处理时间;
备选预留位置标记模块,用于如果判断出有长作业影响短作业处理时间,确定所述作业的备选队列,并在所述备选队列中设置所述作业的备选预留位置标记;
处理模块,用于当在所述队列中处理到所述作业的预留位置标记时,所述队列接受任务请求,取消所述作业的备用预留位置标记。
7.根据权利要求6所述的加速短作业处理的调度装置,其特征在于,所述作业请求,包括:接收作业时间和作业执行时间,其中,根据所述执行时间的长短来划分长作业和短作业;
所述判断模块,具体用于:根据作业请求,判断该队列中是否有长作业影响短作业处理时间。
8.根据权利要求6所述的加速短作业处理的调度装置,其特征在于,所述预留位置标记模块,具体用于:选择队列长度最短的队列,并在所述队列中设置所述作业的预留位置标记。
9.根据权利要求6所述的加速短作业处理的调度装置,其特征在于,所述备选预留位置标记模块,具体用于:计算各队列处理任务的速度,选择处理任务速度最快的队列作为所述作业的备选队列,并在所述备选队列中设置所述作业的备选预留位置标记。
10.根据权利要求9所述的加速短作业处理的调度装置,其特征在于,所述计算各队列处理任务的速度,包括:根据各队列的长度对队列进行排序,根据所述排序结果,选取设定数量的队列长度短的队列;分别在选取的队列中标记任务X的起始位置为Xi;经过设定时间后,分别在选取的队列中标记任务X的位置为Xj;分别计算选取的队列处理任务的速度V=(Xi-Xj)/(Xi+1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410584774.3A CN104317653B (zh) | 2014-10-27 | 2014-10-27 | 加速短作业处理的调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410584774.3A CN104317653B (zh) | 2014-10-27 | 2014-10-27 | 加速短作业处理的调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317653A true CN104317653A (zh) | 2015-01-28 |
CN104317653B CN104317653B (zh) | 2018-07-31 |
Family
ID=52372888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410584774.3A Active CN104317653B (zh) | 2014-10-27 | 2014-10-27 | 加速短作业处理的调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317653B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766129A (zh) * | 2016-08-17 | 2018-03-06 | 北京金山云网络技术有限公司 | 一种任务处理方法、装置及系统 |
CN110888704A (zh) * | 2019-11-08 | 2020-03-17 | 北京浪潮数据技术有限公司 | 一种高并发接口处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957780A (zh) * | 2010-08-17 | 2011-01-26 | 中国电子科技集团公司第二十八研究所 | 一种基于资源状态信息的网格任务调度处理器及方法 |
US20130179371A1 (en) * | 2012-01-05 | 2013-07-11 | Microsoft Corporation | Scheduling computing jobs based on value |
CN103309738A (zh) * | 2013-05-31 | 2013-09-18 | 中国联合网络通信集团有限公司 | 用户作业调度方法及装置 |
CN103414761A (zh) * | 2013-07-23 | 2013-11-27 | 北京工业大学 | 一种基于Hadoop架构的移动终端云资源调度方法 |
-
2014
- 2014-10-27 CN CN201410584774.3A patent/CN104317653B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957780A (zh) * | 2010-08-17 | 2011-01-26 | 中国电子科技集团公司第二十八研究所 | 一种基于资源状态信息的网格任务调度处理器及方法 |
US20130179371A1 (en) * | 2012-01-05 | 2013-07-11 | Microsoft Corporation | Scheduling computing jobs based on value |
CN103309738A (zh) * | 2013-05-31 | 2013-09-18 | 中国联合网络通信集团有限公司 | 用户作业调度方法及装置 |
CN103414761A (zh) * | 2013-07-23 | 2013-11-27 | 北京工业大学 | 一种基于Hadoop架构的移动终端云资源调度方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766129A (zh) * | 2016-08-17 | 2018-03-06 | 北京金山云网络技术有限公司 | 一种任务处理方法、装置及系统 |
CN107766129B (zh) * | 2016-08-17 | 2021-04-16 | 北京金山云网络技术有限公司 | 一种任务处理方法、装置及系统 |
CN110888704A (zh) * | 2019-11-08 | 2020-03-17 | 北京浪潮数据技术有限公司 | 一种高并发接口处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104317653B (zh) | 2018-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103970609B (zh) | 一种基于改进蚁群算法的云数据中心任务调度方法 | |
CN109561148A (zh) | 边缘计算网络中基于有向无环图的分布式任务调度方法 | |
CN110389816B (zh) | 用于资源调度的方法、装置以及计算机可读介质 | |
CN104298550B (zh) | 一种面向Hadoop的动态调度方法 | |
JP2012243325A5 (zh) | ||
CN105893263B (zh) | 一种测试任务调度方法 | |
CN105656973A (zh) | 一种分布式节点组内任务调度方法及系统 | |
CN104765640B (zh) | 一种智能服务调度方法 | |
US20150227586A1 (en) | Methods and Systems for Dynamically Allocating Resources and Tasks Among Database Work Agents in an SMP Environment | |
CN109871328B (zh) | 一种软件测试方法及装置 | |
CN103336714A (zh) | 一种作业调度方法和装置 | |
CN102495804A (zh) | 软件自动化测试方法 | |
CN110347602B (zh) | 多任务脚本执行方法及装置、电子设备及可读存储介质 | |
Ouazene et al. | Workload balancing in identical parallel machine scheduling using a mathematical programming method | |
CN106874112B (zh) | 一种结合负载均衡的工作流回填方法 | |
CN104199739A (zh) | 一种基于负载均衡的推测式Hadoop调度方法 | |
KR101770191B1 (ko) | 자원 할당 방법 및 그 장치 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
CN102523153A (zh) | 虚拟化环境下的负载均衡方法 | |
CN106934537A (zh) | 基于反向工作流调度的子期限获取优化方法 | |
CN104317653A (zh) | 加速短作业处理的调度方法和装置 | |
WO2021134459A1 (en) | Ai intelligentialization based on signaling interaction | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
WO2021104524A1 (zh) | 一种agv调度方法和装置 | |
CN111143210A (zh) | 一种测试任务调度方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |