一种针对多种应用软件的计算机资源调度方法

文档序号:9564493阅读:744来源:国知局
一种针对多种应用软件的计算机资源调度方法
【技术领域】
[0001]本发明属于计算机领域,具体涉及一种针对多种应用软件的计算机资源调度方法,用于安装有多种地震资料处理应用软件的石油地球物理勘探地震资料处理计算中心对计算资源使用的动态调度管理。
【背景技术】
[0002]目前在大的计算中心(或数据中心),在有多种应用软件使用的情况下,为提高计算资源的利用率和减少用户作业等待的时间,通常采用的方法是通过开源或定制的作业调度软件(或系统)将用户提交的作业放入作业等待队列,再根据一定的策略选取合适的作业分配到适合作业申请条件的计算资源上去运行。
[0003]在一般情况下,这种方式可以满足作业运行和资源有效利用的需求。但是,当一个数据中心拥有多种不同类型的应用软件,尤其是在有自己研发的也有购置的商业应用软件,而且这些应用软件中的一些本身带有定制的作业调度系统的时候,要想进行所有应用软件作业的统一调度,就需要定制开发一套新的作业调度系统,但定制开发一套新的调度系统需要解决以下两个主要问题:
[0004]1.改变用户提交作业的习惯;
[0005]2.将有作业调度系统的应用软件的源代码进行修改。
[0006]尤其是第2点对不提供源代码的商业应用软件几乎是不可能的。
[0007]在没有统一的作业调度系统对所有应用软件的作业进行统一调度的情况下,为保证各种应用软件作业能够得到相应的计算资源进行运算,同时避免各应用软件对计算资源的竞争,大部分计算中心采用的方法是为每种应用软件按软件使用的需求分时段由人工固定地分配一定数量的计算资源来使用,这种方法的弊端是会导致有些软件分配的计算资源不够用,而另外一些软件分配的计算资源却处于闲置状态,降低了计算资源的应用效率。
[0008]因此,需要一种对计算资源进行动态调度的技术来解决在有多种应用软件,且每种应用软件都有自己的作业调度系统的情况下,人工对不同的应用软件进行计算资源分配带来的有些应用软件计算资源不够用,而其他应用软件的计算资源却处于闲置的状态的弊端,从而提升整体计算资源的利用率。

【发明内容】

