计算机集群的资源管理方法、资源管理器的制造方法【
技术领域:
】[0001]本申请属于高性能计算领域,特别涉及一种在计算机集群中实现动态调度管理的技术。【
背景技术:
】[0002]随着现代计算机技术的发展,地震勘探、预测模型的构造和模拟、工业设计以及自动化等各个领域的计算系统规模越来越大,这些大型计算系统中包含了各种应用系统、各种计算类型及海量计算资源。[0003]为管理协调这些计算资源,通常米用PBS(portablebatchsystem)资源管理器(即,批处理系统)解决大型计算系统中计算作业的批量提交问题,目前有三个版本:OpenPBS、Torque以及PBSpro,其中Torque为PBS的开源版本。目前大部分计算应用软件都通过PBS完成批量作业的提交及资源管理。[0004]然而,现有的批处理系统在实际应用中,通常存在以下问题:[0005]1、各应用软件的批处理系统间无法通信,导致各应用软件的计算资源边界模糊,容易引起资源竞争失败。[0006]2、批处理系统策略预置,灵活性差。批处理系统所需要的计算节点、应用软件、环境配置、存储等必须事先配置好,一旦不满足提交条件,则会导致批处理作业提交失败,中断批处理作业提交进程。[0007]3、批处理系统没有作业运行条件检查功能,即使提交的作业进入计算实体,仍然有可能因为运行条件不满足,从而导致批处理作业运行失败,造成作业重复提交,引起资源浪费。[0008]因此,如何管理协调这些计算资源,最大限度的利用资源,在这类大规模计算系统中显得尤其重要。【
发明内容】[0009]本发明的目的在于提供一种计算机集群的资源管理方法、资源管理器,以解决上述问题。[0010]根据本发明的一方面,提供一种计算机集群的资源管理方法,所述方法包括:(A)在向所述集群的批处理系统管理的各个计算节点分配待执行作业之前,获取待执行作业的相关信息;(B)从所述集群的批处理系统管理的各个计算节点中,查找设备信息符合获取的待执行作业的相关信息的计算节点;(C)将查找到的计算节点的标识发送给所述集群的批处理系统;(D)命令所述集群的批处理系统将待执行作业分配给查找到的计算节点的标识所指示的计算机运行。[0011]优选地,所述方法还包括:如果没有查找出设备信息符合获取的待执行作业的相关信息的计算节点,则执行空闲节点的搜索步骤:从所述集群的批处理系统管理的各个计算节点中,查找空闲的计算节点;按照获取的待执行作业的相关信息配置查找到的空闲的计算节点的计算环境;当完成所述计算环境的配置时,将配置过的计算节点的标识发送给所述集群的批处理系统;命令所述集群的批处理系统将待执行作业分配给配置过的计算节点的标识所指示的计算机运行。[0012]优选地,所述将配置过的计算节点的标识发送给所述集群的批处理系统的步骤包括:检测配置过的计算节点的设备信息;如果检测的设备信息符合获取的待执行作业的相关信息,则将配置过的计算节点的标识发送给所述集群的批处理系统;如果检测的设备信息不符合获取的待执行作业的相关信息,则返回执行空闲节点的搜索步骤。[0013]优选地,所述方法还包括:如果没有查找出空闲的计算节点,则在预定时间段之后,返回执行步骤(B)。[0014]优选地,所述方法还包括:当配置过的计算节点完成待执行作业或者配置过的计算节点的设备信息不符合获取的待执行作业的相关信息时,释放配置过的计算节点在配置所述计算环境时加载的资源,以便将配置过的计算节点恢复到原先的设备状态。[0015]根据本发明的另一方面,提供一种计算机集群的资源管理器,所述资源管理器包括:作业获取单元,用于在向所述集群的批处理系统管理的各个计算节点分配待执行作业之前,获取待执行作业的相关信息;第一查找单元,用于从所述集群的批处理系统管理的各个计算节点中,查找设备信息符合获取的待执行作业的相关信息的计算节点;作业分配单元,用于将查找到的计算节点的标识发送给所述集群的批处理系统,并命令所述集群的批处理系统将待执行作业分配给查找到的计算节点的标识所指示的计算机运行。[0016]优选地,所述资源管理器还包括:第二查找单元,用于如果没有查找出设备信息符合获取的待执行作业的相关信息的计算节点,则执行空闲节点的搜索步骤:从所述集群的批处理系统管理的各个计算节点中,查找空闲的计算节点;环境配置单元,用于按照获取的待执行作业的相关信息配置查找到的空闲的计算节点的计算环境;所述作业分配单元在完成所述计算环境的配置时,将配置过的计算节点的标识发送给所述集群的批处理系统,并命令所述集群的批处理系统将待执行作业分配给配置过的计算节点的标识所指示的计算机运行。[0017]优选地,所述作业分配单元包括:信息检测单元,用于检测配置过的计算节点的设备信息;第一处理单元,用于如果检测的设备信息符合获取的待执行作业的相关信息,则将配置过的计算节点的标识发送给所述集群的批处理系统;第二处理单元,用于如果检测的设备信息不符合获取的待执行作业的相关信息,则返回所述第二查找单元中执行空闲节点的搜索步骤。[0018]优选地,所述资源管理器还包括:第三处理单元,用于如果没有查找出空闲的计算节点,则在预定时间段之后,并返回所述第一查找单元执行步骤(B)。[0019]优选地,所述资源管理器还包括:资源回收单元,用于当配置过的计算节点完成待执行作业或者配置过的计算节点的设备信息不符合获取的待执行作业的相关信息时,释放配置过的计算节点在配置所述计算环境时加载的资源,以便将查找到的计算节点恢复到原先的设备状态。[0020]与现有技术相比,本发明不仅提高了作业在批处理过程的灵活性、消除了集群中计算资源的孤岛,而且进一步提升了大型计算系统的易用性,提高资源利用率。【附图说明】[0021]通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:[0022]图1是示出根据本发明的示例性实施例的计算机集群的资源管理方法的流程图;[0023]图2是示出根据本发明的示例性实施例的计算机集群的资源管理器的结构框图;[0024]图3是示出根据本发明的示例性实施例的在Torque批处理系统中实现动态调度的示意图。【具体实施方式】[0025]以下,将参照附图来详细说明本发明的实施例。[0026]图1示出了本发明一种计算机集群的资源管理方法的优选实施例的流程图。[0027]参照图1,在步骤110中,在向所述集群的批处理系统管理的各个计算节点分配待执行作业之前,获取待执行作业的相关信息。[0028]通常,在待执行作业中包含有待执行作业所需计算节点数量、运行作业所需的应用软件名称、运行时对设备内存及缓冲区的要求、文件系统等各种参数信息,因此,在本发明中,可通过获取待执行作业的相关信息,分析待执行作业的需求,从而选择出合适的计算节点来执行作业,为筛选出合适的计算节点,在本发明一个可选的实施例中,可选择待执行作业的应用软件的种类、内存需求量、许可需求的数量、缓冲区大小、文件系统中的一个或多个信息作为筛选计算节点的条件。[0029]在步骤120中,从所述集群的批处理系统管理的各个计算节点中,查找设备信息符合获取的待执行作业的相关信息的计算节点。[0030]在本发明中,计算节点的设备信息主要包括计算节点的资源信息和状态信息,例如,节点上安装的各种应用程序、内存容量、缓冲区的大小以及运行的状况等。[0031]在步骤130中,将查找到的计算节点的标识发送给所述集群的批处理系统,并在步骤140中,命令所述集群的批处理系统将待执行作业分配给查找到的计算节点的标识所指示的计算机运行。换句话讲,就是由所述集群的批处理系统来完成待执行作业的分配、监控以及提交等。[0032]这里,所述的标识可以是设备的名称、IP地址以及编号等能够唯一区别集群中各个计算机设备的标识信息。优选地,可利用集群的批处理系统提供预定的作业命令接口,将查找到的标识作为参数传递给所述集群的批处理系统。以下示出了PBS批处理当前第1页1 2 3