首页> 中国专利> 一种作业调度和计算资源分配方法

一种作业调度和计算资源分配方法

摘要

本发明涉及一种作业调度和计算资源分配方法,属于计算机技术领域。该方法包括以下步骤:S1:根据用户业务需求为用户分配计算资源;S2:根据用户业务需求建立作业队列,记录每个作业的优先级、作业提交时间、作业要求计算完毕时间信息,并为每个作业分配相应的计算资源;S3:计算各队列中各个作业预计运行时间长度;S4:以用户为调度范围,采用作业的优先级、预计运行时间长度为依据进行作业调度;S5:以作业包含的任务类型和关系为依据进行任务调度;S6:计算完毕,释放计算资源。该方法能够避免优先级低的业务不能及时调度的问题,保障所有作业在规定的时间能够完成计算;提作业调度的公平性和时效性。

著录项

  • 公开/公告号CN106326003A

    专利类型发明专利

  • 公开/公告日2017-01-11

    原文格式PDF

  • 申请/专利号CN201610659854.X

  • 申请日2016-08-11

  • 分类号G06F9/50(20060101);

  • 代理机构11275 北京同恒源知识产权代理有限公司;

  • 代理人廖曦

  • 地址 400714 重庆市北碚区方正大道266号

  • 入库时间 2023-06-19 01:18:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-28

    授权

    授权

  • 2017-02-08

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20160811

    实质审查的生效

  • 2017-01-11

    公开

    公开

说明书

技术领域

本发明属于计算机技术领域,涉及一种作业调度和计算资源分配方法。

背景技术

在超算服务业务开展过程中,主要使用FIFO(First In First Out,先入先出)调度机制分配任务,将所有的作业统一提交到一个队列中,并按照提交的先后顺序依次运行队列中的作业。但随着超算用户、业务量、业务类型的增多,传统的FIFO调度机制已经不能满足目前超算业务调度的需求。

现有作业调度方法中,通常只考虑业务的优先级,导致优先级低的业务不能及时调度,降低了作业调度的公平性和时效性。

现有资源分配方法中,通常只考虑将所有资源作为一个统一的计算资源池,导致计算资源划分不灵活、使用效率低。

发明内容

有鉴于此,本发明的目的在于提供一种作业调度和计算资源分配方法,该方法能够避免优先级低的业务不能及时调度的问题,保障所有作业在规定的时间能够完成计算,提作业调度的公平性和时效性。

为达到上述目的,本发明提供如下技术方案:

一种作业调度和计算资源分配方法,该方法包括以下步骤:

S1:根据用户业务需求为用户分配计算资源;

S2:根据用户业务需求建立作业队列,记录每个作业的优先级、作业提交时间、作业要求计算完毕时间信息,并为每个作业分配相应的计算资源;

S3:计算各队列中各个作业预计运行时间长度;

S4:以用户为调度范围,采用作业的优先级、预计运行时间长度为依据进行作业调度;

S5:以作业包含的任务类型和关系为依据进行任务调度;

S6:计算完毕,释放计算资源。

进一步,在步骤S1中,根据每个用户的业务需求,为其分配分配计算资源Ki,i=1,2,…n,i为用户编号;管理节点将分配给节点i的计算资源分成两部份:一部份为Ki*P,作为该用户实际的计算资源,另外一部份为Ki*(1-P),作为该用户的预留计算资源,其中,P为该用户实际使用的计算资源与该用户分配的总计算资源的比值,0≤P≤1。

进一步,在步骤S2中,以用户为单位,调度系统根据用户业务量的大小及业务类型,建立N(N≥1)个作业队列;以用户为单位,对每个用户在超算平台上运行的所有作业建立一张作业信息表,每个作业对应的相关信息作为该信息表中的一条记录;该表中记录的内容包括:作业对应的计算资源、作业优先级、作业提交时间、作业要求计算完毕时间、预计完成时间长度、当前是否占用计算资源信息。

进一步,在步骤S3中,根据信息表中各个作业的记录信息,计算各个作业预计完成时间长度,作业预计完成时间长度T的方法如下:

T=SST0

其中,S为当前作业的计算量,S’为历史作业的计算量,T0为历史作业的运行时间长度;计算完毕后,将本用户各个作业的预计完成时间长度T添加对应的作业信息表中。