[0009]本发明的目的在于解决上述现有技术对作业进行调度而存在的问题,提供一种针对多种应用软件的对计算机资源进行调度的方法,对多种不同应用软件所分配的计算资源进行动态调配,克服各应用软件因拥有自带的作业调度系统而不得不人工为不同应用软件分配计算资源从而导致有些应用软件所分配的计算资源不够用,而其他一些应用软件所分配的计算资源却处于闲置状态的缺点。
[0010]本发明是通过以下技术方案实现的:
[0011]—种针对多种应用软件的计算机资源调度方法,包括:
[0012](1)按每种应用软件对计算资源的使用需求进行评估,然后将总的计算资源按应用软件的个数划分成若干个大小不等的计算资源池,分别分配给每个应用软件;
[0013](2)在应用软件使用过程中,对各种应用软件计算资源的负载量进行监控,当某种应用软件出现所分配的计算资源不够用而其他应用软件有空闲的计算资源时,动态地将其他应用软件当前空闲的计算资源切换给计算资源不够用的应用软件去使用,并在作业结束后将这些计算资源归还给原有的应用软件。
[0014]所述步骤⑵包括:
[0015]S0.定时监控各应用软件的作业队列,定时监控各计算资源使用情况;
[0016]S1.判断是否有应用软件出现作业等待;如果是,则转入S2,如果否,则返回S0 ;
[0017]S2.判断其它应用软件是否有空闲的计算资源,且空闲的计算资源数大于或等于等待运行的作业所需的计算资源数;如果是,则转入S3,如果否,则转入S4 ;
[0018]S3.将有空闲计算资源的应用软件的空闲计算资源调配给出现作业等待的应用软件使用,然后转入S7;
[0019]S4.判断若干个有空闲计算资源的应用软件所空闲的计算资源总数是否大于或等于等待运行的作业所需的计算资源数;如果是,则转入S5,如果否,则转入S6:
[0020]S5.将该若干个有空闲计算资源的应用软件所空闲的计算资源按等待运行的作业所需的计算资源数将空闲的计算资源调配给出现作业等待的应用软件去使用,然后转入S7 ;
[0021]S6.将所有空闲计算资源调配给出现作业等待的应用软件去使用,剩余的作业等待本应用软件其他作业运行完成后或别的应用软件空出计算资源后再被调度,然后转入S7 ;
[0022]S7.判断作业是否结束,如果是,则将借用的计算资源归还给原有的应用软件,然后返回S0,如果否,则返回so。
[0023]与现有技术相比,本发明的有益效果是:本发明通过对多种应用软件所分配的计算资源进行动态的调度,它调度的是计算资源而不是作业,在有多种应用软件同时使用的时候提高了计算资源的利用率。
【附图说明】
[0024]图1是本发明计算资源动态调度的一个实施例;
[0025]图2是根据图1流程图对本发明计算资源动态调度更详细的示例之一。
【具体实施方式】
[0026]本发明公开了一种针对多种拥有自带作业调度系统的不同应用软件进行计算资源动态调度的方法,该方法首先按每种应用软件对计算资源的使用需求进行评估,然后将总的计算资源按应用软件的个数划分成若干个大小不等的计算资源池分别分配给每个应用软件,在应用软件使用过程中按本发明的方法设计的计算资源调度程序对各种应用软件计算资源的负载量进行定时监控,当某种应用软件出现作业等待现象(所分配的计算资源不够用)而其他应用软件有空闲的计算资源时,动态地将其他应用软件当前空闲的计算资源切换给出现计算资源紧张的应用软件去使用,并在作业结束后将这些资源归还给原有的应用软件,从而达到计算资源的动态调配功能,最终实现整体计算资源利用率的最大化。
[0027]具体来说,本发明在实施过程中,根据每种应用软件所使用计算资源的情况,在有软件所分配的计算资源不够用(作业出现等待)的时候,动态的将其他软件的空闲计算资源调配给出现计算资源紧张的软件使用,从而达到计算资源动态调度和提高计算资源的利用率的目的。
[0028]本发明对计算资源动态调度的方法是在尽量不改变每种软件用户发送作业习惯的前提下,对每种软件所分配的计算资源进行调度。调度的方法是,首先按每种应用软件对计算资源的使用需求进行评估,然后将总的计算资源划分成若干个计算资源池分配给不同的应用软件,在应用软件使用过程中对各种应用软件的作业排队情况和计算资源的负载量进行监控,当某种应用软件计算资源出现作业等待现象(所分配的计算资源不够用)而其他应用软件有空闲的计算资源时,动态的将其他应用软件当前空闲的计算资源切换给出现计算资源紧张的应用软件去使用,从而达到计算资源的调配功能,最终实现整体计算资源利用率的最大化。
[0029]本发明进行计算资源调度的步骤是:
[0030]S0.定时监控各应用软件的作业队列,定时监控各计算资源使用情况;
[0031]S1.判断是否有应用软件出现作业等待;如果是,则转入S2,如果否,则返回S0 ;
[0032]S2.判断其它应用软件是否有空闲的计算资源,且空闲的计算资源数大于或等于等待运行的作业所需的计算资源数;如果是,则转入S3,如果否,则转入S4 ;
[0033]S3.将有空闲计算资源的应用软件的空闲计算资源调配给出现作业等待的应用软件使用,然后转入S7;
[0034]S4.判断若干个有空闲计算资源的应用软件所空闲的计算资源总数是否大于或等于出现作业等待的应用软件的等待计算资源的作业数;如果是,则转入S5,如果否,则转入S6:
[0035]S5.将该若干个有空闲计算资源的应用软件所空闲的计算资源按等待作业所需的计算资源数将空闲的计算资源调配给出现作业等待的应用软件去使用,然后转入S7 ;
[0036]S6.将所有空闲计算资源调配给有作业等待的应用软件去使用,剩余的作业等待本应用软件其他作业运行完成后或别的应用软件空出计算资源后再被调度,然后转入S7 ;
[0037]S7.判断作业是否结束,如果是,则将借用的计算资源归还给原有的应用软件,如果否,则返回so。
[0038]由于本发明涉及的是针对不同应用软件所分配的计算资源间的调度,因此在下面的说明中将不对各应用软件的作业调度系统的调度策略和方式再做详细论述。同时,为方便说明,只举3个应用(应用A101、应用B201和应用N301)作为示例,对其他应用软件计算资源的调度可参照下面的示例。
[0039]下面结合附图对本发明【具体实施方式】作进一步详细描述。
[0040]图1示出了本发明对计算资源进行动态调度的流程。开始皿,在每种应用软件根据应用需求分配了一定数量的计算资源后,计算资源调度程序定时的监控各应用软件作业调度系统的作业队列和所分配的计算资源的使用情况皿;在发现有应用软件所分配的计算资源不够用而出现作业等待时1M,计算资源调度程序同时查看其他应用软件是否有空闲的计算资源1M;如果有,则将空闲的计算资源临时调配给出现作业等待的应用软件使用M,如果没有,则继续监控;在被借用计
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1