当前位置: 首页 > 专利查询>清华大学专利>正文

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

技术编号:10075384 阅读:239 留言:0更新日期:2014-05-24 04:42
本发明专利技术提供了一种作业调度方法和计算装置,该方法包括:在检测到计算资源不足以运行当前的队首作业时,计算相应的回填窗口;缩短非队首作业对应的运行时间估计,并根据缩短后的运行时间估计判断所述非队首作业是否能够回填,并在判断为是时,将相应的非队首作业回填;在回填窗口结束且剩余计算资源不足以运行当前的队首作业时,停止当前运行的回填作业,并针对-被终止的回填作业设置检查点;并在再次重启所述回填作业时,根据所述回填作业中的检查点执行未完成部分的计算任务。采用本发明专利技术提供的作业调度方法,能够提高系统资源的利用率,减少作业的等待时间。

【技术实现步骤摘要】

本专利技术涉及计算装置
,尤其涉及一种作业调度方法和计算装置。 
技术介绍
并行作业调度系统一直是超级计算机系统非常重要的组成部分,它根据用户的作业资源请求分配可用的计算节点给并行程序。并行作业会占用分配的计算节点一直到作业运行完成/失败,或由于作业运行时间超过运行脚本所指定的运行估计时间而被系统进程杀死。由于资源有限,并行作业在进入作业队列后一般不能立即得到所申请的计算资源,往往要等待一段时间。并行作业调度系统的主要目标是减少平均作业等待时间,并且最大化系统的资源利用率,同时对所有作业保持一定的公平性。 经过几十年的发展,并行作业调度技术已相当成熟,近年少有重大进展。尽管学术界提出了一些新策略和新算法,例如动态分割技术和组调度技术。但这些技术由于实际使用及其它因素的限制并没有得到大规模应用。到目前为止,基于先来先服务(First Come First Served,FCFS)的回填算法依然是多数超级计算机和集群系统广泛采用的并行作业调度算法。该算法首先由美国阿贡国家实验室为当时的IBM SP1并行计算系统设计的,并在EASY调度系统中得以实现。该算法的基本思想非常简单:高性能计算机系统在按照作业优先级调度队列中并行作业运行的时候,系统中会留下一些难以利用的资源“孔洞”,这时系统会从等待队列中找出那些适合的低优先级短作业并在不影响高优先级作业运行的前提下得到提前运行。从而提高了系统的利用率,缩短了作业的平均等待时间。目前主流的并 行作业调度系统,如LSF、Moab、Maui、PBS/Torque和LoadLeveler所采用的默认设置都是基于FCFS回填算法的变种。 虽然回填算法能够利用低优先级的小作业填充高优先级作业留下的资源“孔洞”,提高了利用率。然而,在实际应用中用户提交的作业运行时间估计一般偏大,导致很多作业不能回填。从而造成计算机系统的利用率仍然较低,在很多资源空闲的时候,依然有很多作业在队列中等待。 可见,现有技术中的作业调度方案不能有效的利用计算机的计算资源。 
技术实现思路
本专利技术提供了一种作业调度方法和计算装置,提高系统资源的利用率,减少作业的等待时间。 本专利技术提供了一种作业调度方法,包括: 在检测到计算资源不足以运行当前的队首作业时,计算相应的回填窗口; 缩短非队首作业对应的运行时间估计,并根据缩短后的运行时间估计判断所述非队首作业是否能够回填,并在判断为是时,将相应的非队首作业回填; 在回填窗口结束且剩余计算资源不足以运行当前的队首作业时,停止当前运行的回填作业,并针对在被终止的回填作业中设置检查点; 在再次重启所述回填作业时,根据所述回填作业中的检查点执行未完成部分的计算任务。 优选的,所述缩短队首作业之外的其他非队首作业对应的运行时间估计,具体包括: 将所述非队首作业对应的运行时间估计乘以一个预设分割因子p,其中,0<p<1。 优选的,所述将所述非队首作业对应的运行时间估计乘以一个预设分割因子p,具体包括: 在判断所述非队首作业对应的运行时间估计大于预设值时,将所述非队首作业对应的运行时间估计乘以一个预设分割因子p。 优选的,所述根据缩短后的运行时间估计判断所述非队首作业是否能够回填具体包括: 在判断所述非队首作业需要占用的计算资源小于当前剩余的计算资源,且缩短后的运行时间估计小于所述回填窗口时,判定所述非队首作业可以回填。 优选的,所述根据缩短后的运行时间估计判断所述非队首作业是否能够回填具体包括: 在判断所述非队首作业需要占用的计算资源小于当前剩余的计算资源,且缩短后的运行时间估计大于所述回填窗口时,判断在所述回填窗口结束时所述非队首作业和所述队首作业是否可以同时运行,若是,则判定所述非队首作业能够回填。 本专利技术提供了一种计算装置,包括: 回填窗口计算模块,在检测到计算资源不足以运行当前的队首作业时,计算相应的回填窗口; 回填模块,用于缩短非队首作业对应的运行时间估计,并根据缩短后的运行时间估计判断所述非队首作业是否能够回填,并在判断为是时,将相应的非队首作业回填; 计算模块,用于在回填窗口结束且剩余计算资源不足以运行当前的队首作业时,停止当前运行的回填作业,还用于在被终止的回填作业中添加检查点,并在再次重启所述回填作业时,根据所述回填作业中的检查点执行未完成部分的计算任务。 优选的,所述回填模块,用于将所述非队首作业对应的运行时间估计乘以一个预设分割因子p,其中,0<p<1。 优选的,所述回填模块具体用于在判断所述非队首作业对应的运行时间估计大于预设值时,将所述非队首作业对应的运行时间估计乘以一个预设分割因子p。 本专利技术中,缩短非队首作业的运行估计时间,从而利于非队首作业的回填,提高系统的资源利用率。另一方面,为了避免因缩短非队首作业的运行估计时间而导致非队首作业在回填窗口结束时仍在运行进而导致系统的计算资源不能运行队首作业的情况,本专利技术中,还在回填窗口结束时且果剩余计算资源不足以运行当前的队首作业时停止回填作业,从而保证队首作业的运行。另外,本专利技术中,能够使计算装置在再次重启所述回填作业时,仅执行未完成部分的计算任务,而无需针对一个回填作业多次执行相同的计算任务,这样也能够进一步提高系统计算资源的利用率。 附图说明图1为本专利技术实施例一提供的一种作业调度方法的流程示意图; 图2为本专利技术实施例一提供的作业调度方法的一种具体实现方式; 图3为本专利技术实施例提供的作业调度方法中缩短运行时间估计的一种实现方式; 图4为本专利技术实施例提供的作业调度方法中中止回填作业时的处理; 图5(a)为本专利技术实施例提供的作业调度方法的一种应用场景的示意图; 图5(b)为利用现有技术中经典回填算法进行回填的效果图; 图5(c)为利用本专利技术实施例提供的作业调度方法进行回填的效果图; 图6为本专利技术实施例提供的一种计算装置的结构示意图。 具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。 本专利技术实施例提供了一种作业调度方法,如图1所示,该方法包括: 步骤101,在检测到计算资源不足以运行当前的队首作业时,计算相应的回填窗口。 本专利技术中的队首作业和非队首作业分别是指对待运行的作业按照优先级进行排序后的队列中的第一个作业和除第一个作业之外的其他作业。回填窗口是指,计算装置估计的到计算装置能够提供当前的队首作业所需要的资源所需要的时间。这里的回填窗口以及队首作业的理解与现有技术中一致。 实际应用中,在步骤101之前,当有并行作业运行完成或者提交时,按照并行作业的优先级顺序安排作业队列;依次安排队首作业运行,直到作业队列空或队首作业由于计算资源不够而不能运行;如果作业队列不空(即计算资源不足以运行当前的队首作业),为队首作业预留资源。本文档来自技高网
...
一种作业调度方法和计算装置

