一种机群作业管理系统中分配计算结点的方法

文档序号:6393900阅读:155来源:国知局
专利名称:一种机群作业管理系统中分配计算结点的方法
技术领域
本发明涉及机群作业管理系统技术,特别是一种机群作业管理系统中分配计算结点的方法。
背景技术
机群作业管理系统用于统一管理和调度机群系统中的作业与资源。机群作业管理系统的核心内容是作业调度,而作业调度通常包含对用户作业的选取方法和对计算结点的分配方法。对用户作业的选取主要有先进先出(FIFO)、第一适合(FirstFit)、最适合(BestFit)、预约(Reservation)和填充(Backfill)相结合等多种方法,而目前计算结点的分配方法却相对比较单一。
在机群作业管理系统中,目前常用的分配计算结点的方法为首先确定各个计算结点在过去预定时间内的平均进程数,然后再结合用户作业所指定的计算结点的数目具体分配计算结点。
图1所示为现有技术的分配计算结点方法的流程图。如图1所示,包括以下步骤步骤101确定各计算结点在过去预定时间内的平均进程数;步骤102按照用户作业中所指定的计算结点数目,依次选取平均进程数较少的计算结点。
在实际应用过程中,用户作业对CPU、内存、页交换空间和磁盘等资源的需求是各不相同的。例如某些用户作业在运行时可能需要占用大量的CPU时间,而另一些用户作业在运行时却可能需要占用较大的内存空间和交换区空间。同时,对于需要大量占用CPU时间的用户作业,分配计算结点时还应该考虑CPU的稳定性,因此机群作业管理系统需要根据用户作业的实际需求而给用户作业分配计算结点。
现有技术的计算结点分配方法在分配计算结点时仅仅考虑了计算结点在过去某段时间内的平均进程数目,没有根据用户作业运行的具体需要灵活综合考虑计算结点的内存、页交换空间、软件授权数和磁盘等资源的使用情况,同时也没有考虑计算结点的CPU的稳定性,因此根据现有技术所分配的计算结点不能有效地与用户作业的资源需求相吻合,从而降低了用户作业的计算效率。
同时,现有技术中没有根据用户作业的实际需要而合理地分配计算结点,造成各个计算结点之间的负载不平衡,从而降低了机群系统的资源利用率和吞吐率。

