CN108628727B - 一种基于模式运行时特征的模式作业运行状态分析方法 - Google Patents
一种基于模式运行时特征的模式作业运行状态分析方法 Download PDFInfo
- Publication number
- CN108628727B CN108628727B CN201810353590.4A CN201810353590A CN108628727B CN 108628727 B CN108628727 B CN 108628727B CN 201810353590 A CN201810353590 A CN 201810353590A CN 108628727 B CN108628727 B CN 108628727B
- Authority
- CN
- China
- Prior art keywords
- mode
- time
- state
- performance
- mode operation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/328—Computer systems status display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于模式运行时特征的模式作业运行状态分析方法,包括:(1)实时提取状态特征、量化特征;(2)根据状态特征判别模式作业运行状态;(3)根据量化特征分析模式作业性能是否发生异常。本发明基于定性信息的状态特征,通过对有限个状态的直接判断,可有效发现一定类别的故障,提高了故障发现的及时性。基于性能参数的量化特征,通过相关性分析、常态范围判别、固定周期预测、时间序列分析等技术,能够及时识别模式作业的运行异常,能够有效发现计算节点挂死、作业无输出、中间变量异常等目前存在的不便识别和判断的现象,有利于模式的业务连续性运行保障。
Description
技术领域
本发明涉及一种基于模式运行时特征的模式作业运行状态分析方法,属于高性能计算的技术领域。
背景技术
超级计算机的快速发展推动了海洋数值模式软件的迅速应用,其运行规模也在迅速攀升。在大规模作业的运行过程中,由于系统复杂、涉及资源范围较大,因此经常会出现模式作业运行故障、中间变量输出异常、作业挂死等问题。
目前,利用已有的作业管理系统和命令行工具,在一定程度上可以实现部分作业状态和资源状态信息的获取,在模式软件运行过程中也会输出部分中间数据和运行日志,但是不能及时发现模式作业运行故障,不能提前发现异常、识别作业挂死等现象。因此,如何充分利用获取到的状态监测信息和性能监测数据来及时发现故障、提前发现异常是需要解决的关键问题之一。
发明内容
针对现有技术的不足,本发明提供了一种基于模式运行时特征的模式作业运行状态分析方法。
本发明通过对模式作业运行过程进行全面、深入地监测,综合状态信息和性能数据,提出了模式运行时特征。获取的运行时特征信息包括定性数据和定量数据。定性分析针对可能的有限个状态直接进行故障筛选和关联判定;定量分析采用统计分析和时间序列分析方法,预测其在下一个时间的趋势走向和量值范围,通过比较实际输出与预期输出的差别来判断其是否发生异常。
本发明通过对模式运行时特征的关联分析和动态分析,能够达到及时报警、提前预警的目的,进一步提高了模式运行过程的可靠性和异常因素影响分析能力,有利于保障模式作业的业务连续性运行。
术语解释:
1、模式年,指海洋数值模式中的时间年,即365天;
2、模式天,指海洋数值模式中的时间天,即1天。
本发明的技术方案为:
一种基于模式运行时特征的模式作业运行状态分析方法,包括:
(1)实时提取基于定性信息的状态特征、基于性能参数的量化特征
所述状态特征包括计算节点状态、网络状态、文件系统状态、队列状态、作业状态。
计算节点状态,是指高性能计算系统中计算节点的状态;包括idle节点空闲、busy节点繁忙、boot节点正在引导、down节点宕机或监测不通、sleep节点已睡眠、wakeup节点正在唤醒、hardft节点硬件故障、softft节点软件故障。
网络状态,是指高性能计算系统中计算节点的网络接口卡状态及交换机接口状态;包括ok正常、down停止、init初始化、need_reboot需要重新加载系统、lid_err节点lid错误、guid_err节点guid错误、iblink_err节点IB链路故障、除pcie_8x5g之外的PCIE链路。
文件系统状态,是指高性能计算系统中全局文件系统的状态及计算节点挂载的文件系统客户端状态;包括ok正常、unmounted未挂载、error错误。
队列状态,是指高性能计算系统中计算节点资源队列的状态;包括Open:Active即开启:激活、Close:Inactive即关闭:非活动。
作业状态,是指高性能计算系统中用户提交的作业程序的运行状态;包括pend作业正在调度、starting作业正在启动运行、run作业正在运行、done作业正常完成并退出、exit作业异常完成并退出、degrade作业正在进行局部降级、degraded作业降级完成。
所述量化特征包括模式运行速度、模式运行时中间变量和统计量的趋势特征、数据文件的输出特征、运行时计算负载、运行时内存负载、网络利用率、MPI通讯特征。
模式运行速度,是指每小时模拟完成的模式年,或模拟完成一模式年所需要的时间;当模式软件版本确定、算例确定、计算规模等确定后,在模式作业的运行过程中,模式运行速度则呈现基本固定的特征。
模式运行时中间变量和统计量的趋势特征,是指随着模拟步数的增加,中间变量和统计量的数值所呈现出来的变化趋势;中间变量,是指模式运行过程中输出的用以监测模式实时运行状态的变量;统计量,是指用来对模式运行过程中的实时运行数据进行分析和检验的变量。
数据文件的输出特征,包括实时写出、周期性写出;由模式软件本身的设计和实现决定。检测文件数量的变化和文件大小的变化情况,通过固定时间段内生成新文件的数量以及写出的数据量描述。
运行时计算负载,指计算节点的负载(Load)或处理器(CPU)利用率;高性能计算领域中的计算特征主要是稳定型计算负载。稳定型计算负载,指在模式的运行期间,计算负载在一个数值附近上下微小浮动。按计算节点的一分钟负载(1’load)计,通过每个计算节点的计算负载、所有计算节点的平均负载、上偏差及下偏差描述。
运行时内存负载,指计算节点的内存(MEM)利用率;高性能计算领域中的内存特征主要是稳定型内存负载。稳定型内存负载,指在模式的运行期间,内存负载在一个数值附近上下微小浮动。按计算节点使用的内存量计,根据计算节点架构的差别,对于众核节点可以再细分为主核内存使用量和从核内存使用量;通过每个计算节点的内存使用量、所有计算节点的平均内存使用量、上偏差及下偏差描述。
网络利用率,指计算节点或交换机的网络接口(NIC)发送利用率和接收利用率,包括稳定型网络利用率和周期性变化型网络利用率;稳定型网络利用率,指在模式的运行期间,网络利用率在一个数值附近上下微小浮动,或者在一个有限范围内随机变化;周期变化型网络利用率,指在模式的运行期间,网络利用率呈现有规律的增减变化;通过对各计算节点的网络利用率数值进行绘图展示,即可辨别是属于周期变化型还是属于稳定型。按计算节点本地高速网卡的网络发送速率和网络接收速率计;对于稳定型网络利用率,通过每个计算节点的网络发送和接收速率、所有计算节点的平均网络发送和接收速率、上偏差及下偏差描述;对于周期性变化型网络利用率,需获取至少一个周期内的完整网络发送和接收速率的周期性特征。
MPI通讯特征,是指模式运行期间各进程间的通讯次数、通讯数据量;按模式运行期间各进程间的通讯次数和通讯数据量计;分别通过一个二维方阵来描述;一般按一次模式完整运行的总体进行表征,也可以拆分到模式运行期间不同的流程进行表征。
(2)根据步骤(1)实时提取的状态特征判别模式作业运行状态
作业运行过程中,当计算节点状态为busy(繁忙)、SPE-busy(从核繁忙)之外的状态时,或计算核心的数量异常时,则判定作业运行过程中计算节点发生故障,作业运行中断;否则,作业运行过程中计算节点工作正常;
当网络状态即网络接口为ok之外的状态时,则判定网络系统发生故障,作业运行中断;对应的计算节点的总体状态为故障;否则,网络系统工作正常;
当文件系统状态为ok之外的状态时,则判定文件系统发生故障,作业运行中断;对应的计算节点的总体状态为故障;否则,文件系统工作正常;
当队列状态为Open:Active即开启:激活之外的状态时,则判定队列对应的作业发生故障,作业运行中断;否则,队列对应的作业工作正常;
当作业状态为starting即作业正在启动运行、pend即作业正在调度、run即作业正在运行、done即作业正常完成并退出之外的状态时,或者当作业状态为pend且该作业需要的资源充足,则判定对应的作业的总体状态为故障,作业运行发生中断;否则,作业工作正常;
当同时判定作业运行过程中计算节点工作正常、网络系统工作正常、文件系统工作正常、队列对应的作业工作正常、作业工作正常时,进入步骤(3);否则,直接判定为故障,结束。
(3)根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常
模式作业性能发生异常,是指作业状态仍处于运行状态,还没有发生中断时,根据以往的运行性能数据分析判断为当前的性能异常。如果模式作业性能发生异常,则及时提醒系统管理员和用户,人工进行离线分析和处理;否则,正常。
根据本发明优选的,所述步骤(3),包括:
(Ⅰ)通过相关性分析方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常;
(Ⅱ)通过常态范围判别方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常;
(Ⅲ)通过固定周期预测方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常;
(Ⅳ)通过时间序列分析方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常。
根据本发明优选的,所述步骤(Ⅰ),通过相关性分析方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常,包括:
A、判断计算节点运行状态、计算性能负载、内存负载的使用时段是否基本一致
将计算节点运行状态、计算性能负载、内存负载等参数的监测数值分别视为一个数据序列,计算其中任意两个数据序列的相关系数r,如果所有组合的两个数据序列的相关系数均符合abs(r)≥0.85,则判定计算节点运行状态、计算性能负载、内存负载的使用时段基本一致,进入步骤B;否则,则判定计算节点运行状态、计算性能负载、内存负载的使用时段不一致,判定模式作业性能发生异常;
B、判断计算节点运行状态、计算性能负载、内存负载的使用变化时间点是否基本一致
将计算节点运行状态、计算性能负载、内存负载等参数的监测数值分别视为一个数据序列,计算每个数据序列的一次差分,找到一次差分的最大值和最小值,在已知性能监测的取样周期(指提取性能参数的时间间隔,如5秒、15秒等)时,如果各参数数据序列一次差分的最大值所在位置的时间间隔tmax、各参数数据序列一次差分的最小值所在位置的时间间隔tmin满足tmax≤1min且tmin≤1min,则判定计算节点运行状态、计算性能负载、内存负载的使用变化时间点基本一致,进入步骤(Ⅱ);否则,判定计算节点运行状态、计算性能负载、内存负载的使用变化时间点不一致,判定模式作业性能发生异常。
类似地,可采用上述A和B方法分析同时在运行模式作业的多个计算节点之间的一致性。
进一步优选的,通过cor函数计算两个数据序列的相关系数r;通过diff函数计算每个数据序列的一次差分,通过which.max函数求取各参数差分序列的一次差分的最大值所在的位置;通过which.min函数求取各参数差分序列的一次差分的最小值所在的位置。
根据本发明优选的,所述步骤(Ⅱ),通过常态范围判别方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常,包括:
C、判断模式运行速度在模式运行过程中是否基本固定:从模式作业运行5000步开始,记录完成5个模式年期间每完成一个模式年所需要的时间,记作T1,T2,...,T5,计算平均值avrT,当后续的每完成一个模式年所需要的时间T满足abs(T-avrT)/avrT≤20%时,则判定模式运行速度在模式运行过程中基本固定,进入步骤D;否则,判定模式运行速度在模式运行过程中不固定,模式作业性能发生异常;
或者,以每小时模拟完成的模式年进行判别,记作Y1,Y2,...,Y5,计算平均值avrY,当后续的每小时完成的模式年数Y满足abs(Y-avrY)/avrY≤20%时,则判定模式运行速度在模式运行过程中基本固定,进入步骤D;否则,判定模式运行速度在模式运行过程中不固定,模式作业性能发生异常;
D、判断模式运行时的部分统计量是否在常态范围内:对于应该处于常态范围的中间变量和统计量,提取模式作业5001步至10000步之间的变量数值,对于每一个变量,分别统计其最大值Ub、最小值Lb,当模式后续运行时的统计量均落在[Lb,Ub]范围内时,则判定该变量在常态范围内,进入步骤E;否则,判定模式运行时该变量不在常态范围内,模式作业性能发生异常;
E、判断同一版本模式软件在同一算例、同等计算规模下的MPI通讯特征是否一致:对于某一版本模式软件的某一算例,由用户确定以某一计算规模下的第一次计算过程中的MPI通讯次数和通讯量为基准,对该算例和该计算规模下的后续其它几次计算过程,当通讯矩阵中每一对发送进程和接收进程保持不变,通讯次数和通讯量上下浮动范围不超过10%时,判定该版本模式软件在同一算例、同等计算规模下的MPI通讯特征一致,进入步骤F;否则,判定该版本模式软件在同一算例、同等计算规模下的MPI通讯特征不一致,模式作业性能发生异常;
F、判断运行时计算负载在模式运行过程中是否基本固定:提取模式作业5001步至10000步之间的计算负载数值,统计其平均值avrL,当后续运行时的计算负载L满足abs(L-avrL)/avrL≤20%时,则判定运行时计算负载在模式运行过程中基本固定,进入步骤G;否则,判定运行时计算负载在模式运行过程中不固定,模式作业性能发生异常;
G、判断运行时内存负载在模式运行过程中是否基本固定:提取模式作业5001步至10000步之间的内存负载数值,统计其平均值avrM,当后续运行时的内存负载M满足abs(M-avrM)/avrM≤20%时,则判定运行时内存负载在模式运行过程中基本固定,进入步骤H;否则,判定运行时内存负载在模式运行过程中不固定,模式作业性能发生异常;
H、判断部分计算节点进程的网络利用率是否基本稳定:对于网络利用率应该处于常态范围的计算节点,提取模式作业5001步至10000步之间的计算节点网络利用率数值,对于每一个计算节点,分别统计其最大值Uns(发送)/Unr(接收)、最小值Lns(发送)/Lnr(接收);当模式后续运行时该计算节点的网络发送利用率均落在[Lns,Uns]范围内、网络接收利用率均落在[Lnr,Unr]范围内时,则判定该节点网络利用率在常态范围内,进入步骤(Ⅲ);否则,判定模式运行时该节点网络利用率不在常态范围内,模式作业性能发生异常。
根据本发明优选的,所述步骤(Ⅲ),通过固定周期预测方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常,包括:
I、判断模式运行日志是否按固定周期性输出:当模式进入正常模拟后,超出1.5个周期仍未监测到日志输出变化,则判定模式作业性能发生异常;否则,进入步骤J。所述日志输出变化是指周期性增长,包括增长的时间点、增长的大小等。
J、判断模式数据文件写出是否按固定周期性输出:当模式进入正常模拟后,超出1.5个周期仍未监测到数据文件的输出特征表现为周期性增长时,则判定模式作业性能发生异常;否则,进入步骤(Ⅳ)。所述周期性增长,包括增长的时间点、文件数量的增长、文件大小的增长等。
通过模式作业5001步至10000步之间的运行数据,即可获取周期、增长的数量、增长的大小信息,进而预测后续下一个时间周期内的输出行为。
根据本发明优选的,所述步骤(Ⅳ),通过时间序列分析方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常,包括:
K、判断模式运行时的实时中间变量数值和部分统计量数值是否符合周期性:对于应该符合周期性的中间变量和统计量,其输出的变量数值,在模式作业运行3000步至5000步后即进入周期性稳定运行状态,呈现显著的周期性特征。在模式作业运行10000步开始,取当前步往后5000步的数据,通过时间序列分析方法,以预测后续2000步的数据,判断监测到的变量值是否符合周期性,包括:
1)假设当前步数为s,提取模式作业(s-5000+1)步至s步之间变量的监测数值,按照时间序列格式进行存储为ydat;
2)按变量的趋势特征提取方法,获取该变量的时间序列周期特征信息yhar;
3)采用ARIMA模型,选择模型阶(p,d,q)使得ARIMA(p,d,q)估计ydat的平均绝对偏差较小;
4)确定(s+1)步到(s+2000)步的时间序列newyhar;
5)基于前述确定的ARIMA(p,d,q)模型,预测出newyhar所在时间步的变量值,设定正常值范围为预测值上下浮动10%的范围;
6)实时获取(s+1)步到(s+2000)步的监测数据ydat1;
7)如果变量的监测值超出时间序列预测范围,则判别为作业运行异常;否则,进入步骤L;
L、判断模式运行时部分计算节点的实时网络利用率数值是否符合周期性:对于负责数据文件写出的计算节点进程,需要周期性地写出数据文件,因此其网络发送利用率在模式作业运行过程中呈现周期性变化。提取模式作业运行5000步之前的网络发送利用率,识别出负责数据文件写出的计算节点,自10000步开始,对于后续时间步的数据采用时间序列分析方法步骤判断是否符合周期性,当监测值超出时间序列预测范围时,则判别为模式作业运行异常;否则,符合周期性,则模式软件运行正常。其中,考虑到存在一定的背景通信流量,因此容许不超过20%的上下浮动范围。
根据本发明优选的,所述步骤(1),实时提取基于定性信息的状态特征,包括:通过高性能计算系统自带的监测命令获取计算节点状态、网络状态、文件系统状态、队列状态、作业状态。
根据本发明优选的,所述步骤(1),实时提取基于性能参数的量化特征,包括:
提取模式运行速度,包括:获取模式运行的总时间(墙钟时间,按小时计);从模式配置文件或模式作业运行日志获取模式模拟的时长(按模式年或模式天计);模式模拟的时长除以模式运行的总时间即为每小时模拟完成的模式年,取其倒数即换算为模拟完成一模式年所需要的时间;模式运行的总时间为作业结束时间与作业开始时间的差值,作业结束时间、作业开始时间有两种获取方式:a)查询作业管理系统日志,根据jobid信息,获得模式作业结束时间、作业开始时间;b)查询模式作业运行日志,取input时间即为作业开始时间、done时间即为作业结束时间。
提取模式运行时中间变量趋势特征,包括:实时读取模式作业运行日志,提取第5001步至第10000步之间的中间变量数值,通过已有的数据处理工具,获得该中间变量数值的时间序列周期特征信息,通过振幅、相位和周期等来表征。
提取模式运行时统计量趋势特征,统计量包括随机性变化的统计量、周期性变化的统计量:包括:实时读取模式作业运行日志,获取每一步的统计量数值;一般运行3000步至5000步后即进入随机性或周期性趋势进行变化。
对于随机性变化的统计量,其数值变化无明显的变化规律(如周期性、稳定增长、稳定递减等),统计其最小值min、最大值max、平均值mean,计算上偏差=最大值max-平均值mean,下偏差=平均值mean-最小值min,取平均值、上偏差、下偏差为随机性变化的统计量的特征信息;
对于周期性变化的统计量,通过提取5001步至10000步之间的统计量数值,参考上述“中间变量”的趋势特征提取方法,获取该统计量的时间序列周期特征信息。
提取数据文件的输出特征,即提取数据文件的大小,包括:
对于能够明确固定数量并且确定文件名的文件,通过高性能计算系统自带的命令查看文件大小;对于数量动态增长的文件,基于高性能计算系统自带的命令,通过编写shell脚本自动化运行后获取当前目录下所有文件的数量和所有文件的大小。
为便于形成输出特征,可以编写shell脚本进行定期查看,并且记录定期查看时的时间。对于模式软件的文件输出,一般具有周期性特征。当监测的时间间隔足够小时,能够监测到数据写出的时刻;当时间间隔较大时,则按固定时间周期统计文件大小和文件数量变化特征。
提取运行时计算负载,即通过高性能计算系统自带的监测命令获取模式作业运行时所有计算节点的计算性能负载;
提取运行时内存负载,即通过高性能计算系统自带的监测命令获取模式作业运行时的所有计算节点的内存负载;
提取网络利用率,即通过高性能计算系统已有的网络监测命令获取模式作业运行时的所有计算节点的网络利用率负载。
提取MPI通讯特征,包括:在模式作业运行前,采用已有的mpi profile工具对源程序进行编译器插桩后编译生成新的可执行程序。设置环境变量后启用通讯矩阵profie功能,提交执行插桩后的可执行程序,即生成profile文件;将profile文件用已有的profile文件查看工具打开后,即可图形化显示MPI通讯量和通讯次数矩阵;导出为txt格式的通讯矩阵文件,即MPI通讯特征。
进一步优选的,通过已有的数据处理工具函数获取每个变量数据序列各峰值的位置,相邻两个峰值之间的步数即为周期,通过多个峰值计算得到多个周期值,取其均值为该变量的周期;
通过已有的数据处理工具函数可获取该变量的周期性特征,包括在一个周期内幅值和相位的变化情况。
本发明的有益效果为:
本发明以及时发现故障、提前预警异常为出发点,综合底层的资源状态情况和资源性能情况、模式作业的状态信息和中间变量等,提出了一套包括基于定性信息的状态特征和基于性能参数的量化特征的模式运行时特征。基于定性信息的状态特征,通过对有限个状态的直接判断,可有效发现一定类别的故障,提高了故障发现的及时性。基于性能参数的量化特征,通过相关性分析、常态范围判别、固定周期预测、时间序列分析等技术,能够及时识别模式作业的运行异常,能够有效发现计算节点挂死、作业无输出、中间变量异常等目前存在的不便识别和判断的现象,有利于模式的业务连续性运行保障。
附图说明
图1为本发明基于模式运行时特征的模式作业运行状态分析方法实现的硬件系统示意图;
图2为本发明运行时故障检测流程图;
图3为本发明运行时模式作业性能异常分析流程图;
图4(a)为基于本发明运行一次ROMS模式软件时所用计算节点的计算负载曲线图;
图4(b)为抽取ROMS模式稳定运行期间所用计算节点的部分计算负载曲线图;
图5(a)为基于本发明运行一次ROMS模式软件时部分时间段内数据文件写出的字节数曲线图;
图5(b)为图5(a)的一次差分曲线图;
图6(a)为基于本发明运行一次ROMS模式软件时中间变量POTEN-ENRG的预测曲线示意图;
图6(b)为基于本发明运行一次ROMS模式软件时中间变量POTEN-ENRG的预测误差曲线示意图。
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例
一种基于模式运行时特征的模式作业运行状态分析方法,该方法实现依托于已有的高性能计算系统和运行状态数据提取工具,如图1所示。高性能计算系统包括由若干高速处理器组成的计算节点、提供高速数据读写的文件系统、提供高速网络互联链路的IB交换机、提供管理网络链路的以太网交换机、用于系统管理的控制管理节点和网络管理节点、为用户提供接入服务的登录节点,运行状态数据提取工具包括运行于文件系统、登录节点、控制管理节点、网络管理节点的已有工具以及根据需要定制开发的运行于特征提取节点的软件工具。
本实施例在神威太湖之光高性能计算系统环境下,采用4个神威众核处理器,编号为vn10、vn11、vn12、vn13,共16个核组的16个MPI进程规模,每处理器32GB内存,计算负载、内存负载参数均按照每1秒提取一次。运行的模式软件为ROMS(v3.7)针对国产众核化后的版本,算例为胶州湾区域M2分潮驱动的潮流,区域网格为310x211x8,模式步长为20秒,共模拟14858步。包括:
(1)实时提取基于定性信息的状态特征、基于性能参数的量化特征
状态特征包括计算节点状态、网络状态、文件系统状态、队列状态、作业状态。
计算节点状态,是指高性能计算系统中计算节点的状态;一般包括idle节点空闲、busy节点繁忙、boot节点正在引导、sleeping节点正在睡眠过程中、sleep节点已睡眠、wakeup节点正在唤醒、hardft节点硬件故障、down节点宕机或监测不通、softft节点软件故障等状态。
网络状态,是指高性能计算系统中计算节点的网络接口卡状态及交换机接口状态;一般包括ok正常、down停止、init初始化、need_reboot需要重新加载系统、lid_err节点lid错误、guid_err节点guid错误、iblink_err节点IB链路故障等状态、除pcie_8x5g之外的PCIE链路状态等。
文件系统状态,是指高性能计算系统中全局文件系统的状态及计算节点挂载的文件系统客户端状态;一般包括ok正常、unmounted未挂载、error错误等状态。
队列状态,是指高性能计算系统中计算节点资源队列的状态;一般包括Open:Active即开启:激活、Close:Inactive即关闭:非活动等状态。
作业状态,是指高性能计算系统中用户提交的作业程序的运行状态;一般包括pend作业正在调度、starting作业正在启动运行、run作业正在运行、done作业正常完成并退出、exit作业异常完成并退出、degrade作业正在进行局部降级、degraded作业降级完成等状态。
神威蓝光和太湖之光超级计算机环境下,通过cnload命令提取计算节点状态、网络状态、文件系统状态;通过bqueues命令提取队列状态;通过bjobs命令提取作业状态。
量化特征包括模式运行速度、模式运行时中间变量和统计量的趋势特征、数据文件的输出特征、运行时计算负载、运行时内存负载、网络利用率、MPI通讯特征。
模式运行速度是指每小时模拟完成的模式年,或模拟完成一模式年所需要的时间;当模式软件版本确定、算例确定、计算规模等确定后,在模式作业的运行过程中,模式运行速度则呈现基本固定的特征。
模式运行时中间变量和统计量的趋势特征,是指随着模拟步数的增加,中间变量和统计量的数值所呈现出来的变化趋势;中间变量,是指模式运行过程中输出的用以监测模式实时运行状态的变量;统计量,是指用来对模式运行过程中的实时运行数据进行分析和检验的变量。
随数值模式软件的不同,对应的中间变量和统计量不同。对于海洋数值模式ROMS,中间变量包括KINETIC_ENRG、POTEN_ENRG、TOTAL_ENRG、NET_VOLUME,统计量包括Cu、Cv、Cw、Max-Speed等。对于海洋数值模式的中间变量,一般运行3000步至5000步后即进入周期性稳定运行状态,通过波数、振幅、相位和周期等来表征。对于海洋数值模式的统计量,一般有周期性变化和随机性变化两种趋势特征。对于统计量,当画图显示数据时,如果呈现周期性变化,则类似于中间变量的周期性表征方式;否则,无明显的变化趋势,则统计其最小值min、最大值max和平均值mean后,计算上偏差=最大值max-平均值mean,下偏差=平均值mean-最小值min,通过平均值、上偏差和下偏差来表征。通过对每步的统计量数值进行绘图展示,即可辨别是属于周期性变化趋势还是属于随机性变化趋势。
数据文件的输出特征包括实时写出、周期性写出;由模式软件本身的设计和实现决定。检测文件数量的变化和文件大小的变化情况,通过固定时间段内生成新文件的数量以及写出的数据量描述。
运行时计算负载,指计算节点的负载(Load)或处理器(CPU)利用率;高性能计算领域中的计算特征主要是稳定型计算负载。稳定型计算负载,指在模式的运行期间,计算负载在一个数值附近上下微小浮动。按计算节点的一分钟负载(1’load)计,通过每个计算节点的计算负载、所有计算节点的平均负载、上偏差及下偏差描述。
运行时内存负载,指计算节点的内存(MEM)利用率;高性能计算领域中的内存特征主要是稳定型内存负载。稳定型内存负载,指在模式的运行期间,内存负载在一个数值附近上下微小浮动。按计算节点使用的内存量计,根据计算节点架构的差别,对于众核节点可以再细分为主核内存使用量和从核内存使用量;通过每个计算节点的内存使用量、所有计算节点的平均内存使用量、上偏差及下偏差描述。
网络利用率,指计算节点的网络接口(NIC)发送利用率和接收利用率,包括稳定型网络利用率和周期性变化型网络利用率。稳定型网络利用率,指在模式的运行期间,网络利用率在一个数值附近上下微小浮动,或者在一个有限范围内随机变化;周期变化型网络利用率,指在模式的运行期间,网络利用率呈现有规律的增减变化。通过对各计算节点的网络利用率数值进行绘图展示,即可辨别是属于周期变化型还是属于稳定型。按计算节点本地高速网卡的网络发送速率和网络接收速率计;对于稳定型网络利用率,通过每个计算节点的网络发送和接收速率、所有计算节点的平均网络发送和接收速率、上偏差及下偏差描述;对于周期性变化型网络利用率,需获取至少一个周期内的完整网络发送和接收速率的周期性特征。
MPI通讯特征是指模式运行期间各进程间的通讯次数、通讯数据量;按模式运行期间各进程间的通讯次数和通讯数据量计;分别通过一个二维方阵来描述;一般按一次模式完整运行的总体进行表征,也可以拆分到模式运行期间不同的流程进行表征。
提取模式运行速度,包括:获取模式运行的总时间(墙钟时间,按小时计);从模式配置文件或模式作业运行日志获取模式模拟的时长(按模式年或模式天计);模式模拟的时长除以模式运行的总时间即为每小时模拟完成的模式年,取其倒数即换算为模拟完成一模式年所需要的时间;模式运行的总时间为作业结束时间与作业开始时间的差值,作业结束时间、作业开始时间有两种获取方式:a)查询作业管理系统日志,根据jobid信息,获得模式作业结束时间、作业开始时间;b)查询模式作业运行日志,取input时间即为作业开始时间、done时间即为作业结束时间;
提取模式运行时中间变量趋势特征,包括:实时读取模式作业运行日志,提取第5001步至第10000步之间的中间变量数值,获得该中间变量数值的时间序列周期特征信息,通过振幅、相位和周期等来表征;在R语言中,给定已监测到的包含多个周期的变量数值,通过两个相邻max取值或相邻min取值获取该变量的周期,在{2,3,4,5}内选取波数,使得通过arima产生的该变量的估计值与监测值之间的平均偏差较小,最后通过R语言的harmonic函数即可识别获取该变量时间序列的周期特征。
提取模式运行时统计量趋势特征,统计量包括随机性变化的统计量、周期性变化的统计量,包括:实时读取模式作业运行日志,获取每一步的统计量数值;一般运行3000步至5000步后即进入随机性或周期性趋势进行变化。
对于随机性变化的统计量,其数值变化无明显的变化规律(如周期性、稳定增长、稳定递减等),统计其最小值min、最大值max、平均值mean,计算上偏差=最大值max-平均值mean,下偏差=平均值mean-最小值min,取平均值、上偏差、下偏差为随机性变化的统计量的特征信息;
对于周期性变化的统计量,通过提取5001步至10000步之间的统计量数值,参考上述“中间变量”的趋势特征提取方法,获取该统计量的时间序列周期特征信息。
提取数据文件的输出特征,即提取数据文件的大小,包括:
对于能够明确固定数量并且确定文件名的文件,通过Linux下stat命令查看,取Size后的数据即是该文件的大小;对于数量动态增长的文件,通过ls-lR./|grep"^-"|wc-l命令获取当前目录下所有文件的数量,通过du-sh./获取所有文件的大小。
为便于形成输出特征,可以编写shell脚本进行定期查看,并且记录定期查看时的时间,取date结果即可。对于模式软件的文件输出,一般具有周期性特征。当监测的时间间隔足够小时,能够监测到数据写出的时刻;当时间间隔较大时,则按固定时间周期统计文件大小和文件数量变化特征。
提取运行时计算负载,即通过高性能计算系统自带的监测命令提取运行时所有计算节点的计算性能负载。在神威蓝光和太湖之光超级计算机环境下,cnload命令即可获取vn节点的1’load性能。统计最小值minL、最大值maxL和平均值meanL后,计算上偏差、下偏差,通过计算出的平均值、上偏差和下偏差来表示运行时计算负载;同时,通过集群系统自带监测命令也能获取到计算节点的计算核心数量。
提取运行时内存负载,即通过高性能计算系统自带的监测命令获取模式作业运行时的所有计算节点的内存负载。在神威蓝光和太湖之光超级计算机环境下,cnload命令即可获取vn节点的剩余内存大小,空闲时的可用内存大小与运行时的剩余内存大小之差,即为模式运行时占用内存大小。统计最小值minM、最大值maxM和平均值meanM后,计算上偏差、下偏差,通过计算出的平均值、上偏差和下偏差来表示运行时内存负载。
提取网络利用率,即通过高性能计算系统已有的网络监测命令获取模式作业运行时的所有计算节点的网络利用率负载。在神威蓝光和太湖之光超级计算机环境下,登录IBA管理主机,执行perfquery lid号port号,获得send_data和recv_data参数值,再根据时间间隔换算得出该端口的发送和接收速率。对于稳定型网络利用率,统计其最小值minNs(发送)/minNr(接收)、最大值maxNs(发送)/maxNr(接收)和平均值meanNs(发送)/meanNr(接收)后,计算上偏差、下偏差,通过计算出的平均值、上偏差和下偏差来表示;对于周期变化型网络利用率,参考上述“中间变量”的趋势特征提取方法,获取其时间序列周期特征信息来表示。
提取MPI通讯特征,包括:在模式作业运行前,采用tau工具对源程序进行编译器插桩后编译生成新的可执行程序,也可以采用mpiP或HPCToolKits工具、采用二进制等其它插桩方式。设置环境变量TAU_PROFILE=1和TAU_COMM_MATRIX=1后,提交执行插桩后的可执行程序,即生成profile文件;将profile文件用tau ParaProf打开后,查看其Communication Matrix即可图形化显示通讯量和通讯次数矩阵;通过Export Profile即导出为txt格式的通讯矩阵文件,即MPI通讯特征。
通过R语言的which.max函数获取各峰值的位置,相邻两个峰值之间的步数即为周期,通过多个峰值计算得到多个周期值,取均值为该中间变量数值的周期;
通过R语言的harmonic函数可获取该变量的周期性特征,包括在一个周期内幅值和相位的变化情况。
(2)根据步骤(1)实时提取的状态特征判别模式作业运行状态
如图2所示,作业运行过程中,当计算节点状态为busy(繁忙)、SPE-busy(从核繁忙)之外的状态时,或计算核心的数量异常时,则判定作业运行过程中计算节点发生故障,作业运行中断;例如,对于国产神威众核,计算核心包括主核MPES和从核SPES,数量异常是指主核MPES小于4、从核SPES小于256或SPES不是64的倍数;否则,作业运行过程中计算节点工作正常;
当网络状态即网络接口为ok之外的状态时,则判定网络系统发生故障,作业运行中断;对应的计算节点的总体状态为故障;否则,网络系统工作正常;
当文件系统状态为ok之外的状态时,则判定文件系统发生故障,作业运行中断;对应的计算节点的总体状态为故障;否则,文件系统工作正常;
当队列状态为Open:Active即开启:激活之外的状态时,则判定队列对应的作业发生故障,作业运行中断;否则,队列对应的作业工作正常;
当作业状态为starting即作业正在启动运行、pend即作业正在调度、run即作业正在运行、done即作业正常完成并退出之外的状态时,或者当作业状态为pend且该作业需要的资源充足,则判定对应的作业的总体状态为故障,作业运行发生中断;否则,作业工作正常;
当同时判定作业运行过程中计算节点工作正常、网络系统工作正常、文件系统工作正常、队列对应的作业工作正常、作业工作正常时,进入步骤(3);否则,直接判定为故障,结束。
(3)根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常
如图3所示,模式作业性能发生异常,是指作业状态仍处于运行状态,还没有发生中断时,根据以往的运行性能数据分析判断为当前的性能异常。如果模式作业性能发生异常,则及时提醒系统管理员和用户,人工进行离线分析和处理;否则,正常。包括:
(Ⅰ)通过相关性分析方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常;包括:
A、判断计算节点运行状态、计算性能负载、内存负载的使用时段是否基本一致
将计算节点运行状态、计算性能负载、内存负载等参数的监测数值分别视为一个数据序列,计算其中任意两个数据序列的相关系数r。如果所有组合的两个数据序列的相关系数均符合abs(r)≥0.85,则判定计算节点运行状态、计算性能负载、内存负载的使用时段基本一致,进入步骤B;否则,则判定计算节点运行状态、计算性能负载、内存负载的使用时段不一致,判定模式作业性能发生异常;
B、判断计算节点运行状态、计算性能负载、内存负载的使用变化时间点是否基本一致
将计算节点运行状态、计算性能负载、内存负载等参数的监测数值分别视为一个数据序列,计算每个数据序列的一次差分,找到一次差分的最大值和最小值,在已知性能监测的取样周期(指提取性能参数的时间间隔,如5秒、15秒等)时,如果各参数数据序列一次差分的最大值所在位置的时间间隔tmax、各参数数据序列一次差分的最小值所在位置的时间间隔tmin满足tmax≤1min且tmin≤1min,则判定计算节点运行状态、计算性能负载、内存负载的使用变化时间点基本一致,进入步骤(Ⅱ);否则,判定计算节点运行状态、计算性能负载、内存负载的使用变化时间点不一致,判定模式作业性能发生异常。
类似地,可采用上述A和B方法分析同时在运行模式作业的多个计算节点之间的一致性。
在R语言中,通过cor函数计算两个数据序列的相关系数r;通过diff函数计算每个数据序列的一次差分,通过which.max函数求取各参数差分序列的一次差分的最大值所在的位置;通过which.min函数求取各参数差分序列的一次差分的最小值所在的位置。
(Ⅱ)通过常态范围判别方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常;包括:
C、判断模式运行速度在模式运行过程中是否基本固定:从模式作业运行5000步开始,记录完成5个模式年期间每完成一个模式年所需要的时间,记作T1,T2,...,T5,计算平均值avrT,当后续的每完成一个模式年所需要的时间T满足abs(T-avrT)/avrT≤20%时,则判定模式运行速度在模式运行过程中基本固定,进入步骤D;否则,判定模式运行速度在模式运行过程中不固定,模式作业性能发生异常;
或者,以每小时模拟完成的模式年进行判别,记作Y1,Y2,...,Y5,计算平均值avrY,当后续的每小时完成的模式年数Y满足abs(Y-avrY)/avrY≤20%时,则判定模式运行速度在模式运行过程中基本固定;进入步骤D;否则,判定模式运行速度在模式运行过程中不固定,模式作业性能发生异常;
D、判断模式运行时的部分统计量是否在常态范围内:对于应该在常态范围内的统计量,例如,ROMS模式或MPIPOM模式软件每步的Cu、Cv、Cw、CFL条件值等,提取模式作业5001步至10000步之间的统计量数值,对于每一个变量,分别统计其最大值Ub、最小值Lb,当模式后续运行时的统计量均落在[Lb,Ub]范围内时,则判定该变量在常态范围内,进入步骤E;否则,判定模式运行时该变量不在常态范围内,模式作业性能发生异常;
E、判断同一版本模式软件在同一算例、同等计算规模下的MPI通讯特征是否一致:对于某一版本模式软件的某一算例,由用户确定以某一计算规模下的第一次计算过程中的MPI通讯次数和通讯量为基准,对该算例和该计算规模下的后续其它几次计算过程,当通讯矩阵中每一对发送进程和接收进程保持不变,通讯次数和通讯量上下浮动范围不超过10%时,判定该版本模式软件在同一算例、同等计算规模下的MPI通讯特征一致,进入步骤F;否则,判定该版本模式软件在同一算例、同等计算规模下的MPI通讯特征不一致,模式作业性能发生异常;
F、判断运行时计算负载在模式运行过程中是否基本固定:提取模式作业5001步至10000步之间的计算负载数值,统计其平均值avrL,当后续运行时的计算负载L满足abs(L-avrL)/avrL≤20%时,则判定运行时计算负载在模式运行过程中基本固定,进入步骤G;否则,判定运行时计算负载在模式运行过程中不固定,模式作业性能发生异常;
基于本发明运行一次ROMS模式软件时所用计算节点的计算负载曲线如图4(a)所示。在图4(a)中,横坐标为监测工具的运行时间,纵坐标为计算负载值,每颗国产众核处理器分别对应一条负载曲线。
抽取ROMS模式稳定运行期间所用计算节点的部分计算负载曲线如图4(b)所示。在图4(b)中,横坐标为监测工具的运行时间,纵坐标为计算负载值,每颗国产众核处理器分别对应一条负载曲线,还增加了所有处理器计算负载的平均值上下浮动10%的range曲线。从图4(b)可以看出,每颗国产众核处理器的计算负载曲线均落在上线两条range曲线之间,从而在该运行期间计算负载正常。
G、判断运行时内存负载在模式运行过程中是否基本固定:提取模式作业5001步至10000步之间的内存负载数值,统计其平均值avrM,当后续运行时的内存负载M满足abs(M-avrM)/avrM≤20%时,则判定运行时内存负载在模式运行过程中基本固定,进入步骤H;否则,判定运行时内存负载在模式运行过程中不固定,模式作业性能发生异常;
H、判断部分计算节点进程的网络利用率是否基本稳定:提取模式作业5001步至10000步之间的计算节点网络利用率数值,对于每一个计算节点,分别统计其最大值Uns(发送)/Unr(接收)、最小值Lns(发送)/Lnr(接收);当模式后续运行时该计算节点的网络发送利用率均落在[Lns,Uns]范围内、网络接收利用率均落在在[Lnr,Unr]范围内时,则判定该节点网络利用率在常态范围内,进入步骤(Ⅲ);否则,判定模式运行时该节点网络利用率不在常态范围内,模式作业性能发生异常。
(Ⅲ)通过固定周期预测方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常;包括:
I、判断模式运行日志是否按固定周期性输出:当模式进入正常模拟后,超出1.5个周期仍未监测到日志输出变化,则判定模式作业性能发生异常;否则,进入步骤J。日志输出变化是指周期性增长,包括增长的时间点、增长的大小等。
J、判断模式数据文件写出是否按固定周期性输出:当模式进入正常模拟后,超出1.5个周期仍未监测到数据文件的输出特征表现为周期性增长时,则判定模式作业性能发生异常;否则,进入步骤(Ⅳ)。周期性增长,包括增长的时间点、文件数量的增长、文件大小的增长等。通过模式作业5001步至10000步之间的运行数据,即可获取周期、增长的数量、增长的大小信息,进而预测后续下一个时间周期内的输出行为。
基于本发明运行一次ROMS模式软件时部分时间段内数据文件写出的字节数曲线如图5(a)所示。在图5(a)中,横坐标为监测工具的运行时间,纵坐标为数据文件的当前字节数值。该图实际包括了三个数据文件的顺序写出过程,分别是ocean_his_0001.nc、ocean_his_0002.nc、
ocean_his_0003.nc。从图5(a)基本可以看出周期性稳定增长的趋势。
图5(a)的一次差分曲线如图5(b),横坐标为监测工具的运行时间,纵坐标为数据文件的写入字节数值。基于图5(b),通过which.max函数可以得知ocean_his_0001.nc的初始写入时间在横坐标135处,ocean_his_0002.nc的初始生成时间在横坐标1157处,取其差1022为周期,每次写入的数据量约为2.15e+7字节;在每个数据文件后续的追加写入过程中,两次写入间隔的周期约为40,每次写入的数据量约为1.3e+7字节。文件ocean_his_0003.nc的初始写入时间在横坐标2126处,与ocean_his_0002.nc位置相差969,在周期1022的1.1倍范围内,该次初始写入的数据量也约为2.15e+7字节,后续对该文件追加写入的时间差也均在周期40的1.3倍范围内,每次追加写入的数据量也约为1.3e+7字节,从而在该段运行期间数据文件写入正常。
(Ⅳ)通过时间序列分析方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常。包括:
K、判断模式运行时的实时中间变量数值和部分统计量数值是否符合周期性:对于应该符合周期性的中间变量和统计量,输出的中间变量数值和部分统计量数值,在模式作业运行3000步至5000步后即进入周期性稳定运行状态,呈现显著的周期性特征。在模式作业运行10000步开始,取当前步往后5000步的数据,通过时间序列分析方法,以预测后续2000步的数据,判断监测到的变量值是否符合周期性,例如,对于ROMS模式软件,其KINETIC-ENRG、POTEN-ENRG、TOTAL-ENRG、NET-VOLUME等中间变量和Max-Speed统计量均符合周期性。包括:
1)假设当前步数为s,提取模式作业(s-5000+1)步至s步之间变量的监测数值,按照时间序列格式进行存储为ydat;
2)按中间变量的趋势特征提取方法,获取该变量的时间序列周期特征信息yhar;
3)采用ARIMA模型,选择模型阶(p,d,q)使得ARIMA(p,d,q)估计ydat的平均绝对偏差较小;
4)确定(s+1)步到(s+2000)步的时间序列newyhar;
5)基于前述确定的ARIMA(p,d,q)模型,预测出newyhar所在时间步的值,设定正常值范围为预测值上下浮动5%的范围;
6)实时获取(s+1)步到(s+2000)步的监测数据ydat1;
7)如果变量的监测值超出时间序列预测范围,则判别为作业运行异常;否则,进入步骤L;
例如,在R语言中,主要使用到ts函数、arima函数、residuals函数、harmonic函数、predict函数等。其中,ts函数将一个变量的数据序列值转换为一个时间序列;arima函数采用arima模型对一个时间序列进行模型识别和估计;residuals函数为计算各时间步处估计值与监测值之间的偏差;harmonic函数识别获取一个时间序列的周期特征;predict函数对一个时间序列的后续样本点进行预测。
L、判断模式运行时部分计算节点的实时网络利用率数值是否符合周期性:对于负责数据文件写出的计算节点进程,需要周期性地写出数据文件,因此其网络发送利用率在模式作业运行过程中呈现周期性变化。提取5000步之前的网络发送利用率,识别出负责数据文件写出的计算节点,自10000步开始,对于后续时间步的数据采用时间序列分析方法步骤判断是否符合周期性,当监测值超出时间序列预测范围时,则判别为模式作业运行异常;否则,符合周期性,则模式软件运行正常。其中,考虑到存在一定的背景通信流量,因此容许不超过10%的上下浮动范围。
基于本实施例运行一次ROMS模式软件时中间变量POTEN-ENRG的预测曲线如图6(a)所示,图6(a)中,横坐标为将模拟步数换算后的周期数,周期为2236步,纵坐标为能量值,灰色曲线为POTEN-ENRG(势能)的监测值,黑色曲线为基于ARIMA时间序列分析方法的POTEN-ENRG(势能)的预测值;
基于本实施例运行一次ROMS模式软件时中间变量POTEN-ENRG的预测误差曲线如图6(b)所示,图6(b)中,横坐标为将模拟步数换算后的周期数,纵坐标为能量值,曲线为基于ARIMA时间序列分析方法的POTEN-ENRG(势能)的预测值相对于监测值的偏差,纵坐标为0的横线即以监测值为相对基准线。从图6(a)和图6(b)可以看出,监测值在预测值上下浮动的1%范围内,在该变量周期幅值的2%范围内,从而该变量的计算运行正常。
Claims (6)
1.一种基于模式运行时特征的模式作业运行状态分析方法,其特征在于,包括:
(1)实时提取状态特征、量化特征
所述状态特征包括计算节点状态、网络状态、文件系统状态、队列状态、作业状态;
所述计算节点状态,是指高性能计算系统中计算节点的状态;
所述网络状态,是指高性能计算系统中计算节点的网络接口卡状态及交换机接口状态;
所述文件系统状态,是指高性能计算系统中全局文件系统的状态及计算节点挂载的文件系统客户端状态;
所述队列状态,是指高性能计算系统中计算节点资源队列的状态;
所述作业状态,是指高性能计算系统中用户提交的作业程序的运行状态;
所述量化特征包括模式运行速度、模式运行时中间变量和统计量的趋势特征、数据文件的输出特征、运行时计算负载、运行时内存负载、网络利用率、MPI通讯特征;
所述模式运行速度是指每小时模拟完成的模式年,或模拟完成一模式年所需要的时间;
所述模式运行时中间变量和统计量的趋势特征,是指随着模拟步数的增加,中间变量和统计量的数值所呈现出来的变化趋势;中间变量,是指模式运行过程中输出的用以监测模式实时运行状态的变量;统计量,是指用来对模式运行过程中的实时运行数据进行分析和检验的变量;
所述数据文件的输出特征包括实时写出、周期性写出;
所述运行时计算负载,指计算节点的负载或处理器利用率;
所述运行时内存负载,指计算节点的内存利用率;
所述网络利用率,指计算节点的网络接口发送利用率和接收利用率,包括稳定型网络利用率和周期性变化型网络利用率,稳定型网络利用率,指在模式的运行期间,网络利用率在一个数值附近上下微小浮动,或者在一个有限范围内随机变化;周期变化型网络利用率,指在模式的运行期间,网络利用率呈现有规律的增减变化;
所述MPI通讯特征是指模式运行期间各进程间的通讯次数、通讯数据量;
(2)根据步骤(1)实时提取的状态特征判别模式作业运行状态
作业运行过程中,当计算节点状态为busy、SPE-busy之外的状态时,或计算核心的数量异常时,则判定作业运行过程中计算节点发生故障,作业运行中断;否则,作业运行过程中计算节点工作正常;
当网络状态即网络接口为ok之外的状态时,则判定网络系统发生故障,作业运行中断;否则,网络系统工作正常;
当文件系统状态为ok之外的状态时,则判定文件系统发生故障,作业运行中断;否则,文件系统工作正常;
当队列状态为Open:Active即开启:激活之外的状态时,则判定队列对应的作业发生故障,作业运行中断;否则,队列对应的作业工作正常;
当作业状态为starting即作业正在启动运行、pend即作业正在调度、run即作业正在运行、done即作业正常完成并退出之外的状态时,或者当作业状态为pend且该作业需要的资源充足,则判定对应的作业的总体状态为故障,作业运行发生中断;否则,作业工作正常;
当同时判定作业运行过程中计算节点工作正常、网络系统工作正常、文件系统工作正常、队列对应的作业工作正常、作业工作正常时,进入步骤(3);否则,直接判定为故障,结束;
(3)根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常
模式作业性能发生异常,是指作业状态仍处于运行状态,还没有发生中断时,根据以往的运行性能数据分析判断为当前的性能异常;如果模式作业性能发生异常,则及时提醒系统管理员和用户,人工进行离线分析和处理;否则,正常;
所述步骤(3),包括:
(Ⅰ)通过相关性分析方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常;
(Ⅱ)通过常态范围判别方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常;
(Ⅲ)通过固定周期预测方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常;
(Ⅳ)通过时间序列分析方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常。
2.根据权利要求1所述的一种基于模式运行时特征的模式作业运行状态分析方法,其特征在于,所述步骤(Ⅰ),通过相关性分析方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常,包括:
A、判断计算节点运行状态、计算性能负载、内存负载的使用时段是否基本一致
将计算节点运行状态、计算性能负载、内存负载参数的监测数值分别视为一个数据序列,计算其中任意两个数据序列的相关系数r,如果所有组合的两个数据序列的相关系数均符合abs(r)≥0.85,则判定计算节点运行状态、计算性能负载、内存负载的使用时段基本一致,进入步骤B;否则,则判定计算节点运行状态、计算性能负载、内存负载的使用时段不一致,判定模式作业性能发生异常;
B、判断计算节点运行状态、计算性能负载、内存负载的使用变化时间点是否基本一致
将计算节点运行状态、计算性能负载、内存负载参数的监测数值分别视为一个数据序列,计算每个数据序列的一次差分,找到一次差分的最大值和最小值,在已知性能监测的取样周期内,如果各参数数据序列一次差分的最大值所在位置的时间间隔tmax、各参数数据序列一次差分的最小值所在位置的时间间隔tmin满足tmax≤1min且tmin≤1min,则判定计算节点运行状态、计算性能负载、内存负载的使用变化时间点基本一致,进入步骤(Ⅱ);否则,判定计算节点运行状态、计算性能负载、内存负载的使用变化时间点不一致,判定模式作业性能发生异常。
3.根据权利要求1所述的一种基于模式运行时特征的模式作业运行状态分析方法,其特征在于,所述步骤(Ⅱ),通过常态范围判别方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常,包括:
C、判断模式运行速度在模式运行过程中是否基本固定:从模式作业运行5000步开始,记录完成5个模式年期间每完成一个模式年所需要的时间,记作T1,T2,...,T5,计算平均值avrT,当后续的每完成一个模式年所需要的时间T满足abs(T-avrT)/avrT≤20%时,则判定模式运行速度在模式运行过程中基本固定,进入步骤D;否则,判定模式运行速度在模式运行过程中不固定,模式作业性能发生异常;
或者,以每小时模拟完成的模式年进行判别,记作Y1,Y2,...,Y5,计算平均值avrY,当后续的每小时完成的模式年数Y满足abs(Y-avrY)/avrY≤20%时,则判定模式运行速度在模式运行过程中基本固定;进入步骤D;否则,判定模式运行速度在模式运行过程中不固定,模式作业性能发生异常;
D、判断模式运行时的部分统计量是否在常态范围内:提取模式作业5001步至10000步之间的中间变量和统计量数值,对于每一个变量,分别统计其最大值Ub、最小值Lb,当模式后续运行时的统计量均落在 [Lb,Ub]范围内时,则判定该变量在常态范围内,进入步骤E;否则,判定模式运行时该变量不在常态范围内,模式作业性能发生异常;
E、判断同一版本模式软件在同一算例、同等计算规模下的MPI通讯特征是否一致:对于某一版本模式软件的某一算例,由用户确定以某一计算规模下的第一次计算过程中的MPI通讯次数和通讯量为基准,对该算例和该计算规模下的后续其它几次计算过程,当通讯矩阵中每一对发送进程和接收进程保持不变,通讯次数和通讯量上下浮动范围不超过10%时,判定该版本模式软件在同一算例、同等计算规模下的MPI通讯特征一致,进入步骤F;否则,判定该版本模式软件在同一算例、同等计算规模下的MPI通讯特征不一致,模式作业性能发生异常;
F、判断运行时计算负载在模式运行过程中是否基本固定:提取模式作业5001步至10000步之间的计算负载数值,统计其平均值avrL,当后续运行时的计算负载L满足abs(L-avrL)/avrL≤20%时,则判定运行时计算负载在模式运行过程中基本固定,进入步骤G;否则,判定运行时计算负载在模式运行过程中不固定,模式作业性能发生异常;
G、判断运行时内存负载在模式运行过程中是否基本固定:提取模式作业5001步至10000步之间的内存负载数值,统计其平均值avrM,当后续运行时的计算负载M满足abs(M-avrM)/avrM≤20%时,则判定运行时内存负载在模式运行过程中基本固定,进入步骤H;否则,判定运行时内存负载在模式运行过程中不固定,模式作业性能发生异常;
H、判断部分计算节点进程的网络利用率是否基本稳定:提取模式作业5001步至10000步之间的计算节点网络利用率数值,对于每一个计算节点,分别统计其最大值Uns/Unr、最小值Lns/Lnr;当模式后续运行时该计算节点的网络发送利用率均落在[Lns,Uns]范围内、网络接收利用率均落在在[Lnr,Unr]范围内时,则判定该节点网络利用率在常态范围内,进入步骤(Ⅲ);否则,判定模式运行时该节点网络利用率不在常态范围内,模式作业性能发生异常。
4.根据权利要求1所述的一种基于模式运行时特征的模式作业运行状态分析方法,其特征在于,所述步骤(Ⅲ),通过固定周期预测方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常,包括:
I、判断模式运行日志是否按固定周期性输出:当模式进入正常模拟后,超出1.5个周期仍未监测到日志输出变化,则判定模式作业性能发生异常;否则,进入步骤J;
J、判断模式数据文件写出是否按固定周期性输出:当模式进入正常模拟后,超出1.5个周期仍未监测到数据文件的输出特征表现为周期性增长时,则判定模式作业性能发生异常;否则,进入步骤(Ⅳ)。
5.根据权利要求1所述的一种基于模式运行时特征的模式作业运行状态分析方法,其特征在于,所述步骤(Ⅳ),通过时间序列分析方法,根据步骤(1)实时提取的量化特征分析模式作业性能是否发生异常,包括:
K、判断模式运行时的实时中间变量数值和部分统计量数值是否符合周期性:在模式作业运行10000步开始,取当前步往后5000步的数据,通过时间序列分析方法,以预测后续2000步的数据,判断监测到的变量值是否符合周期性,包括:
1)假设当前步数为s,提取模式作业(s-5000+1)步至s步之间变量的监测数值,按照时间序列格式进行存储为ydat;
2)按中间变量的趋势特征提取方法,获取该变量的时间序列周期特征信息yhar;
3)采用ARIMA模型,选择模型阶(p,d,q)使得ARIMA(p,d,q)估计ydat的平均绝对偏差较小;
4)确定(s+1)步到(s+2000)步的时间序列newyhar;
5)基于前述确定的ARIMA(p,d,q)模型,预测出newyhar所在时间步的值,设定正常值范围为预测值上下浮动10%的范围;
6)获取(s+1)步到(s+2000)步的监测数据ydat1;
7)如果变量的监测值超出时间序列预测范围,则判别为作业运行异常;否则,进入步骤L;
L、判断模式运行时部分计算节点的实时网络利用率数值是否符合周期性:提取5000步之前的网络发送利用率,识别出负责数据文件写出的计算节点,自10000步开始,对于后续时间步的数据采用时间序列分析方法步骤判断是否符合周期性,当监测值超出时间序列预测范围时,则判别为模式作业运行异常;否则,符合周期性,则模式软件运行正常。
6.根据权利要求1-5任一项所述的一种基于模式运行时特征的模式作业运行状态分析方法,其特征在于,所述步骤(1),实时提取量化特征,包括:
提取模式运行速度,包括:获取模式运行的总时间;从模式配置文件或模式作业运行日志获取模式模拟的时长;模式模拟的时长除以模式运行的总时间即为每小时模拟完成的模式年,取其倒数即换算为模拟完成一模式年所需要的时间;模式运行的总时间为作业结束时间与作业开始时间的差值,作业结束时间、作业开始时间有两种获取方式:a)查询作业管理系统日志,根据jobid信息,获得模式作业结束时间、作业开始时间;b)查询模式作业运行日志,取input时间即为作业开始时间、done时间即为作业结束时间;
提取模式运行时中间变量趋势特征,包括:实时读取模式作业运行日志,提取第5001步至第10000步之间的中间变量数值,获得该中间变量数值的时间序列周期特征信息,通过振幅、相位和周期来表征;
提取模式运行时统计量趋势特征,统计量包括随机性变化的统计量、周期性变化的统计量:
对于随机性变化的统计量,其数值变化无明显的变化规律,统计其最小值min、最大值max、平均值mean,计算上偏差=最大值max-平均值mean,下偏差=平均值mean-最小值min,取平均值、上偏差、下偏差为随机性变化的统计量的特征信息;
对于周期性变化的统计量,通过提取5001步至10000步之间的统计量数值,获取该统计量的时间序列周期特征信息;
提取数据文件的输出特征,即提取数据文件的大小,包括:
对于能够明确固定数量并且确定文件名的文件,查看该文件的大小;对于数量动态增长的文件,获取当前目录下所有文件的数量和所有文件的大小;
提取运行时计算负载,即通过高性能计算系统自带的监测命令提取运行时所有计算节点的计算性能负载;
提取运行时内存负载,即通过高性能计算系统自带的监测命令获取模式作业运行时的所有计算节点的内存负载;
提取网络利用率,即通过高性能计算系统已有的网络监测命令获取模式作业运行时的所有计算节点的网络利用率负载;
提取MPI通讯特征,包括:在模式作业运行前,对源程序进行编译器插桩后编译生成新的可执行程序,设置环境变量启用通讯矩阵profile功能,提交执行插桩后的可执行程序,即生成profile文件;将profile文件打开后,即可图形化显示MPI通讯量和通讯次数矩阵;导出为txt格式的通讯矩阵文件,即MPI通讯特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810353590.4A CN108628727B (zh) | 2018-04-19 | 2018-04-19 | 一种基于模式运行时特征的模式作业运行状态分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810353590.4A CN108628727B (zh) | 2018-04-19 | 2018-04-19 | 一种基于模式运行时特征的模式作业运行状态分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108628727A CN108628727A (zh) | 2018-10-09 |
CN108628727B true CN108628727B (zh) | 2021-06-01 |
Family
ID=63705555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810353590.4A Active CN108628727B (zh) | 2018-04-19 | 2018-04-19 | 一种基于模式运行时特征的模式作业运行状态分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108628727B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109831358B (zh) * | 2019-01-31 | 2021-01-01 | 北京达佳互联信息技术有限公司 | 一种客户端流量统计方法、装置、服务器及可读存储介质 |
CN111123720B (zh) * | 2019-12-11 | 2023-12-19 | 海尔优家智能科技(北京)有限公司 | 一种设备自清洁提醒方法、系统及服务器 |
CN111367640B (zh) * | 2020-03-06 | 2023-08-15 | 咪咕文化科技有限公司 | 数据统计周期确定方法、装置、电子设备及存储介质 |
CN111552524B (zh) * | 2020-05-06 | 2023-10-13 | Oppo(重庆)智能科技有限公司 | 一种插件加载方法、装置及计算机可读存储介质 |
CN112269650A (zh) * | 2020-12-18 | 2021-01-26 | 北京达佳互联信息技术有限公司 | 任务调度方法、装置、电子设备和存储介质 |
CN113310666A (zh) * | 2021-04-26 | 2021-08-27 | 安徽建筑大学 | 一种基于发光特征的led灯具故障诊断方法与装置 |
CN113722198A (zh) * | 2021-09-02 | 2021-11-30 | 中国建设银行股份有限公司 | 脚本作业提交控制方法及装置、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1866765A4 (en) * | 2005-03-08 | 2008-09-03 | Harris Corp | SYSTEM FOR RECORDING TRANSITIONS OF OPERATING STATES AND EVENTS FOR AN RF TRANSMITTER |
CN101882109A (zh) * | 2010-07-16 | 2010-11-10 | 中国工商银行股份有限公司 | 一种基于银行业务的软件性能分析系统及方法 |
CN103049365A (zh) * | 2012-11-07 | 2013-04-17 | 北京宏德信智源信息技术有限公司 | 信息与应用资源运行状态监控及评价方法 |
CN103970611A (zh) * | 2014-05-05 | 2014-08-06 | 神华集团有限责任公司 | 基于计算机集群的任务处理方法 |
CN104407977A (zh) * | 2014-12-08 | 2015-03-11 | 北京航空航天大学 | 基于模型检测的分阶段任务系统的自动化联调测试方法 |
CN107704361A (zh) * | 2017-09-16 | 2018-02-16 | 广西电网有限责任公司电力科学研究院 | 一种输变电设备监测平台基础资源监控系统 |
-
2018
- 2018-04-19 CN CN201810353590.4A patent/CN108628727B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1866765A4 (en) * | 2005-03-08 | 2008-09-03 | Harris Corp | SYSTEM FOR RECORDING TRANSITIONS OF OPERATING STATES AND EVENTS FOR AN RF TRANSMITTER |
CN101882109A (zh) * | 2010-07-16 | 2010-11-10 | 中国工商银行股份有限公司 | 一种基于银行业务的软件性能分析系统及方法 |
CN103049365A (zh) * | 2012-11-07 | 2013-04-17 | 北京宏德信智源信息技术有限公司 | 信息与应用资源运行状态监控及评价方法 |
CN103970611A (zh) * | 2014-05-05 | 2014-08-06 | 神华集团有限责任公司 | 基于计算机集群的任务处理方法 |
CN104407977A (zh) * | 2014-12-08 | 2015-03-11 | 北京航空航天大学 | 基于模型检测的分阶段任务系统的自动化联调测试方法 |
CN107704361A (zh) * | 2017-09-16 | 2018-02-16 | 广西电网有限责任公司电力科学研究院 | 一种输变电设备监测平台基础资源监控系统 |
Non-Patent Citations (1)
Title |
---|
机械设备运行状态实时监测与评价方法研究;朱峻言;《中国优秀硕士学位论文全文数据库》;20170315(第03期);J145-329 * |
Also Published As
Publication number | Publication date |
---|---|
CN108628727A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108628727B (zh) | 一种基于模式运行时特征的模式作业运行状态分析方法 | |
Kavulya et al. | An analysis of traces from a production mapreduce cluster | |
US8086882B2 (en) | Energy measurement techniques for computing systems | |
CN107302450B (zh) | 一种数据采集任务变更方法及装置 | |
Xiong et al. | vPerfGuard: An automated model-driven framework for application performance diagnosis in consolidated cloud environments | |
CN111737095A (zh) | 批处理任务时间监控方法、装置、电子设备及存储介质 | |
US20100280673A1 (en) | Systems and Methods for Analyzing Reporting Data | |
CN113240289A (zh) | 一种电网调度控制系统运行状态评估方法及系统 | |
Koziolek et al. | A large-scale industrial case study on architecture-based software reliability analysis | |
EP2951654B1 (en) | Methods and systems for online monitoring using a variable data sampling rate | |
US11740122B2 (en) | Autonomous discrimination of operation vibration signals | |
CN112994972B (zh) | 一种分布式探针监测平台 | |
EP2324406A1 (en) | Method and apparatus for monitoring the performance of a power delivery control system | |
CN112580961A (zh) | 基于电网信息系统运行风险预警方法及装置 | |
CN116719664B (zh) | 基于微服务部署的应用和云平台跨层故障分析方法及系统 | |
WO2020027931A1 (en) | Real time telemetry monitoring tool | |
WO2023181241A1 (ja) | 監視サーバ装置、システム、方法、及びプログラム | |
Cinque et al. | A logging approach for effective dependability evaluation of complex systems | |
CN114819367A (zh) | 一种基于工业互联网的公共服务平台 | |
CN113138896A (zh) | 一种应用运行情况的监控方法、装置和设备 | |
Javadi et al. | Mining for availability models in large-scale distributed systems: A case study of seti@ home | |
Falai et al. | Quantitative evaluation of distributed algorithms using the neko framework: The nekostat extension | |
KR20160147493A (ko) | 신뢰구간에 기반한 에너지 절감 방법 및 이를 이용한 장치 | |
Sabetta et al. | Measuring performance metrics: Techniques and tools | |
Saeedizade et al. | I/O Burst Prediction for HPC Clusters using Darshan Logs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |