首页> 中国专利> 计算机集群的资源管理方法、资源管理器

计算机集群的资源管理方法、资源管理器

摘要

本发明提供了一种计算机集群的资源管理方法、资源管理器,所述方法包括:在向所述集群的批处理系统管理的各个计算节点分配待执行作业之前,获取待执行作业的相关信息;从所述集群的批处理系统管理的各个计算节点中,查找出设备信息符合获取的待执行作业的相关信息的计算节点;将查找到的计算节点的标识发送给所述集群的批处理系统;命令所述集群的批处理系统将待执行作业分配给查找到的计算节点的标识所指示的计算机运行。

著录项

  • 公开/公告号CN104572306A

    专利类型发明专利

  • 公开/公告日2015-04-29

    原文格式PDF

  • 申请/专利号CN201510044203.5

  • 发明设计人 汤成兵;严飞;郭玲;

    申请日2015-01-28

  • 分类号G06F9/50(20060101);

  • 代理机构11286 北京铭硕知识产权代理有限公司;

  • 代理人谭昌驰;张川绪

  • 地址 610213 四川省成都市双流县华阳镇华阳大道一段216号川庆地球物理勘探公司科技部

  • 入库时间 2023-12-18 08:25:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-09

    授权

    授权

  • 2018-02-16

    专利申请权的转移 IPC(主分类):G06F9/50 登记生效日:20180129 变更前: 变更后: 申请日:20150128

    专利申请权、专利权的转移

  • 2015-05-27

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

    实质审查的生效

  • 2015-04-29

    公开

    公开

说明书

技术领域

本申请属于高性能计算领域,特别涉及一种在计算机集群中实现动态调度管理的技术。

背景技术

随着现代计算机技术的发展,地震勘探、预测模型的构造和模拟、工业设计以及自动化等各个领域的计算系统规模越来越大,这些大型计算系统中包含了各种应用系统、各种计算类型及海量计算资源。

为管理协调这些计算资源,通常采用PBS(portable batch system)资源管理器(即,批处理系统)解决大型计算系统中计算作业的批量提交问题,目前有三个版本:OpenPBS、Torque以及PBS pro,其中Torque为PBS的开源版本。目前大部分计算应用软件都通过PBS完成批量作业的提交及资源管理。

然而,现有的批处理系统在实际应用中,通常存在以下问题:

1、各应用软件的批处理系统间无法通信,导致各应用软件的计算资源边界模糊,容易引起资源竞争失败。

2、批处理系统策略预置,灵活性差。批处理系统所需要的计算节点、应用软件、环境配置、存储等必须事先配置好,一旦不满足提交条件,则会导致批处理作业提交失败,中断批处理作业提交进程。

3、批处理系统没有作业运行条件检查功能,即使提交的作业进入计算实体,仍然有可能因为运行条件不满足,从而导致批处理作业运行失败,造成作业重复提交,引起资源浪费。

因此,如何管理协调这些计算资源,最大限度的利用资源,在这类大规模计算系统中显得尤其重要。

发明内容

本发明的目的在于提供一种计算机集群的资源管理方法、资源管理器,以解决上述问题。

根据本发明的一方面,提供一种计算机集群的资源管理方法,所述方法包括:(A)在向所述集群的批处理系统管理的各个计算节点分配待执行作业之前,获取待执行作业的相关信息;(B)从所述集群的批处理系统管理的各个计算节点中,查找设备信息符合获取的待执行作业的相关信息的计算节点;(C)将查找到的计算节点的标识发送给所述集群的批处理系统;(D)命令所述集群的批处理系统将待执行作业分配给查找到的计算节点的标识所指示的计算机运行。

优选地,所述方法还包括:如果没有查找出设备信息符合获取的待执行作业的相关信息的计算节点,则执行空闲节点的搜索步骤:从所述集群的批处理系统管理的各个计算节点中,查找空闲的计算节点;按照获取的待执行作业的相关信息配置查找到的空闲的计算节点的计算环境;当完成所述计算环境的配置时,将配置过的计算节点的标识发送给所述集群的批处理系统;命令所述集群的批处理系统将待执行作业分配给配置过的计算节点的标识所指示的计算机运行。