发明内容
有鉴于此,本发明的主要目的是提出一种机群作业管理系统中分配计算结点的方法,以提高用户作业的计算效率。
为达到上述目的,本发明的技术方案是这样的一种机群作业管理系统中分配计算结点的方法,包括以下步骤A、确定计算结点的负载平衡指标;B、根据用户作业确定所述的每一个负载平衡指标的权值;C、根据计算结点的所述负载平衡指标的数值和步骤B所述的各负载平衡指标的权值计算可分配的计算结点的负载平衡指数;D、根据步骤C所述的负载平衡指数选择执行用户作业的计算结点。
步骤A所述的负载平衡指标为CPU利用率、内存使用率、磁盘使用率、软件授权数、页交换频率、计算结点在过去预定时间内的平均进程数中一项或者任意组合。
步骤C所述的计算可分配的计算结点的负载平衡指数的方法为计算可分配的计算结点的每一负载平衡指标的数值与该负载平衡指标的权重的乘积,然后将所述的乘积求和。
步骤A所述的负载平衡指标至少包括计算结点在过去预定时间内的平均进程数,在步骤A与C之间进一步将所述的过去预定时间设置为多于1个时间段,并分别为每个时间段内的平均进程数设置权值,所述的过去预定时间内的平均进程数为每一个时间段的平均进程数数值与该时间段相应权重的乘积之和。
步骤B所述的确定各负载平衡指标的权值的方法为按照用户作业对负载平衡指标的需求由高到低的顺序,为负载平衡指标设置由大到小的权值,步骤D所述的选择执行用户作业的计算结点的方法为按照负载平衡指数从小到大的顺序依次选择计算结点。
按照用户作业对负载平衡指标的需求由高到低的顺序,为负载平衡指标设置由小到大的权值,步骤D所述的选择执行用户作业的计算结点的方法为按照负载平衡指数从小到大的顺序依次选择计算结点。
进一步在步骤C前预先设定平均进程数最大阈值,并判断计算结点的平均进程数是否超过该预先设定的平均进程数最大阈值,如果超过则设置该计算结点为不可分配的计算结点,然后执行步骤C,如果不超过则直接执行步骤C。
进一步在步骤C前预先设定平均进程数理想阈值,当计算结点的平均进程数从超过平均进程数最大阈值减少至低于或等于平均进程数最大阈值时,判断该计算结点的平均进程数是否低于所述的预先设定的平均进程数理想阈值,如果低于则直接执行步骤C,如果不低于则设置该计算结点为不可分配的结算结点,然后执行步骤C。
从以上技术方案可以看出,本发明首先根据机群作业管理系统的资源情况确定负载平衡指标,然后根据用户作业的具体需求为这些负载平衡指标设置相应的权值,接着根据负载平衡指标和确定的负载平衡指标的权值计算出各个计算结点的负载平衡指数,最后根据计算结点的负载平衡指数和用户作业中所指定的计算结点数来确定执行用户作业的计算结点。所以本发明在为用户作业分配计算结点时,不但考虑了计算结点的在过去预定时间内的平均进程数,还综合考虑了内存、页交换空间、磁盘等资源的使用情况,因此本发明实现了根据计算结点上各项资源的使用状况和用户作业的具体需求来分配计算结点,所以应用本发明后所分配的计算结点与用户作业对资源的需求非常吻合,更加合理地为用户作业分配了计算结点,从而极大地提高了用户作业的计算效率。
同时,本发明结合各个计算结点的资源利用情况和具体的用户作业需求分配计算结点,并且对于平均进程数大于平均进程数最大阈值的计算结点和平均进程数从平均进程数最大阈值下降但是仍然大于平均进程数理想阈值的计算结点都不再分配作业,使得计算结点之间的负载更加平衡,从而极大地提高了机群系统的资源利用率和吞吐率。


