一种面向高性能计算机的海量计算节点资源监控管理方法技术

技术编号:26504338 阅读:15 留言:0更新日期:2020-11-27 15:31
本发明专利技术公开了一种面向高性能计算机的海量计算节点资源监控管理方法,包括控制节点通过中间节点发送消息发送请求的下述步骤:控制节点取出一个消息发送请求,生成一个用于处理该消息发送请求的工作线程;通过该工作线程选择一个正常的中间节点;通过该工作线程向选择的中间节点转发该消息发送请求,然后等待由该中间节点返回的消息,且在收到该中间节点返回的消息后跳转执行下一步;工作线程处理返回的消息,工作线程更新中间节点和计算节点的状态,工作线程结束。本发明专利技术在控制节点与海量计算节点间增加一层中间节点以分担控制节点在对海量计算节点资源进行监控和管理的过程中的负载,同时降低计算节点在这一过程中的相关负载。

【技术实现步骤摘要】
一种面向高性能计算机的海量计算节点资源监控管理方法
本专利技术涉及高性能计算机的海量计算节点资源管理技术,具体涉及一种面向高性能计算机的海量计算节点资源监控管理方法。
技术介绍
当前,针对高性能计算机中的海量计算节点资源采用的是单一控制节点对大量计算节点进行控制的管理模式。在系统运行过程中,控制节点需要监控并记录每一个计算节点的实时状态以便于进行任务分配等工作。实现该功能的主要方式是控制节点不断产生向计算节点发送消息的请求(消息发送请求),根据计算节点的返回消息得到计算节点的当前状态并修改控制节点上用于管理计算节点的数据结构。这些消息发送请求的共同特点是发送的消息内容相同,但目标节点的数量往往较大,甚至某些消息发送请求的目标节点会包含所有的计算节点。在处理消息发送请求时,控制节点会采用星形结构或树形结构进行消息的发送。所谓星形结构,是指控制节点直接向所有目标计算节点发送消息,而树形结构则需要由控制节点和计算节点共同构建一个通信树来完成消息的发送和接收过程。具体而言,控制节点将目标节点进行分组,分组后的组数即为通信树宽,控制节点只给每组节点中的第一个目标节点发送消息,每组第一个目标节点再按树形结构继续向该组内的其他节点进行消息发送。通常情况下,树形的消息发送模式相比星形的发送模式能给控制节点带来更小的负载。考虑单一控制节点通过生成并处理消息发送请求从而对海量计算节点状态进行监控和管理的这一部分功能,可以发现,节点规模一旦增大,将会给系统带来多方面的问题:一、节点规模增大时,控制节点上与监控计算节点状态有关的负载增大。控制节点在处理消息发送请求时对目标节点进行消息发送的模式可以分为星形和树形两种。在星形的发送模式中,控制节点上的负载与目标节点个数直接相关。对于一个消息发送请求,假设目标节点个数为n,那么控制节点会生成n个发送线程直接负责每一个目标节点的消息发送和接收,同时会生成一个监控线程监控本发送请求下所有线程的发送和接收情况并更新节点的状态信息。当节点规模扩大时,同样的发送请求将会有更多的目标节点,对于星形的发送模式,这会直接引起发送线程的增多,带来更大的CPU和网络负载。在树形的发送模式中,控制节点上的负载与树宽相关。当节点规模增大时,如果保持之前设定的树宽不变,将会使得通信树的深度大大增加,消息转发次数变多,从而使得控制节点从发送消息到接收返回消息的时间间隔增大,返回消息的实时性下降。所以为了保证系统的性能,必然会考虑适当的增加通信树宽以降低通信树深度。一旦通信树宽增加,控制节点将目标节点分组后得到的组数增多,这会引起控制节点上与发送相关的线程数量增大,进而引起控制节点上的总线程数等比例的增加,最终导致控制节点上CPU和网络负载增大。这在控制节点不断产生大量消息发送请求的情况下更为明显。实际上,为了避免在同时运行过多的线程,控制节点一般会设置好同一时刻内运行的该类线程的上限(如256)。此外,对于每一个发送请求,也会设置同一时刻内处理该发送请求最多允许的处在运行状态的线程上限(如12)。然而,这会导致系统处在一个矛盾的状态下:首先,如果不改变这两个上限,在节点规模增大的情况下,虽然可以保证同一时刻内线程数不会超过上限,但会使得大量发送请求进入等待状态而得不到及时的处理,系统的性能将会严重受损。其次,一旦提高这两个上限,虽然可以保证发送请求得到及时处理,但控制节点上的负载也会随之增加。二、节点规模增大时,计算节点上与消息转发有关的负载增大。在树形的消息发送模式中,计算节点同样会对目标节点进行分组和消息转发,节点规模的扩大引起的通信树宽的增加同样会给计算节点带来更大的CPU和网络的负载。综上所述,在节点规模增大的条件下,如果采用树形结构进行消息的发送,则不能大幅增加通信树宽,否则会给控制节点和计算节点都带来更大的负载,降低系统性能。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种面向高性能计算机的海量计算节点资源监控管理方法,本专利技术在控制节点与海量计算节点间增加一层中间节点以分担控制节点在对海量计算节点资源进行监控和管理的过程中的负载,同时降低计算节点在这一过程中的相关负载。为了解决上述技术问题,本专利技术采用的技术方案为:一种面向高性能计算机的海量计算节点资源监控管理方法,包括控制节点通过中间节点发送消息发送请求的下述步骤:1)控制节点取出一个消息发送请求,生成一个用于处理该消息发送请求的工作线程;2)通过该工作线程选择一个正常的中间节点;3)通过该工作线程向选择的中间节点转发该消息发送请求,然后等待由该中间节点返回的消息,且在收到该中间节点返回的消息后跳转执行下一步;4)工作线程处理返回的消息,工作线程更新中间节点和计算节点的状态,工作线程结束。可选地,步骤1)中控制节点取出一个消息发送请求具体是指控制节点的控制线程从全局链上取出一个消息发送请求,所述全局链用于存储控制节点的消息发送请求,所述控制线程用于管理每一个消息发送请求及其对应的工作线程。可选地,步骤2)中通过该工作线程选择一个正常的中间节点具体是指采用轮询法从所有中间节点构成的中间节点列表中依次选择一个正常的中间节点,且采用状态机记录各个中间节点的状态,状态机包括状态0、1两种状态以及事件1~3三种事件,状态0代表节点故障;状态1代表节点正常,事件1为控制节点发送PING消息给中间节点且得到正确返回值;事件2为控制节点发送PING消息给中间节点且无法得到返回值;事件3为控制节点向正常节点转发消息发送请求且无法得到返回消息,当发生事件1时,若状态机的原状态为状态0则变更为状态1,若状态机的原状态为状态1则保持状态不变;当发生事件2时,若状态机的原状态为状态0则保持状态不变,若状态机的原状态为状态1则变更为状态0;当发生事件3时,则状态机的原状态为状态1则变更为状态0。可选地,步骤3)中等待由该中间节点返回的消息时,若等待超时仍未收到该中间节点返回的消息,则跳转执行步骤2)以重新选择下一个正常的中间节点处理该消息发送请求。可选地,步骤3)中通过该工作线程向选择的中间节点转发该消息发送请求时,转发该消息发送请求的数据结构agent_t包括下述信息字段:目标节点个数node_count,用于存储的本消息发送请求中的目标节点个数;重新尝试标识retry,用于记录发送失败后是否需要进行重新尝试的标识;目标节点链hostlist,用于记录目标节点链;消息类型msg_type,用于记录需要发送的消息类型;消息主体msg_args,用于记录需要发送的消息主体。可选地,步骤3)中收到该中间节点返回的消息时,中间节点返回的消息的数据结构agent_response_t包括下述信息字段:通信错误节点列表comm_err_nodelist,用于存储在通过星形结构进行发送时使用通信函数并出现错误的目标节点;任务编号job_id,用于存储与srun命令有关的消息发送请本文档来自技高网
...

