一种作业调度的方法及作业处理器技术

技术编号:12054341 阅读:89 留言:0更新日期:2015-09-16 18:23
本发明专利技术公开了一种作业调度的方法及作业处理器,其中方法包括:当接收到新的作业时,根据所述新的作业的到达时间及优先级确定所述新的作业的最迟执行时间,并根据最迟执行时间将所述新的作业添加至作业缓存队列;根据作业缓存队列中各个作业的最迟执行时间,确定各个作业的实际执行时间;根据所述作业缓存队列中各个作业的实际执行时间,建立作业执行队列,为所述作业执行队列中各个作业分解得到的任务分配任务处理器。采用本发明专利技术能够保证优先级较高的作业的响应时间,减少用户的等待时间。

【技术实现步骤摘要】

本专利技术涉及通信领域的调度技术,尤其涉及一种作业调度的方法及作业处理器
技术介绍
映射规约(Map Reduce)技术作为云计算的典型应用框架得到了多数大型IT公司的广泛运用,Map Reduce简化了由普通计算机组成的超大集群上的并行软件编程模式,可用于大规模数据集的并行计算。目前,Map Reduce分布式计算系统中的作业调度主要有以下几种方式:先入先出(FIFO, First Input First Output)方法、HOD方法和公平调度算法。其中,所述公平调度算法有公平共享方法以及最小共享额度方法;所述公平共享方法为:当单独一个作业在运行时,它将使用整个集群;当有新用户提交作业后,系统会将任务槽(task slot)赋给这些新的用户,使得每个用户都能获取大致等量的CPU资源。所述最小共享额度方法为:每个池设置一个最小共享额度的任务槽个数,调度器在调度时会确保每个池在有需要时可以获得它的最小共享额度;当一个池的最小共享额度没有完全使用时,空闲的任务槽可以被分配给其他的池。虽然公平调度算法可以保证所有用户公平的得到计算资源,但是,大量小任务的执行容易导致头队列调度问题:小作业输入数据规模小,在大规模集群上其数据分布的节点占整个集群的比例较小。当小作业按照最小共享额度公平调度算法被调度到调度队列的头部时,无论哪个节点有一个空闲槽都要求小作业提交一个任务去运行,从而造成小任务的数据本地性较差。除此之外,公平调度算法还可能引起槽粘滞问题。槽粘滞问题由大作业长期驻守在集群中引起。在采用公平调度算法时,会出现同一个槽循环分配给同一个任务的趋势。这就造成作业总在相同的槽上运行任务,无法保证较好的数据本地性,影响系统的吞吐率。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种作业调度的方法及作业处理器,能结合优先级确定作业的执行时间,减少用户的等待时间。本专利技术实施例提供了一种作业调度的方法,所述方法包括:当接收到新的作业时,根据所述新的作业的到达时间及优先级确定所述新的作业的最迟执行时间,并根据最迟执行时间将所述新的作业添加至作业缓存队列;根据作业缓存队列中各个作业的最迟执行时间,确定各个作业的实际执行时间;根据所述作业缓存队列中各个作业的实际执行时间,建立作业执行队列,为所述作业执行队列中各个作业分解得到的任务分配任务处理器。上述方案中,所述根据最迟执行时间将所述新的作业添加至作业缓存队列之后,所述方法还包括:判断所述作业缓存队列中是否有任意一个作业的最迟执行时间早于当前时间,若是,则将所述作业的最迟执行时间延迟指定时长。上述方案中,所述确定各个作业的实际执行时间包括:利用作业缓存队列中各个作业的最迟执行时间,以及各个作业的所需资源,确定各个作业的实际执行时间。上述方案中,所述为作业执行队列中各个作业分解得到的任务分配任务处理器,包括:按照预设的顺序,依次从所述作业执行队列中提取作业作为当前作业,为所述当前作业选取满足预设状态的任务处理器,将所述当前作业分解为至少一个任务后,将所述至少一个任务发送至选取的所述任务处理器;其中,所述预设状态为所述任务处理器处于空闲状态且计算能力高于预设值。上述方案中,所述为作业执行队列中各个作业分解得到的任务分配任务处理器之前,所述方法还包括:实时收集各个任务处理器对各个任务的执行结果,并统计各个任务处理器处理各个任务的执行时间;根据各个任务处理器处理各个任务的执行时间的统计结果,确定每个各个处理器对应的计算能力。本专利技术实施例还提供了一种作业处理器,所述作业处理器包括:作业缓存单元、队列组织单元、作业执行单元;其中,所述作业缓存单元,用于当接收到新的作业时,根据所述新的作业的到达时间及优先级确定所述新的作业的最迟执行时间,并根据最迟执行时间将所述新的作业添加至作业缓存队列;所述队列组织单元,用于根据作业缓存队列中各个作业的最迟执行时间,确定各个作业的实际执行时间,根据所述作业缓存队列中各个作业的实际执行时间,建立作业执行队列;所述作业执行单元,用于为所述作业执行队列中各个作业分解得到的任务分配任务处理器。上述方案中,所述队列组织单元,还用于判断所述作业缓存队列中是否有任意一个作业的最迟执行时间早于当前时间,若是,则将所述作业的最迟执行时间延迟指定时长。上述方案中,所述队列组织单元,具体用于利用作业缓存队列中各个作业的最迟执行时间,以及各个作业的所需资源,确定各个作业的实际执行时间。上述方案中,所述作业执行单元,用于按照预设的顺序,依次从所述作业执行队列中提取作业作为当前作业,为所述当前作业选取满足预设状态的任务处理器,将所述当前作业分解为至少一个任务后,将所述至少一个任务发送至选取的所述任务处理器;其中,所述预设状态为所述任务处理器处于空闲状态且计算能力高于预设值。上述方案中,所述作业执行单元,还用于实时收集各个任务处理器对各个任务的执行结果,并统计各个任务处理器处理各个任务的执行时间;根据各个任务处理器处理各个任务的执行时间的统计结果,确定每个各个处理器对应的计算能力。本专利技术所提供的作业调度的方法及作业处理器,能在作业缓存队列的建立过程时,根据各个作业的优先级确定其最迟执行时间;再根据作业缓存队列中各个作业的最迟执行时间确定作业的实际执行时间,保证作业缓存队列中的各个作业均在其最迟执行时间之前执行;如此,能够保证对关键作业即优先级较高的作业的执行时间,减少用户等待时间。【附图说明】图1为本专利技术实施例作业调度的方法流程示意图;图2为本专利技术实施例作业处理器的组成结构示意图;图3为本专利技术实施例使用作业处理器组成的系统示例图。【具体实施方式】下面结合附图及具体实施例对本专利技术再作进一步详细的说明。实施例一、本专利技术实施例提出的作业调度的方法,如图1所示,包括:步骤101:当接收到新的作业时,根据所述新的作业的到达时间及优先级确定所述新的作业的最迟执行时间,并根据最迟执行时间将所述新的作业添加至作业缓存队列。这里,所述优先级可以为在客户端(Client)根据预设的优先级设置列表,获取所要上传的作业的优先级;其中,所述优先级设置列表可以根据实际情况预设。本步骤可以由现有技术中的作业跟踪器(Job Tracker)执行完成,比如:作业跟踪器(Job Tracker)接收到第i个到达的作业时,记录第i个作业的到达时间;根据当前第1页1 2 3 本文档来自技高网
...

【技术保护点】
一种作业调度的方法,其特征在于,所述方法包括:当接收到新的作业时,根据所述新的作业的到达时间及优先级确定所述新的作业的最迟执行时间,并根据最迟执行时间将所述新的作业添加至作业缓存队列;根据作业缓存队列中各个作业的最迟执行时间,确定各个作业的实际执行时间;根据所述作业缓存队列中各个作业的实际执行时间,建立作业执行队列,为所述作业执行队列中各个作业分解得到的任务分配任务处理器。

【技术特征摘要】

【专利技术属性】
技术研发人员:李秀清苏彦志高梦娇
申请(专利权)人:中国移动通信集团河北有限公司
类型:发明
国别省市:河北;13

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

1