优选地,所述将配置过的计算节点的标识发送给所述集群的批处理系统的步骤包括:检测配置过的计算节点的设备信息;如果检测的设备信息符合获取的待执行作业的相关信息,则将配置过的计算节点的标识发送给所述集群的批处理系统;如果检测的设备信息不符合获取的待执行作业的相关信息,则返回执行空闲节点的搜索步骤。

优选地,所述方法还包括:如果没有查找出空闲的计算节点,则在预定时间段之后,返回执行步骤(B)。

优选地,所述方法还包括:当配置过的计算节点完成待执行作业或者配置过的计算节点的设备信息不符合获取的待执行作业的相关信息时,释放配置过的计算节点在配置所述计算环境时加载的资源,以便将配置过的计算节点恢复到原先的设备状态。

根据本发明的另一方面,提供一种计算机集群的资源管理器,所述资源管理器包括:作业获取单元,用于在向所述集群的批处理系统管理的各个计算节点分配待执行作业之前,获取待执行作业的相关信息;第一查找单元,用于从所述集群的批处理系统管理的各个计算节点中,查找设备信息符合获取的待执行作业的相关信息的计算节点;作业分配单元,用于将查找到的计算节点的标识发送给所述集群的批处理系统,并命令所述集群的批处理系统将待执行作业分配给查找到的计算节点的标识所指示的计算机运行。

优选地,所述资源管理器还包括:第二查找单元,用于如果没有查找出设备信息符合获取的待执行作业的相关信息的计算节点,则执行空闲节点的搜索步骤:从所述集群的批处理系统管理的各个计算节点中,查找空闲的计算节点;环境配置单元,用于按照获取的待执行作业的相关信息配置查找到的空闲的计算节点的计算环境;所述作业分配单元在完成所述计算环境的配置时,将配置过的计算节点的标识发送给所述集群的批处理系统,并命令所述集群的批处理系统将待执行作业分配给配置过的计算节点的标识所指示的计算机运行。

优选地,所述作业分配单元包括:信息检测单元,用于检测配置过的计算节点的设备信息;第一处理单元,用于如果检测的设备信息符合获取的待执行作业的相关信息,则将配置过的计算节点的标识发送给所述集群的批处理系统;第二处理单元,用于如果检测的设备信息不符合获取的待执行作业的相关信息,则返回所述第二查找单元中执行空闲节点的搜索步骤。

优选地,所述资源管理器还包括:第三处理单元,用于如果没有查找出空闲的计算节点,则在预定时间段之后,并返回所述第一查找单元执行步骤(B)。

优选地,所述资源管理器还包括:资源回收单元,用于当配置过的计算节点完成待执行作业或者配置过的计算节点的设备信息不符合获取的待执行作业的相关信息时,释放配置过的计算节点在配置所述计算环境时加载的资源,以便将查找到的计算节点恢复到原先的设备状态。

与现有技术相比,本发明不仅提高了作业在批处理过程的灵活性、消除了集群中计算资源的孤岛,而且进一步提升了大型计算系统的易用性,提高资源利用率。

附图说明

通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:

图1是示出根据本发明的示例性实施例的计算机集群的资源管理方法的流程图;

图2是示出根据本发明的示例性实施例的计算机集群的资源管理器的结构框图;

图3是示出根据本发明的示例性实施例的在Torque批处理系统中实现动态调度的示意图。

具体实施方式

以下,将参照附图来详细说明本发明的实施例。

图1示出了本发明一种计算机集群的资源管理方法的优选实施例的流程图。

参照图1,在步骤110中,在向所述集群的批处理系统管理的各个计算节点分配待执行作业之前,获取待执行作业的相关信息。