进一步,在步骤S4中,以用户为单位,对作业优先级进行排序,综合考虑作业优先级和作业预计完成时间、运行速度等信息进行作业调度;针对本用户,以每个作业的预计完成时间长度为依据,判断队列中作业的处理顺序,处理机制如下:

1)作业要求计算完毕的时间-当前时间>作业的预计完成时间长度,则不作处理,按作业优先级顺序进行调度;

2)作业要求计算完毕时间-当前时间≤作业的预计完成时间长度,立即进行作业调度,将该作业分配到本用户的预留计算资源进行调度;如果本用户的预留计算资源不够用,则申请系统独立的计算资源进行调度。

进一步,在步骤S5中,在任务调度过程中,需要判断该作业的所有任务的关系,如果任务间是串行关系,则将任务按FIFO顺序,分配该作业对应的全部资源进行计算;如果任务间是并行关系,需确定该并行关系的任务数M,然后将该作业的计算资源等分成M份,每个任务对应其中1份计算资源,最后进行并行计算。

进一步,在步骤S6中,当作业使用资源完毕,设置作业信息表中占用资源信息为空,即释放资源,并更新作业信息表中相关信息。

本发明的有益效果在于:本发明提供的方法能够避免优先级低的业务不能及时调度的问题,保障所有作业在规定的时间能够完成计算;提作业调度的公平性和时效性。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为作业调度和资源分配流程示意图;

图2为作业调度和资源分配原理图;

图3为作业调度流程示意图;

图4为任务调度流程示意图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

图1为作业调度和资源分配流程示意图,如图所示,在图中,参数配置被细分为6个步骤:

步骤S1,根据用户需求为用户分配计算资源;

具体地,根据每个用户的业务需求,为其分配分配计算资源Ki(i=1,2,…n,i为用户编号);管理节点将分配给节点i的计算资源分成两部分:一部份为Ki*P,作为该用户实际的计算资源,另外一部份为Ki*(1-P),作为该用户的预留计算资源,其中,P为该用户实际使用的计算资源与该用户分配的总计算资源的比值,0≤P≤1。

另外,为了保证整个系统超算业务调度的顺利进行,在为每个用户分配预留资源外,系统还将预留一部份资源备用。具体作业调度和资源分配原理如图2所示。

步骤S2,根据用户需求建立作业队列,并为每个作业分配计算资源,确定作业优先级、记录作业提交时间。

另外,需要针对每个用户建立一张作业信息表,用于记录该用户所有作业的计算资源、作业优先级、记录作业提交时间、作业要求计算完毕时间、当前是否占用计算资源等信息;

作业信息表示例如下:

步骤S3,计算各队列中各个作业预计运行时间:

T=SST0

其中,S为当前作业的计算量,S’为历史作业的计算量,T0为历史作业的运行时间。

步骤S4,进行作业调度;作业调度示意如图3所示。

步骤S41,以用户为单位,对本用户的所有作业优先级进行排序;

步骤S42,对于每个用户,以每个作业的预计完成时间长度为依据,判断是否立即处理;计算作业要求计算完毕时间-当前时间的值,并判断作业要求计算完毕时间-当前时间与作业的预计完成时间长度的关系;

步骤S43,如果作业要求计算完毕时间-当前时间>作业的预计完成时间长度,则不作处理,按作业优先级顺序进行调度;

步骤S44,如果作业要求计算完毕时间-当前时间≤作业的预计完成时间长度,立即进行作业调度,将该作业分配到本用户的预留计算资源进行调度;如果本用户的预留计算资源不够用,则申请系统独立的计算资源进行调度。

步骤S5,以该作业的所有任务的关系为依据进行任务调度;图4为任务调度流程示意图。

步骤S51,在任务调度过程中,首先判断该作业的所有任务的类型和关系;

步骤S52,如果任务间是串行关系,则将任务按FIFO顺序,分配该作业的全部资源进行计算;

步骤S53,如果任务间是并行关系,则需要确定该并行关系的任务数M,然后将该作业的计算资源分成M份,每个任务对应其中1份计算资源,最后进行并行计算。

步骤S6,计算资源使用完毕,释放计算资源。

当作业使用资源完毕,更新作业信息表中占用资源信息为空,即释放资源,并更新作业信息表中相关信息。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号