【技术保护点】

【技术特征摘要】
1.一种作业调度方法,其特征在于,包括:
在检测到计算资源不足以运行当前的队首作业时,计算相应的回
填窗口;
缩短非队首作业对应的运行时间估计,并根据缩短后的运行时间
估计判断所述非队首作业是否能够回填,并在判断为是时,将相应的
非队首作业回填;
在回填窗口结束且剩余计算资源不足以运行当前的队首作业时,
停止当前运行的回填作业,并针对-被终止的回填作业设置检查点;
在再次重启所述回填作业时,根据所述回填作业中的检查点执行
未完成部分的计算任务。
2.如权利要求1所述的方法,其特征在于,所述缩短队首作业之
外的其他非队首作业对应的运行时间估计,具体包括:
将所述非队首作业对应的运行时间估计乘以一个预设分割因子
p,其中,0<p<1。
3.如权利要求2所述的方法,其特征在于,所述将所述非队首作
业对应的运行时间估计乘以一个预设分割因子p,具体包括:
在判断所述非队首作业对应的运行时间估计大于预设值时,将所
述非队首作业对应的运行时间估计乘以一个预设分割因子p。
4.如权利要求1所述的方法,其特征在于,所述根据缩短后的运
行时间估计判断所述非队首作业是否能够回填具体包括:
在判断所述非队首作业需要占用的计算资源小于当前剩余的计
算资源,且缩短后的运行时间估计小于所述回填窗口时,判定所述非
队首作业可以回填。
5.如权利要求1所述...

【专利技术属性】
技术研发人员:牛双诚翟季冬陈文光郑纬民刘明亮
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1