通常,在待执行作业中包含有待执行作业所需计算节点数量、运行作业所需的应用软件名称、运行时对设备内存及缓冲区的要求、文件系统等各种参数信息,因此,在本发明中,可通过获取待执行作业的相关信息,分析待执行作业的需求,从而选择出合适的计算节点来执行作业,为筛选出合适的计算节点,在本发明一个可选的实施例中,可选择待执行作业的应用软件的种类、内存需求量、许可需求的数量、缓冲区大小、文件系统中的一个或多个信息作为筛选计算节点的条件。

在步骤120中,从所述集群的批处理系统管理的各个计算节点中,查找设备信息符合获取的待执行作业的相关信息的计算节点。

在本发明中,计算节点的设备信息主要包括计算节点的资源信息和状态信息,例如,节点上安装的各种应用程序、内存容量、缓冲区的大小以及运行的状况等。

在步骤130中,将查找到的计算节点的标识发送给所述集群的批处理系统,并在步骤140中,命令所述集群的批处理系统将待执行作业分配给查找到的计算节点的标识所指示的计算机运行。换句话讲,就是由所述集群的批处理系统来完成待执行作业的分配、监控以及提交等。

这里,所述的标识可以是设备的名称、IP地址以及编号等能够唯一区别集群中各个计算机设备的标识信息。优选地,可利用集群的批处理系统提供预定的作业命令接口,将查找到的标识作为参数传递给所述集群的批处理系统。以下示出了PBS批处理系统中提供的qsub命令接口:

qsub[-a date_time][-A account_string][-e path][-h][-I][-j join][-k keep][-l resource_list][-m mail_options][-n Node_allocation_Method[-Lv1,[v2,[v3,[v4]]]]][-M user_list][-N name][-o path][-p priority][-q pool][-r y|n][-u user_list][-v variable_list][-V][script]

具体实施时,可通过qsub命令接口中的的resource_list参数将查找到的计算节点的标识信息传递给批处理系统,批处理系统在接收到qsub命令后,可通过解析resource_list参数获取到查找到的计算节点。

需要说明的是,本发明包括但不限于qsub命令接口来实现信息的传递,也可利用系统提供的其他通信接口,将节点信息发送给批处理系统。

在上述实施过程中,可能会出现集群中现有的计算资源都不符合计算需求,但是集群中仍然存在空闲的计算节点,只是这种空闲节点不能运行待执行作业。为使得空闲的计算节点的资源也能得到利用,在图1所示的实施例中,所述方法还包括:如果没有查找出设备信息符合获取的待执行作业的相关信息的计算节点,则从所述集群的批处理系统管理的各个计算节点中,查找空闲的计算节点;按照获取的待执行作业的相关信息配置查找到的空闲的计算节点的计算环境;当完成所述计算环境的配置时,将配置过的计算节点的标识发送给所述集群的批处理系统;命令所述集群的批处理系统将待执行作业分配给配置过的计算节点的标识所指示的计算机运行。

具体实施时,可根据获取的待执行作业的相关信息中的应用软件的种类配置所述空闲的计算节点的计算环境(即,各种应用软件的安装),从而使得查找到的空闲的计算节点能够运行待执行作业。此外,计算环境的配置操作还包括:各种应用软件的挂接、配置文件的更改、后台进程的启动等操作。

尽管被配置的计算节点的计算环境发生了变化,具备了运行作业的基本条件,但是,为进一步确保被配置的计算节点能够更好地运行待执行作业,还需要考虑运行作业所需的内存、缓冲区等其他相关条件,以便查找到更为合适的节点来运行待执行作业。在搜索空闲节点的实施例中,可检测配置过的计算节点的设备信息;如果检测的设备信息符合获取的待执行作业的相关信息,则将配置过的计算节点的标识发送给所述集群的批处理系统;如果检测的设备信息不符合获取的待执行作业的相关信息,则继续从所述集群的批处理系统管理的各个计算节点中,查找空闲的计算节点。换句话讲,就是通过检测被配置的计算节点的设备信息,来进一步确定该计算节点是否为执行作业所需的节点。

