一种可变并行作业的资源分配方法

文档序号:8412408阅读:440来源:国知局
一种可变并行作业的资源分配方法
【技术领域】
[0001] 本发明属于高性能计算技术领域,更具体地,涉及一种可变并行作业的资源分配 方法。
【背景技术】
[0002] 作业调度在高性能计算中心一直是一个重要的研宄课题。调度算法的好坏直接影 响着整个集群的系统性能以及用户体验。在以往的高性能计算中心,用户往往需要为提交 的作业指定一定的资源,并且该资源一经提交到系统就不可更改。这种由用户唯一指定一 组资源数的作业叫做严格作业(rigid job)。在严格作业调度算法中最经典也最被广泛应 用的就是先到先服务(FCFS)调度算法。在FCFS调度算法中,调度器根据用户指定的作业 所需资源数,通过排队先后顺序对作业进行调度。该算法实现简单,并因为根据作业提交的 顺序调度作业,也保证了作业一定的公平性。然而,FCFS调度算法被证明会使系统产生大 量空闲资源。在FCFS调度算法中,如果队头的作业所需资源数大于系统当前能够提供的资 源数,则该作业就会一直等待直到有足够的资源供其运行,而系统当前的空余资源也不能 给其他作业使用,使得空余的资源无法得到合理的利用。
[0003] 为了解决FCFS调度算法性能低下的缺点,研宄者们提出了短作业优先(shortest job first)调度策略。短作业优先调度策略每次都选择运行时间最短的作业调度,有效的 减少了空闲资源的产生,然而短作业优先调度策略会推迟大作业的开始运行时间,极端情 况下还会出现大作业饿死的现象。另外一种解决FCFS调度算法性能问题的调度算法是回 填(backfilling)调度算法。回填调度算法在保证调度公平性的前提下,能够提升系统性 能。其中最出名的算法就是保守回填(conservative backfilling)调度算法和激进回填 (aggressive backfilling)调度算法。在保守回填调度算法中,队列中的每一个作业都要 被指定一个开始时间,当系统有空闲资源的时候,后面的作业在不会影响其之前的所有作 业的开始时间的情况下,该作业才可以被回填到前面的空闲资源中去,也即利用该空闲资 源。而激进调度算法仅为队头作业指定一个开始时间,当有空余资源可用时,在后面的低优 先级作业不会推迟队头作业开始运行时间的前提下,可以跳到队头作业前面运行。
[0004] 然而回填调度算法的初衷是减少FCFS调度算法所产生的空闲资源,并不能完全 消去空闲资源。且回填调度算法的性能很大程度上取决于作业运行时间的预测准确性。对 作业运行时间的低估预测可能会使回填作业没有在规定时间内运行完而被杀死;对作业运 行时间的高估又使得本该被回填的作业失去了回填的机会。这两种情况都致使系统的性能 得到下降。
[0005] 可变并行作业(moldable job)不同于严格作业,可变并行作业调度允许用户或者 系统指定多组处理器数给作业,在作业运行之前可以根据一定的算法确定该作业的处理器 数。由于其在选择处理器数上有更自由的空间,可以根据当前的系统负载或者其他一些系 统信息对作业处理器数进行选取,从而能够缩短作业的等待时间或者运行时间,达到更好 的调度效果。也就是说,可变并行作业的调度除了要和严格作业调度一样确定调度算法之 外,还要拥有一个资源分配算法。
[0006] 然而,在可变并行作业调度中,如何合理的为每个作业分配资源是一个很大的挑 战。资源分配策略的好坏直接影响着整个系统的性能。现有的可变并行作业调度中的贪心 策略,每次都选择能尽可能多的处理器分配给作业,该算法相比于保守回填策略,能一定程 度上提高系统性能,但是却损害了小作业的性能。另一个策略就是公平分享策略,针对于贪 心策略的不足,提出了根据作业权重分配资源,但是只考虑了公平性问题,而没有过多的关 注调度性能的提高。因此,当前可变并行作业中的资源分配策略还有很大空间值得去研宄。

【发明内容】

[0007] 针对现有技术的以上缺陷或改进需求,本发明提供一种可变并行作业的资源分配 方法,其目的在于提高系统的性能,缩短作业平均周转时间,由此解决可变并行作业调度系 统中资源分配算法效率低下的技术问题。
[0008] 本发明提供一种可变并行作业的资源分配方法,包括以下步骤:
[0009] 步骤1集群管理者根据集群负载状况设置参数a和threshold,其中,所述参数a 表示在本轮分配中可分配处理器占总的处理器数量的百分比;所述参数threshold表示在 本轮分配中每个作业所能分配的处理器占总的处理器数量的百分比;
[0010] 步骤2将等待队列中每一个作业的处理器数Xi均初始化为1 ;
[0011] 步骤3查看待分配处理器是否分配完,如果分配完则流程结束,否则执行步骤4 ;
[0012] 步骤4计算每个作业的RP值,并找出RP值最大的作业,其中,RP值表示增加一个 处理器后每个作业所获得缩短时间收益的指标,所述步骤4包括以下子步骤:
[0013] (4-1)根据Downey模型以及知识库的参数,计算每个作业1在当前处理器数X 4寸 的运行时间A Oi);
[0014] (4-2)根据所述Downey模型以及所述知识库的参数,计算每个作业Ji在当前处理 器数加1时的运行时间+ 1);
[0015] (4-3)计算每个作业1在当前处理器数时候的+1),并 找出RP值最大的作业;
[0016] 步骤5判断所述RP值最大的作业分配的处理器数量是否达到处理器分配阈值,如 果是则将所述RP值最大的作业从待分配处理器的队列中去除,然后执行步骤3 ;否则将一 个处理器分配给所述RP值最大的作业,然后执行步骤3。
[0017] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效 果:
[0018] (1)用户友好:本发明无需用户指定作业所需处理器数以及作业运行时间,既避 免了用户预测作业所需资源的准确性问题,也省去了用户指定资源的麻烦;
[0019] (2)提高系统利用率:现有的严格作业调度在作业提交前指定了处理器数,不能 根据系统负载情况调整作业处理器数。而本发明结合的调度算法是在作业提交后根据系统 负载情况分配作业处理器数,分配方式更加灵活,且考虑了系统负载,能够减少平均作业周 转时间,获得更好的系统性能。
【附图说明】
[0020]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1