清除TORQUE计算集群计算节点中残留进程的方法及系统与流程

文档序号:14120066阅读:1466来源:国知局
清除TORQUE计算集群计算节点中残留进程的方法及系统与流程

本发明属于计算机技术领域,具体涉及高性能计算机集群的管理,尤其涉及清除torque计算集群计算节点中残留进程的方法及系统。



背景技术:

高性能计算可以用于数值分析和模拟实验,是公认的一种重要研究方法,是科学创新的重要手段。当前,高性能计算能力是一个国家的综合国力的体现,对国家战略有着重要的影响。

提升计算能力有两种方式:一是提升单机的计算能力,例如提升cpu的主频、采用众核技术或使用gpu计算等;另一种方法是同过高速网络(例如infiniband)来并行多台计算机。目前,高性能计算集群的搭建往往综合考虑上述两个因素,选一个性价比最高的方案,计算软件、计算结果都保存在文件存储系统中,以保证各节点数据的同步性。作业运行时,管理节点把任务分配到计算节点里进行计算,计算节点里对应产生一个计算进程。当计算完成后,计算节点里计算进程结束,管理节点再也查不到任务的状态。

在集群实际运行中,常常发现个别计算节点有计算进程在运行,但在管理节点查不到其运行状态。例如第s个计算节点有计算进程在运行,但管理节点认为第s个节点处于空闲状态。如果有新的任务,管理节点会继续向第s个节点提交任务,导致第s个节点多个计算进程同时运行,大大降低计算效率。这里,我们把管理节点查不到的计算进程,称为残留进程。造成残留进程的原因有很多,最主要的是用户程序编写不规范,其次是用户没有通过正确的方法提交计算任务,还有可能是系统bug。总之,残留计算进程严重影响正常的计算任务执行,要清除掉。急需一种快速、准确的清除计算节点中的残留进程的方法及系统。



技术实现要素:

本发明的目的在于克服上述的不足,提供了清除torque计算集群计算节点中残留进程的方法及系统,以解决残留进程对计算节点和torque计算集群的影响,保证任务的快速执行。

为了实现上述目的,本发明采用以下技术方案:

一种清除torque计算集群计算节点中残留进程的方法,包括以下步骤:

步骤1:从用户名列表文件中获取所有用户名,存入用户列表;

步骤2:获取当前所有计算节点中运行任务的用户名,存入关系数组;

步骤3:为每个计算节点建立一个以计算节点名为文件名的文件,文件里存入当前在该计算节点没有任务执行的用户名;

步骤4:为每个计算节点删除残留进程;

步骤5:自动更新用户名列表文件。

优选地,在所述步骤1之前还包括:

为torque计算集群创建用户名列表文件。

优选地,在所述步骤4之后还包括:

记录每个计算节点删除残留进程的状况。

清除torque计算集群计算节点中残留进程的系统,包括:

第一获取模块,用于从用户名列表文件中获取所有用户名,存入用户列表;

第二获取模块,用于获取当前所有计算节点中运行任务的用户名,存入关系数组;

文件建立模块,用于为每个计算节点建立一个以计算节点名为文件名的文件,文件里存入当前在该计算节点没有任务执行的用户名;

残留进程删除模块,用于为每个计算节点删除残留进程;

更新模块,用于自动更新用户名列表文件。

优选地,还包括:

创建模块,用于为torque计算集群创建用户名列表文件。

优选地,还包括:

记录模块,用于记录每个计算节点删除残留进程的状况。

与现有技术相比,本发明具有的有益效果:

本发明通过从用户名列表文件中获取所有用户名、并存入用户列表,然后获取当前所有计算节点中运行任务的用户名、并存入关系数组,然后为每个计算节点建立一个以计算节点名为文件名的文件,文件里存入当前在该计算节点没有任务执行的用户名,最后为每个计算节点删除残留进程、自动更新用户名列表文件的方式,删除各torque计算集群各计算节点的残留进程,以此消除残留进程对计算任务的影响,使得计算任务在预定的时间内完成,规范了集群的使用。

附图说明

图1为本发明清除torque计算集群计算节点中残留进程的方法的基本流程示意图之一。

图2为本发明清除torque计算集群计算节点中残留进程的方法的基本流程示意图之二。