【技术保护点】
1.一种面向高性能计算机的海量计算节点资源监控管理方法,其特征在于,包括控制节点通过中间节点发送消息发送请求的下述步骤:/n1)控制节点取出一个消息发送请求,生成一个用于处理该消息发送请求的工作线程;/n2)通过该工作线程选择一个正常的中间节点;/n3)通过该工作线程向选择的中间节点转发该消息发送请求,然后等待由该中间节点返回的消息,且在收到该中间节点返回的消息后跳转执行下一步;/n4)工作线程处理返回的消息,工作线程更新中间节点和计算节点的状态,工作线程结束。/n

【技术特征摘要】
1.一种面向高性能计算机的海量计算节点资源监控管理方法,其特征在于,包括控制节点通过中间节点发送消息发送请求的下述步骤:
1)控制节点取出一个消息发送请求,生成一个用于处理该消息发送请求的工作线程;
2)通过该工作线程选择一个正常的中间节点;
3)通过该工作线程向选择的中间节点转发该消息发送请求,然后等待由该中间节点返回的消息,且在收到该中间节点返回的消息后跳转执行下一步;
4)工作线程处理返回的消息,工作线程更新中间节点和计算节点的状态,工作线程结束。


2.根据权利要求1所述的面向高性能计算机的海量计算节点资源监控管理方法,其特征在于,步骤1)中控制节点取出一个消息发送请求具体是指控制节点的控制线程从全局链上取出一个消息发送请求,所述全局链用于存储控制节点的消息发送请求,所述控制线程用于管理每一个消息发送请求及其对应的工作线程。