图1为现有技术分配计算结点流程示意图。
图2为本发明一实施例分配计算结点流程示意图。
具体实施例方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的主要思想是根据计算结点的资源情况和用户作业的具体需求来分配计算结点。首先根据计算结点的资源情况确定各项负载平衡指标,然后根据用户作业的具体需求为这些负载平衡指标设置相应的权值,接着根据负载平衡指标和确定的负载平衡指标的权值计算出各个计算结点的负载平衡指数,最后根据负载平衡指数来选择执行用户作业的计算结点。
图2为本发明一实施例的分配计算结点流程示意图。如图2所示,包括以下步骤步骤201确定机群系统的负载平衡指标。
为了实现机群系统的计算结点的负载均衡,在选择计算结点时需要综合考虑机群系统的负载情况,可将影响机群系统负载的因素设置为相应的负载平衡指标。影响机群系统负载的因素有很多,例如CPU利用率、页交换频率、内存使用率、软件授权数和磁盘使用率等,同时还必须考虑CPU使用状况,而CPU的使用状况可以用过去预定时间内的平均进程数来体现,所以机群作业管理系统可将在过去预定时间内的平均进程数、CPU利用率、内存使用率、软件授权数、磁盘使用率和页交换频率等设置为负载平衡指标。
步骤202根据用户作业的需要,设定各负载平衡指标的权值。
不同的用户作业对计算结点各项资源的需求是不同的,因此可根据用户作业的实际需要而给每一个负载平衡指标设定相应的权值。例如当用户作业需要较大地占用某项资源时,可给与该项资源所对应的负载平衡指标设置较高的权值。当用户作业对某项资源的需求不高时,可给与该项资源对应的负载平衡指标设置较低的权值。例如,如果用户作业需要占用大量的内存,表示用户作业要求计算结点的内存使用率很低,则可给内存使用率这个负载平衡指标设置较高的权值;如果用户作业需要占用较少的磁盘空间,表示用户作业允许计算结点的磁盘使用率较高,则可为磁盘使用率这个负载平衡指标设置较小的权值。
同理,当用户作业需要较大地占用某项资源时,也可给与该项资源所对应的负载平衡指标设置较低的权值。此时,在后面的步骤204中按照用户作业所指定的计算结点数依次选择负载平衡指数较大的计算结点。
步骤203根据计算结点的负载平衡指标的数值以及计算结点负载平衡指标的权值,计算各计算结点的负载平衡指数。
在确定系统负载平衡指标以及各系统负载平衡指标的相应权值后,可以采用一定的负载平衡算法来计算机群系统内计算结点的负载平衡指数。例如可以将某项负载平衡指标的具体数值和该项负载平衡指标的权值相乘再除以所有负载平衡指标的权值之和以得到该项资源的负载指数,然后再对各项资源的负载指数求和,所得到的和就是计算结点的负载平衡指数。即负载平衡指数为各项负载平衡指标数值和对应的权重的乘积之和。
假设某计算结点在过去一定时间内的平均进程数及其权值分别为a1和b1,CPU的利用率及其权值分别为a2和b2,内存使用率及其权值分别为a3和b3,页交换频率及其权值分别为a4和b4,磁盘使用率及其权值分别为a5和b5,该计算结点的负载平衡指数为Y,那么负载平衡指数为各项负载平衡指标数值和对应的权重的乘积之和。所以Y=(a1×b1)/(b1+b2+b3+b4+b5)+(a2×b2)/(b1+b2+b3+b4+b5)+(a3×b3)/(b1+b2+b3+b4+b5)+(a4×b4)/(b1+b2+b3+b4+b5)+(a5×b5)/(b1+b2+b3+b4+b5)为了使得所选择的计算结点更加适合用户作业的需求,在确定预定时间内的平均进程数时,还可以进一步把这段预定时间分为若干个时间段,并且给进一步划分后的各时间段内的平均进程数再设定相应的权值然后再计算,其中当用户作业需要计算结点有较高的稳定性的时候,可将较大时间段内的平均进程数的设置较高的权值,从而更准确地表示一定时间内计算结点的使用状况。
例如如果选取用过去的15分钟来表示计算结点的平均进程数状况,可分别给过去第1分钟到过去第5分钟的平均进程数、过去第1分钟到过去第10分钟的平均进程数和过去第1分钟到过去第15分钟的平均进程数设置权值,然后再结合这三个时间段的平均进程数的权值计算在过去15分钟内的平均进程数的负载指数。假设计算结点在过去第1分钟到过去第5分钟内平均进程数及其权值分别为c1和d1,过去第1分钟到过去第10分钟内的平均进程数及其权值分别为c2和d2,过去第1分钟到过去第15分钟内的平均进程及其权值分别为c3和d3,假设在该过去的15分钟内的平均进程数的负载指数为A,过去15分钟内的平均进程数的负载指数的权值为b1,那么A=(c1×d1)/(d1+d2+d3)+(c2×d2)/(d1+d2+d3)+(c3×d3)/(d1+d2+d3)此时,负载平衡指数Y为Y=(A×b1)/(b1+b2+b3+b4+b5)+(a2×b2)/(b1+b2+b3+b4+b5)+(a3×b3)/(b1+b2+b3+b4+b5)+(a4×b4)/(b1+b2+b3+b4+b5)+(a5×b5)/(b1+b2+b3+b4+b5)
计算出各个计算结点的负载平衡指数后,就可以根据负载平衡指数依次选取计算结点。
步骤204按照负载平衡指数的顺序,依次选取用户作业所指定的计算结点数目。
步骤202在设定各负载平衡指标的权值时,当用户作业需要较大地占用某项资源时,如果给该项资源所对应的负载平衡指标设置了较高的权值,选择计算结点的时候,应该按照用户作业所指定的计算结点数,依次选择负载平衡指数较小的计算结点执行用户作业。相应地,如果在步骤202设置权值的时候,当用户作业较少地需要占用某项资源时给与该项资源对应的负载平衡指标设置了较高的权值,那么在步骤204按照用户作业所指定的计算结点数依次选择负载平衡指数较大的计算结点。
以上过程中,可预先设定计算结点的平均进程数最大阈值,在步骤203前进一步判断平均进程数是否超过平均进程数最大阈值,如果超过,那么计算结点状态将标志为不可分配而不计算该计算结点的负载平衡指数,并不再接收用户作业,如果不超过则设置该计算结点为可分配,并执行步骤203。
在预先设定计算结点的平均进程数最大阈值时,还可进一步预先设定计算结点的平均进程数理想阈值。当计算结点的平均进程数由大于或等于平均进程数最大阈值下降到小于平均进程数最大阈值时,进一步判断平均进程数是否大于平均进程数理想阈值,如果此时平均进程数仍大于理想负载阈值,则此计算结点状态仍标志为不可分配而不计算该计算结点的负载平衡指标,并不接收用户作业,以防止平均进程数目的跃变。只有计算结点的平均进程数小于平均进程数理想阈值、或平均进程数从平均进程数理想阈值增加但却不超过平均进程数最大阈值的计算结点才设置为可分配,并执行步骤203及其以后的步骤。
以上过程中,如果在步骤202不指定系统平衡指标的权值,则认为用户作业对各项资源没有特殊要求,因此机群作业管理系统可提供相同的缺省权值。
下面以一个具体的例子来进行说明。设有一机群系统,其中机群作业管理系统用于统一管理和调度机群系统中作业与资源,该机群作业管理系统需要给某个用户作业分配计算结点。假设该机群系统中可分配的计算结点数为3个,分别为计算结点a,计算结点b,计算结点c。其中计算结点a在过去15分钟内的平均进程数为0.6,内存使用率为0.82,磁盘使用率为0.27;计算结点b在过去15分钟内的平均进程数为0.4,内存使用率为0.98,磁盘使用率为0.23;计算结点c在过去15分钟内的平均进程数为0.0,内存使用率为0.85,磁盘使用率为0.23。假设该用户作业中指定的计算结点数目为2个,并且要求执行该用户作业的计算结点的平均进程数非常少、内存使用率比较低,而该用户作业对磁盘使用率的要求不高。
如图2所示,依次有如下步骤在步骤201根据机群系统的资源情况,选取负载平衡指标。此处负载平衡指标为计算结点15分钟内的平均进程数、内存使用率和磁盘使用率。
在步骤202根据用户作业对资源的实际需要,设置负载平衡指标的权值。因为用户作业要求计算结点的平均进程数非常少、内存使用率比较低,而对磁盘使用率要求不是很高,所以给磁盘使用率设置很小的权值,给内存使用率设置较小的权值和给平均进程数设置较高的权值。可以设定过去15分钟内的平均进程数的权值为30,内存使用率的权值为20,磁盘使用率的权值为10。
在步骤203确定各计算结点的负载平衡指数。
计算结点a的负载平衡指数为(0.6×30)/(30+20+10)+(0.82×20)/(30+20+10)+(0.27×10)/(30+20+10)=0.618计算结点b的负载平衡指数为(0.4×30)/(30+20+10)+(0.98×20)/(30+20+10)+(0.23×10)/(30+20+10)=0.565计算结点c的负载平衡指数为(0.0×30)/(30+20+10)+(0.85×20)/(30+20+10)+(0.23×10)/(30+20+10)=0.322
在步骤204根据计算结点的负载平衡指数分配计算结点。比较计算结点a、计算结点b和计算结点c的负载平衡指标,依次选取负载平衡指数较小的计算结点,所以选择计算结点c和计算结点b执行用户作业。
以上例子中,可预先设定计算结点的平均进程数最大阈值,假设为2.0。假设除了计算结点a、计算结点b和计算结点c之外,该机群系统还有一计算结点d,并且计算结点d在过去15分钟内的平均进程数目为2.3。因为计算结点d在过去15分钟内的平均数目进程大于平均进程数最大阈值,所以在给用户作业分配计算结点时,则将计算结点d排除在外。同时,还可以进一步预先设定计算结点的平均进程数理想阈值,假设为1.5。当计算结点d在过去15分钟内的平均数目由2.3降低为1.6时,虽然此时计算结点d在过去15分钟内的平均进程数已经小于平均进程数最大阈值2.0,但是由于仍然大于平均进程数理想阈值1.5,所以此时仍然不考虑给计算结点d分配用户作业,以防止平均进程数跃变。只有当计算结点d的平均进程数小于平均进程数理想阈值0.6时,才将计算结点d参与选择。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种机群作业管理系统中分配计算结点的方法,其特征在于,包括以下步骤A、确定计算结点的负载平衡指标;B、根据用户作业确定所述的每一个负载平衡指标的权值;C、根据计算结点的所述负载平衡指标的数值和步骤B所述的各负载平衡指标的权值计算可分配的计算结点的负载平衡指数;D、根据步骤C所述的负载平衡指数选择执行用户作业的计算结点。
2.根据权利要求1所述的机群作业管理系统中分配计算结点的方法,其特征在于,步骤A所述的负载平衡指标为CPU利用率、内存使用率、磁盘使用率、软件授权数、页交换频率、计算结点在过去预定时间内的平均进程数中一项或者任意组合。
3.根据权利要求1所述的机群作业管理系统中分配计算结点的方法,其特征在于,步骤C所述的计算可分配的计算结点的负载平衡指数的方法为计算可分配的计算结点的每一负载平衡指标的数值与该负载平衡指标的权重的乘积,然后将所述的乘积求和。
4.根据权利要求1所述的机群作业管理系统中分配计算结点的方法,其特征在于,步骤A所述的负载平衡指标至少包括计算结点在过去预定时间内的平均进程数,在步骤A与C之间进一步将所述的过去预定时间设置为多于1个时间段,并分别为每个时间段内的平均进程数设置权值,所述的过去预定时间内的平均进程数为每一个时间段的平均进程数数值与该时间段相应权重的乘积之和。
5.根据权利要求1所述的机群作业管理系统中分配计算结点的方法,其特征在于,步骤B所述的确定各负载平衡指标的权值的方法为按照用户作业对负载平衡指标的需求由高到低的顺序,为负载平衡指标设置由大到小的权值,步骤D所述的选择执行用户作业的计算结点的方法为按照负载平衡指数从小到大的顺序依次选择计算结点。
6.根据权利要求1所述的机群作业管理系统中分配计算结点的方法,其特征在于,按照用户作业对负载平衡指标的需求由高到低的顺序,为负载平衡指标设置由小到大的权值,步骤D所述的选择执行用户作业的计算结点的方法为按照负载平衡指数从小到大的顺序依次选择计算结点。
7.根据权利要求1所述的机群作业管理系统中分配计算结点的方法,其特征在于,进一步在步骤C前预先设定平均进程数最大阈值,并判断计算结点的平均进程数是否超过该预先设定的平均进程数最大阈值,如果超过则设置该计算结点为不可分配的计算结点,然后执行步骤C,如果不超过则直接执行步骤C。
8.根据权利要求7所述的机群作业管理系统中分配计算结点的方法,其特征在于,进一步在步骤C前预先设定平均进程数理想阈值,当计算结点的平均进程数从超过平均进程数最大阈值减少至低于或等于平均进程数最大阈值时,判断该计算结点的平均进程数是否低于所述的预先设定的平均进程数理想阈值,如果低于则直接执行步骤C,如果不低于则设置该计算结点为不可分配的结算结点,然后执行步骤C。
全文摘要
本发明公开了一种机群作业管理系统中分配计算结点的方法,包括以下步骤确定机群系统的负载平衡指标;根据用户作业确定各负载平衡指标的权值;计算各计算结点的负载平衡指数;根据各计算结点的负载平衡指数选择执行用户作业的计算结点。应用本发明提供的这种方法所分配的计算结点与用户作业对计算结点资源的需求非常吻合,更加合理地为用户作业分配了计算结点,极大地提高了用户作业的计算效率,同时使得计算结点之间的负载更加平衡,显著地提高了机群系统的资源利用率和吞吐率。
文档编号G06F9/50GK1670706SQ20041002942
公开日2005年9月21日 申请日期2004年3月17日 优先权日2004年3月17日
发明者张喜青, 赵玉萍, 柳书广, 肖利民 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1