一种作业调度方法和装置制造方法及图纸

技术编号:15878573 阅读:74 留言:0更新日期:2017-07-25 16:33
本发明专利技术实施例公开了一种作业调度方法,该方法包括:当出现空闲资源时,根据作业队列中每个作业的大小因子和所述作业队列中每个作业的等待因子计算出所述作业队列中每个作业的优先级,并将所述作业队列中的作业按照所述优先级进行排序;按照所述排序后的作业队列的顺序,对所述作业队列中的作业进行调度处理。这样,能够缩短小作业的响应时间,同时防止大作业产生“饥饿现象”,实现提高作业调度效率的目的。

Job scheduling method and device

The embodiment of the invention discloses a scheduling method, the method includes: when idle resources, according to the size of each factor in the job queue operation and the operation of each job in the queue waiting factor calculated for the operation of each job queue in priority, and will work in the job queue the priority for scheduling; according to the sort order of the job queue, the job queue job scheduling process. In this way, the response time of the small jobs can be shortened, and the \starvation\ phenomenon of large jobs can be prevented, so as to improve the efficiency of the operation scheduling.

【技术实现步骤摘要】
一种作业调度方法和装置
本专利技术涉及作业调度技术,尤其涉及一种作业调度方法和装置。
技术介绍
MapReduce是目前使用十分广泛的一个分布式系统处理框架,用来处理大规模数据。调度器是MapReduce的一个核心组件,对于整个系统的性能有着非常关键的影响。目前,常见的调度器有三种:公平调度器、FIFO调度器。根据目前的情况来看,小作业在负载中占据主导地位。比如,在Facebook和Bing的应用中,任务数量小于10的作业分别占到了作业总数的82%和61%,而在Google,MapReduce作业的平均执行时间为395秒,在Yahoo!的生产型集群中,有超过80%的作业完成时间小于十分钟。小作业的大量增加是因为例如随机查询这类小作业开始越来越多地在MapReduce集群中运行,其中,时延是影响小作业使用体验至关重要的因素。公平调度器是目前使用最为广泛的调度器,公平调度器的核心思想是尽量使所有用户和作业都能够尽可能获得‘大致相等’的集群资源份额,由于强调所有用户和作业公平占有资源,所以公平调度器对交互式小作业的响应时间较长。很多分布式系统都默认采用FIFO调度调度器,但是FIFO调度器也存在一些问题,比如作业容易产生“饥饿现象”、不能适用于多用户场景等,因此,适用范围较窄。针对公平调度器对小作业的响应时间较长的问题,又提出了小作业优先调度策略。将小作业优先调度策略与公平调度策略进行对比测试,由测试结果可知:采用小作业优先调度策略的作业平均响应时间比使用公平调度策略的作业平均响应时间要短,特别是在较大程度上缩短了小作业的响应时间,并且对大作业的响应时间几乎没有什么影响。但是,还需要考虑在实际应用中,小作业优先策略可能会造成大作业产生“饥饿现象”,比如在有大作业存在的情况下,不断有大量小作业被提交到MapReduce系统,由于优先调度短作业,可能会导致大作业一直不能被调度处理,从而出现“饥饿现象”。综上所述,在分布式系统的调度处理中,如何能在较大程度上缩短小作业的响应时间,同时防止大作业产生“饥饿现象”是目前待解决的问题。
技术实现思路
有鉴于此,本专利技术实施例期望提供一种作业调度方法和装置,能够缩短小作业的响应时间,同时防止大作业产生“饥饿现象”,实现提高作业调度效率的目的。为达到上述目的,本专利技术的技术方案是这样实现的:第一方面,本专利技术实施例提供一种作业调度方法,所述方法包括:当出现空闲资源时,根据作业队列中每个作业的大小因子和所述作业队列中每个作业的等待因子计算出所述作业队列中每个作业的优先级,并将所述作业队列中的作业按照所述优先级进行排序;按照所述排序后的作业队列的顺序,对所述作业队列中的作业进行调度处理。在上述方案中,所述当出现空闲资源时,根据作业队列中每个作业的大小因子和所述作业队列中每个作业的等待因子计算出所述作业队列中每个作业的优先级,并将所述作业队列中的作业按照所述优先级进行排序,包括:当出现空闲资源时,按照作业队列中每个作业的任务处理情况计算所述作业队列中每个作业的大小因子;按照所述作业队列中每个作业前一次调度的时间计算所述作业队列中作业的等待因子;根据计算出的所述每个作业的大小因子和所述每个作业的等待因子,计算出所述作业队列中每个作业的优先级。在上述方案中,所述当出现空闲资源时,按照作业队列中每个作业的任务处理情况计算所述作业队列中每个作业的大小因子,包括:当出现空闲资源时,分别确定作业队列中每个作业是否已经被调度处理过;若所述作业队列中的作业从未被调度处理过,则根据所述作业的输入数据量计算所述作业的大小因子;若所述作业队列中的作业已经被调度处理过,则根据所述作业执行完剩余任务所需的时间计算所述作业的大小因子。在上述方案中,所述若所述作业队列中的作业已经被调度处理过,则根据所述作业执行完剩余任务所需的时间计算出所述作业的大小因子,包括:计算所述作业队列中作业当前的任务进度和所述作业队列中作业达到当前进度所使用的时间;根据所述计算出的作业当前的任务进度和所述计算出的作业达到当前进度所使用的时间,计算出所述作业的执行率;根据所述计算出的作业当前的任务进度,计算所述作业的剩余任务数量;根据所述计算出的作业的执行率和所述计算出的作业的剩余任务数量,计算出所述作业执行完剩余任务所需的时间;根据所述计算出的作业执行完剩余任务所需的时间,计算出所述作业的大小因子。在上述方案中,所述当出现空闲资源时,根据作业队列中作业的大小因子和所述作业队列中作业的等待因子计算出所述作业队列中作业的优先级,并将所述作业队列中的作业按照所述优先级进行排序,包括:当出现空闲资源时,根据作业队列中每个作业的大小因子和所述作业队列中每个作业的等待因子计算出所述作业队列中每个作业的优先级,并将所述作业队列中的作业按照所述优先级进行排序;其中,所述等待因子与所述优先级正相关,所述大小因子与所述优先级负相关。第二方面,本专利技术实施例提供一种作业调度装置,所述装置包括:计算单元、排序单元和处理单元;其中,所述计算单元,用于当出现空闲资源时,根据作业队列中每个作业的大小因子和所述作业队列中每个作业的等待因子计算出所述作业队列中每个作业的优先级;所述排序单元,用于将所述作业队列中的作业按照计算单元计算出的所述优先级进行排序;所述处理单元,用于按照所述排序后的作业队列的顺序,对所述作业队列中的作业进行调度处理。在上述方案中,所述计算单元,具体用于当出现空闲资源时,按照作业队列中每个作业的任务处理情况计算所述作业队列中每个作业的大小因子;按照所述作业队列中每个作业前一次调度的时间计算所述作业队列中作业的等待因子;根据计算出的所述每个作业的大小因子和所述每个作业的等待因子,计算出所述作业队列中每个作业的优先级。在上述方案中,所述计算单元,具体用于当出现空闲资源时,分别确定作业队列中每个作业是否已经被调度处理过;若所述作业队列中的作业从未被调度处理过,则根据所述作业的输入数据计算出所述作业的大小因子;若所述作业队列中的作业已经被调度处理过,则根据所述作业执行完剩余任务所需的时间计算出所述作业的大小因子。在上述方案中,所述计算单元,具体用于计算所述作业队列中作业当前的任务进度和达到当前进度所使用的时间;根据所述计算出的作业当前的任务进度和所述计算出的作业达到当前进度所使用的时间,计算出所述作业的执行率;根据所述计算出的作业当前的任务进度,计算所述作业的剩余任务数量;根据所述计算出的作业的执行率和所述计算出的作业的剩余任务数量,计算出所述作业执行完剩余任务所需的时间;根据所述计算出的作业执行完剩余任务所需的时间,计算出所述作业的大小因子。在上述方案中,所述排序单元,具体用于当出现空闲资源时,根据作业队列中每个作业的大小因子和所述作业队列中每个作业的等待因子计算出所述作业队列中每个作业的优先级,并将所述作业队列中的作业按照所述优先级进行排序;其中,所述等待因子与所述优先级正相关;所述大小因子与所述优先级负相关。本专利技术实施例提供了一种作业调度方法和装置,先由作业的大小因子和等待因子计算出作业的优先级,再根据作业的优先级进行调度处理,这样,能够缩短小作业的响应时间,同时防止大作业产生“饥饿现象”,实现提高调作业度效率的技术效果。附本文档来自技高网
...
一种作业调度方法和装置