3.根据权利要求1所述的面向高性能计算机的海量计算节点资源监控管理方法,其特征在于,步骤2)中通过该工作线程选择一个正常的中间节点具体是指采用轮询法从所有中间节点构成的中间节点列表中依次选择一个正常的中间节点,且采用状态机记录各个中间节点的状态,状态机包括状态0、1两种状态以及事件1~3三种事件,状态0代表节点故障;状态1代表节点正常,事件1为控制节点发送PING消息给中间节点且得到正确返回值;事件2为控制节点发送PING消息给中间节点且无法得到返回值;事件3为控制节点向正常节点转发消息发送请求且无法得到返回消息,当发生事件1时,若状态机的原状态为状态0则变更为状态1,若状态机的原状态为状态1则保持状态不变;当发生事件2时,若状态机的原状态为状态0则保持状态不变,若状态机的原状态为状态1则变更为状态0;当发生事件3时,则状态机的原状态为状态1则变更为状态0。


4.根据权利要求1所述的面向高性能计算机的海量计算节点资源监控管理方法,其特征在于,步骤3)中等待由该中间节点返回的消息时,若等待超时仍未收到该中间节点返回的消息,则跳转执行步骤2)以重新选择下一个正常的中间节点处理该消息发送请求。


5.根据权利要求1所述的面向高性能计算机的海量计算节点资源监控管理方法,其特征在于,步骤3)中通过该工作线程向选择的中间节点转发该消息发送请求时,转发该消息发送请求的数据结构agent_t包括下述信息字段:
目标节点个数node_count,用于存储的本消息发送请求中的目标节点个数;
重新尝试标识retry,用于记录发送失败后是否需要进行重新尝试的标识;
目标节点链hostlist,用于记录目标节点链;
消息类型msg_type,用于记录需要发送的消息类型;
消息主体msg_args,用于记录需要发送的消息主体。


6.根据权利要求5所述的面向高性能计算机的海量计算节点资源监控管理方法,其特征在于,步...

【专利技术属性】
技术研发人员:戴屹钦卢凯董勇王睿伯张伟张文喆邬会军李佳鑫谢旻周恩强迟万庆陈娟
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1