1.一种监测应用执行性能的方法,适于在计算设备中执行,该应用适于在服务器集群中执行,该服务器集群包括多个计算节点,每个计算节点包括一个或多个适于被进程占用的计算单元,该方法包括:
获取与执行所述应用的计算节点对应的节点列表;
基于该节点列表,获取执行所述应用的每个计算节点对应的进程列表和函数列表;
基于所获取的每个进程列表,提取其中与所述应用关联的进程项;
从每个关联的进程项对应的函数列表中,提取与该进程项关联的函数项;
根据所提取与所述应用关联的进程项和与每个提取的进程项关联的函数项,监测所述应用的执行性能。
2.如权利要求1所述的方法,其中,所述进程项包括下述中至少一部分:进程标识、进程名称、进程状态、对所占用的计算单元的使用率、内存使用量、内存占用率、进程持续时间、父进程标识、所占用的计算单元的标识、交换区(swap)的使用量和进程创建时间。
3.如权利要求1或2所述的方法,其中,所述函数项包括:函数名称、该函数所属的执行模块的名称、单位时间内对单位时间内对该函数累计的采样次数、和该函数的采样次数占执行该函数的进程所在的计算节点在该单位时间内对函数采样的总次数的比例。
4.如权利要求1-3中任一项所述的方法,还包括:获取执行所述应用的计算节点的异常运行状态,
其中,每个计算节点的异常运行状态包括下述中至少一种:
内存使用量超过第一阈值并使用交换区(swap),
代码向量化(VEC)比率低于第二阈值,
指令集执行(AVX)比率低于第三阈值,和
CPU使用率超过第四阈值且浮点运算速率(Gflops)低于第五阈值。
5.如权利要求4所述的方法,在获取到执行所述应用的任一个计算节点的异常运行状态时,该方法还包括:根据所提取与所述应用关联的进程项和与每个提取的进程项关联的函数项,判断引起该计算节点运行异常的进程项和函数项,以便定位所述应用的性能瓶颈。
6.如权利要求1-5中任一项所述的方法,其中,所述从相关联的每个进程项所占用的计算单元所对应的函数列表中,提取与该进程项关联的函数项的步骤包括:
根据进程项的进程标识,从所对应的函数列表中提取与该进程名称相关联的函数项。
7.如权利要求1-6中任一项所述的方法,其中,所述服务器集群为高性能计算集群。
8.一种监测应用执行性能的装置,适于驻留在计算设备中,该应用适于在服务器集群中执行,该服务器集群包括多个计算节点,每个计算节点包括一个或多个适于被进程占用的计算单元,该装置包括:
第一获取单元,适于获取与执行所述应用的计算节点对应的节点列表;
第二获取单元,基于该节点列表,适于获取执行所述应用的每个计算节点对应的进程列表和函数列表;
第一筛选单元,基于所获取的每个进程列表,提取其中与所述应用关联的进程项;
第二筛选单元,从每个关联的进程对应的函数列表中,提取与该进程项关联的函数项;
监测单元,适于根据所提取与所述应用关联的进程项和与每个提取的进程项关联的函数项,监测所述应用的执行性能。
9.如权利要求8所述的装置,其中,所述进程项的进程信息包括下述中至少一部分:进程标识、进程名称、进程状态、对所占用的计算单元的使用率、内存使用量、内存占用率、进程持续时间、父进程标识、所占用的计算单元的标识、交换区(swap)的使用量和进程创建时间。
10.一种高性能计算系统,包括:
服务器集群,包括多个计算节点,每个计算节点中驻留有获取计算节点中进程列表和函数列表的性能收集器;
作业管理设备,适于接收应用提交终端所提交的待执行的应用,并将该待执行的应用分配给至少一个计算节点;以及
驻留有如权利要求8或9所述的装置的计算设备,适于获取来自所述性能收集器的进程列表和函数列表。