由于集群中的节点资源在预定时间段之后会发生变化,例如,当有其他的作业完成之后,会将计算节点释放会集群中。因此,在搜索空闲节点的实施例中,所述方法还包括:如果没有查找出空闲的计算节点,则在预定时间段之后,并返回执行步骤120。换言之,就是将待执行任务挂起,等待预定时间段之后,返回步骤120重新查找符合获取的待执行作业的相关信息的计算节点。

此外,为合理地利用集群中的各个节点,在配置计算节点的实施例中,所述方法还包括:当配置过的计算节点完成待执行作业或者配置过的计算节点的设备信息不符合获取的待执行作业的相关信息时,释放配置过的计算节点在配置所述计算环境时加载的资源,以便将配置过的计算节点恢复到原先的设备状态。

由此可见,上述实施过程是以待执行作业的需求为中心,计算机集群的计算资源(例如,计算节点、网络、存储、本地缓存区、许可服务器、后台进程等)为对象,通过对待执行作业的需求和计算机集群的计算资源进行对比分析,找出最佳资源配比,从而实现计算机集群的计算资源的动态分配与回收。

图2示出了本发明一种计算机集群的资源管理器的优选实施例的结构框图。

参照图2,该资源管理器至少包括作业获取单元201、第一查找单元202以及作业分配单元203。

其中,作业获取单元201在向所述集群的批处理系统管理的各个计算节点分配待执行作业之前,获取待执行作业的相关信息;第一查找单元202从所述集群的批处理系统管理的各个计算节点中,查找出设备信息符合获取的待执行作业的相关信息的计算节点;作业分配单元203将查找到的计算节点的标识发送给所述集群的批处理系统,并命令所述集群的批处理系统将待执行作业分配给查找到的计算节点的标识所指示的计算机运行。

通常,在待执行作业中包含有待执行作业所需计算节点数量、运行作业所需的应用软件名称、运行时对设备内存及缓冲区的要求、文件系统等各种参数信息,因此,在本发明中,可通过获取待执行作业的相关信息,分析待执行作业的需求,从而选择出合适的计算节点来执行作业,为筛选出合适的计算节点,在本发明一个可选的实施例中,可选择待执行作业的应用软件的种类、内存需求量、许可需求的数量、缓冲区大小、文件系统中的一个或多个信息作为筛选计算节点的条件。

在上述实施过程中,可能会出现集群中现有的计算资源都不符合计算需求,但是集群中仍然存在空闲的计算节点,只是这种空闲节点不能运行待执行作业。为使得空闲的计算节点的资源也能得到利用,在图2所示的实施例中,所述资源管理器还包括:第二查找单元(图中未示出),用于如果没有查找出设备信息符合获取的待执行作业的相关信息的计算节点,则执行空闲节点的搜索步骤:从所述集群的批处理系统管理的各个计算节点中,查找空闲的计算节点;环境配置单元(图中未示出),用于按照获取的待执行作业的相关信息配置查找到的空闲的计算节点的计算环境;所述作业分配单元203在完成所述计算环境的配置时,将配置过的计算节点的标识发送给所述集群的批处理系统,并命令所述集群的批处理系统将待执行作业分配给配置过的计算节点的标识所指示的计算机运行。

具体实施时,环境配置单元可根据获取的待执行作业的相关信息中的应用软件的种类配置所述空闲的计算节点的计算环境(即,各种应用软件的安装),从而使得查找到的空闲的计算节点能够运行待执行作业。此外,计算环境的配置操作还包括:各种应用软件的挂接、配置文件的更改、后台进程的启动等操作

尽管被配置的计算节点的计算环境发生了变化,具备了运行作业的基本条件,但是,为确保被配置的计算节点能够更好地运行待执行作业,还需要考虑运行作业所需的内存、缓冲区等其他相关条件,以便查找到更为合适的节点来运行待执行作业。在搜索空闲节点的实施例中,所述作业分配单元203包括:信息检测单元(图中未示出),用于检测配置过的计算节点的设备信息;第一处理单元(图中未示出),用于如果检测的设备信息符合获取的待执行作业的相关信息,则将配置过的计算节点的标识发送给所述集群的批处理系统;第二处理单元(图中未示出),用于如果检测的设备信息不符合获取的待执行作业的相关信息,则返回第二查找单元中执行空闲节点的搜索步骤。