【技术保护点】
一种作业调度方法,其特征在于,所述方法包括:当出现空闲资源时,根据作业队列中每个作业的大小因子和所述作业队列中每个作业的等待因子计算出所述作业队列中每个作业的优先级,并将所述作业队列中的作业按照所述优先级进行排序;按照所述排序后的作业队列的顺序,对所述作业队列中的作业进行调度处理。

【技术特征摘要】
1.一种作业调度方法,其特征在于,所述方法包括:当出现空闲资源时,根据作业队列中每个作业的大小因子和所述作业队列中每个作业的等待因子计算出所述作业队列中每个作业的优先级,并将所述作业队列中的作业按照所述优先级进行排序;按照所述排序后的作业队列的顺序,对所述作业队列中的作业进行调度处理。2.根据权利要求1所述的方法,其特征在于,所述当出现空闲资源时,根据作业队列中每个作业的大小因子和所述作业队列中每个作业的等待因子计算出所述作业队列中每个作业的优先级,并将所述作业队列中的作业按照所述优先级进行排序,包括:当出现空闲资源时,按照作业队列中每个作业的任务处理情况计算所述作业队列中每个作业的大小因子;按照所述作业队列中每个作业前一次调度的时间计算所述作业队列中作业的等待因子;根据计算出的所述每个作业的大小因子和所述每个作业的等待因子,计算出所述作业队列中每个作业的优先级。3.根据权利要求2所述的方法,其特征在于,所述当出现空闲资源时,按照作业队列中每个作业的任务处理情况计算所述作业队列中每个作业的大小因子,包括:当出现空闲资源时,分别确定作业队列中每个作业是否已经被调度处理过;若所述作业队列中的作业从未被调度处理过,则根据所述作业的输入数据量计算所述作业的大小因子;若所述作业队列中的作业已经被调度处理过,则根据所述作业执行完剩余任务所需的时间计算所述作业的大小因子。4.根据权利要求3所述的方法,其特征在于,所述若所述作业队列中的作业已经被调度处理过,则根据所述作业执行完剩余任务所需的时间计算出所述作业的大小因子,包括:计算所述作业队列中作业当前的任务进度和所述作业队列中作业达到当前进度所使用的时间;根据所述计算出的作业当前的任务进度和所述计算出的作业达到当前进度所使用的时间,计算出所述作业的执行率;根据所述计算出的作业当前的任务进度,计算所述作业的剩余任务数量;根据所述计算出的作业的执行率和所述计算出的作业的剩余任务数量,计算出所述作业执行完剩余任务所需的时间;根据所述计算出的作业执行完剩余任务所需的时间,计算出所述作业的大小因子。5.根据权利要求1所述的方法,其特征在于,所述当出现空闲资源时,根据作业队列中作业的大小因子和所述作业队列中作业的等待因子计算出所述作业队列中作业的优先级,并将所述作业队列中的作业按照所述优先级进行排序,包括:当出现空闲资源时,根据作业队列中每个作业的大小...

【专利技术属性】
技术研发人员:郑鹏飞
申请(专利权)人:西安中兴新软件有限责任公司
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1