图3为本发明清除torque计算集群计算节点中残留进程的系统的结构示意图之一。

图4为本发明清除torque计算集群计算节点中残留进程的系统的结构示意图之二。

具体实施方式

为了便于理解,对本发明的具体实施方式中出现的部分名词作以下解释说明:

torque计算集群:一种常见的高性能计算集群作业管理系统。

管理节点:用于管理和分配计算资源的节点,一般集群只有一个。

计算节点:在集群中主要用于计算的节点,一般集群有很多个。

残留进程:管理节点中查不到的计算进程。

下面结合附图和具体的实施例对本发明做进一步的解释说明:

实施例一:

如图1所示,本发明的一种清除torque计算集群计算节点中残留进程的方法,包括以下步骤:

步骤s101:从用户名列表文件中获取所有用户名,存入用户列表;

步骤s102:获取当前所有计算节点中运行任务的用户名,存入关系数组;

步骤s103:为每个计算节点建立一个以计算节点名为文件名的文件,文件里存入当前在该计算节点没有任务执行的用户名;

步骤s104:为每个计算节点删除残留进程;

步骤s105:自动更新用户名列表文件。

实施例二:

如图2所示,本发明的另一种清除torque计算集群计算节点中残留进程的方法,包括以下步骤:

步骤s201:为torque计算集群创建用户名列表文件user.list。

步骤s202:从用户名列表文件user.list中获取所有用户名,存入用户列表uli;

例如,假设系统中有10位用户:

uli=[user1,user2,user3,user4,user5,user6,user7,user8,user9,user10];

步骤s203:获取当前所有计算节点中运行任务的用户名情况,存入关系数组idic,格式为idic[节点名]=[用户列表];

例如,假设torque计算集群有16个计算节点,分别命名为节点1、节点2……节点16,以节点1、节点2、节点16为例:

idic[node1]=[user1,user3,user8];

idic[node2]=[user1,user4];

idic[node16]=[user5,user6]。

步骤s204:为每个计算节点建立一个以计算节点名为文件名的文件,文件里存入当前在该计算节点没有任务执行的用户名;

例如:

node1文件中存入:user2,user4,user5,user6,user7,user9,user10;

node2文件中存入:user2,user3,user5,user6,user7,user8,user9,user10;

node16的文件中存入:user1,user2,user3,user4,user7,user8,user9,user10。

步骤s205:根据每个计算节点文件中当前在该计算节点没有任务执行的用户名,为每个计算节点删除残留进程;

例如:

node1下删除user2,user4,user5,user6,user7,user9,user10的所有进程;

node2下删除user2,user3,user5,user6,user7,user8,user9,user10的所有进程;

node16下删除user1,user2,user3,user4,user7,user8,user9,user10所有进程。

步骤s206:记录每个计算节点删除残留进程的状况,把每个计算节点删除残留进程的状况写入now.list,直至删除所有残留进程。

步骤s207:如果管理员新添加了用户,并且该用户处于执行任务状态,则自动更新用户名列表文件user.list。

实施例三:

如图3所示,本发明的一种清除torque计算集群计算节点中残留进程的系统,包括:

第一获取模块301,用于从用户名列表文件中获取所有用户名,存入用户列表;

第二获取模块302,用于获取当前所有计算节点中运行任务的用户名,存入关系数组;

文件建立模块303,用于为每个计算节点建立一个以计算节点名为文件名的文件,文件里存入当前在该计算节点没有任务执行的用户名;

残留进程删除模块304,用于为每个计算节点删除残留进程;

更新模块305,用于自动更新用户名列表文件。

实施例四:

如图4所示,本发明的另一种清除torque计算集群计算节点中残留进程的系统,包括:

创建模块401,用于为torque计算集群创建用户名列表文件。

第一获取模块402,用于从用户名列表文件中获取所有用户名,存入用户列表;

第二获取模块403,用于获取当前所有计算节点中运行任务的用户名,存入关系数组;

文件建立模块404,用于为每个计算节点建立一个以计算节点名为文件名的文件,文件里存入当前在该计算节点没有任务执行的用户名;

残留进程删除模块405,用于为每个计算节点删除残留进程;

记录模块406,用于记录每个计算节点删除残留进程的状况。

更新模块407,用于自动更新用户名列表文件。

以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1