由于集群中的节点资源在预定时间段之后会发生变化,例如,当有其他的作业完成之后,会将计算节点释放会集群中。因此,在搜索空闲节点的实施例中,还包括:第三处理单元(图中未示出),用于如果没有查找出空闲的计算节点,则在预定时间段之后,并返回所述第一查找单元执行步骤(B)。

此外,为合理地利用集群中的各个节点,在配置计算节点的实施例中,所述资源管理器还包括:资源回收单元(图中未示出),用于当当配置过的计算节点完成待执行作业或者配置过的计算节点的设备信息不符合获取的待执行作业的相关信息时,释放配置过的计算节点在配置所述计算环境时加载的资源,以便将配置过的计算节点恢复到原先的设备状态。

以下结合Torque批处理系统,对上述实施过程作进一步的说明。

图3是示出了本发明的示例性实施例的在Torque批处理系统中实现动态调度的示意图。图中所示301为计算机集群的主节点,主节点上部署有Torque批处理系统的资源与作业服务器模块(PBS-SERVER)和作业调度器模块(PBS-SCHED);图中所示302为计算机集群的各个计算节点,各个计算节点上部署有Torque批处理系统的作业执行模块(pbs-mom);图中所示303为用户提交作业的脚本、请求的资源(job scripts),图中所示304为本发明所述的资源管理器。

通常情况下,Torque批处理系统作业服务器模块(PBS-SERVER)和作业调度器模块(PBS-SCHED)是按照管理员设定的调度策略将用户提交的作业的脚本、请求的资源(job scripts),通过作业执行模块(pbs-mom)分配给管理员指定的计算节点来运行。由于批处理系统中的调度策略是管理员设定的,灵活性差。这意味着Torque批处系统不能按照待执行作业的需求实现动态分配和回收。

为了在Torque批处理系统中实现计算机集群的计算资源的动态分配与回收,本发明提供了如图3所示的资源管理器304。

参照图3,资源管理器304的工作流程如下:

(1)资源管理器304的Read_param模块在Torque批处理系统向其管理的各个计算节点分配待执行作业之前,从用户提交的作业的脚本、请求的资源(job scripts)中,获取待执行作业的各项指标的参数信息。

(2)资源管理器304的Node_status_check模块扫描并检测集群中的各个计算节点的设备信息,从而查找出设备信息满足获取的待执行作业的相关信息的计算节点。

(3)如果Node_status_check模块没有查找出设备信息满足获取的待执行作业的相关信息的计算节点,则查找出集群中空闲的计算节点,通过App_config模块按照获取的待执行作业的相关信息配置所述空闲的计算节点的计算环境。

(4)为确保配置后的节点能全面满足作业运行的需要,可再次使用资源管理器304的Node_status_check模块对配置过的计算节点的设备信息进行检测,以便确定该计算节点能否满足作业运行的需要。

(5)资源管理器304的Scripts_startup模块利用Torque批处理系统的qsub作业命令接口,将查找到的满足获取的待执行作业的相关信息的计算节点的标识信息发送给Torque批处理系统,并命令Torque批处理系统将待执行作业分配给查找到的计算节点的标识所指示的计算机运行。

(6)为了将配置过的计算节点恢复到配置之前的设备状态,资源管理器304的res_recycle模块在配置过的计算节点完成待执行作业或者配置过的计算节点的设备信息不符合获取的待执行作业的相关信息时,释放配置过的计算节点在配置计算环境时加载的各种资源。

与现有技术相比,本发明不仅提高了作业在批处理过程的灵活性、消除了集群中计算资源的孤岛,而且进一步提升了大型计算系统的易用性,提高资源利用率。

尽管已参照优选实施例为和描述了本发明,但本领域技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对这些实施例进行各种修改和变换。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号