CN113704075B - 一种基于故障日志的高性能计算系统故障预测方法 - Google Patents

一种基于故障日志的高性能计算系统故障预测方法 Download PDF

Info

Publication number
CN113704075B
CN113704075B CN202111117395.XA CN202111117395A CN113704075B CN 113704075 B CN113704075 B CN 113704075B CN 202111117395 A CN202111117395 A CN 202111117395A CN 113704075 B CN113704075 B CN 113704075B
Authority
CN
China
Prior art keywords
fault
data
prediction
time
layer
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
Application number
CN202111117395.XA
Other languages
English (en)
Other versions
CN113704075A (zh
Inventor
刘杰
方娇丽
左克
李胜国
迟利华
胡庆丰
龚春叶
甘新标
杨博
陈旭光
肖调杰
徐涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202111117395.XA priority Critical patent/CN113704075B/zh
Publication of CN113704075A publication Critical patent/CN113704075A/zh
Application granted granted Critical
Publication of CN113704075B publication Critical patent/CN113704075B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Fuzzy Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于故障日志的高性能计算系统故障预测方法,目的是通过对故障的预测,达到高性能计算系统的主动容错,提高应用程序实际计算性能。技术方案是利用并分析处理高性能计算系统工作故障日志,对故障日志进行清洗处理,得到故障时间序列数据集C,使用K‑means方法对C进行聚类,得到K个故障类型对应的K个聚类;然后建立故障预测模型,采用K个聚类对故障预测模型进行训练,训练后的故障预测模型对故障发生时间和故障发生节点位置进行预测。采用本发明可有效提高故障预测准确度,使得能够在故障发生前规避故障结点,并在故障发生后高速定位故障,加强机器运维高效性,提高系统的可靠性。

Description

一种基于故障日志的高性能计算系统故障预测方法
技术领域
本发明涉及基于人工智能的故障预测方法,尤指面向高性能计算系统故障日志的故障预测方法。
背景技术
为了满足科学研究和工程应用的需求,超级计算机的性能不断提升,带来系统规模不断增大。10P~100P量级(P级是每秒运算速度达到2600万亿次)高性能计算机的规模目前已经达到数十万处理器规模。伴随着不断增加的系统规模和复杂度,高性能计算机面临着前所未有的可靠性挑战。尽管系统部件的设计中采取了多种多样的有效措施提高部件可靠性,但系统规模和复杂度的增长仍然远远超过系统部件可靠性的改善。最近的研究表明,未来E级(每秒可进行百亿亿次数学运算)高性能计算机的平均无故障时间只有半个小时左右。根据国际E级计算挑战的分析,未来E级计算系统下,当前的容错技术例如全局检查点将变得不实用。需要更好的理解故障根本原因,进一步优化现有的系统检查点技术;改善RAS数据的收集和分析,进一步深入对故障的理解,开发条件状态感知的、系统级故障预测技术来进一步优化检查点和在线迁移的时间。因此,构建下一代E级高性能计算机,需要采用新的技术提升系统自身的可靠性,降低系统容错开销。无论是基于故障预测技术的前瞻式避错,还是基于检查点技术的被动式容错,或者提升系统可靠性的调度技术,都需要对系统故障特征进行精细的定性与定量描述,并进行准确的故障预测。许多研究人员已经开展了大规模并行系统故障分析的研究并进行预测,但受限于大规模并行系统故障数据获取的约束,目前还缺乏对100P量级大规模并行系统的故障特征进行全面的、细粒度的预测方法。下面就比较有代表性的研究作简要分析。卡耐基梅隆大学的研究人员采集了LANL实验室当时的高性能计算机故障数据(但未达到P级性能),分析了高层故障类型(人为、环境、网络、软件、硬件)的分布,分析了其中一个系统与节点的故障率,研究了系统在运行初期和稳定运行期时的故障间隔时间和修复时间。但该研究没有进一步针对具体的各类关键故障进行详细分析,缺乏对各类主要故障之间的相关性分析,因此无法准确对故障类型和故障发生时间、故障发生地点进行预测。罗格斯大学和劳伦斯利弗莫尔国家实验室的研究人员研究了严重故障的时间和空间特征以及非严重故障与严重故障之间的关联关系。该研究得出了网络、应用、IO等故障的时空统计特征,以此为根据进行故障预测,但其研究不是基于故障日志的,导致故障预测的准确性不高,且在故障发生后无法快速定位故障。
发明内容
本发明要解决的技术问题在于:面向高性能计算系统提出一种基于故障日志的故障预测方法,实现对故障的高准确率预测,以达到高性能计算系统的主动容错,从而能够优化高性能计算系统互联网络的通信效率,提高高性能计算系统上并行应用程序的实际计算性能。
为了解决上述技术问题,本发明的技术方案是:基于高性能计算系统故障日志,对故障日志进行数据清洗、分析处理,为实现高性能计算系统的主动容错,提出一种新的故障预测方法。该方法首先分析高性能计算系统工作故障日志,对故障日志原始数据进行清洗,得到故障时间序列数据集,然后建立故障预测模型(CNN-BiLSTM-Attention)实现对故障发生时间和故障发生节点位置的预测。采用故障预测模型对故障时间与故障发生节点位置的预测,有效提高高性能计算系统的故障预测准确度、使得能够在故障发生前规避故障结点,并在故障发生后高速定位故障,加强机器运维高效性。
具体技术方案是:
第一步、对高性能计算系统原始故障日志信息进行分析处理,得到故障时间序列数据集C,使之适合于故障预测模型。具体步骤如下:
1.1从高性能计算系统取得原始故障日志数据,对故障日志数据分析,得到含有N个故障日志数据第一数据集D,N为正整数,D中包含10个字段,10个字段分别为:编号ID、日志系统记录的故障发生时间ReceivedAt、故障发生的第一时间DeviceReportedTime、故障设备名称Facility、故障等级Priority、故障结点号FromHost、故障消息Message、故障编号InfoUnitID、系统日志编号SysLogTag、校验码checksum。其中,由于ReceivedAt是故障发生后加上日志系统经“感知”的时间才记录的时间,不能作为故障发生的实际时间,而DeviceReportedTime是故障发生的第一时间,因此,将DeviceReportedTime作为故障发生的时间。
1.2由于后面将用到基于时间序列的BiLSTM方法,BiLSTM方法需要依赖故障发生的第一时间(即DeviceReportedTime)来进行排序,而ReceivedAt是在故障发生后通过系统“感知”后而得到的时间,不能作为故障发生的实际时间,因此,需将DeviceReportedTime字段修改为“date”,date作为BiLSTM中的时间序列索引,并按照date字段时间先后顺序对第一数据集D进行排序,删去ReceivedAt和ID字段,得到含有N个故障日志数据的第二数据集D’,D’含有8个字段,相比D,少了ReceivedAt和ID字段;
1.3由于故障发生时间的不确定,为便于预测故障的发生时间,对故障的发生时间的预测可以转为预测故障的提前时间,即预测前后两个故障间的间隔时间。对第二数据集D’中的N个故障日志数据,依次计算相邻两个故障发生的间隔时间数(单位:秒),并将相邻故障发生的时间间隔数值保存为新的字段time-interval的值,此时,得到9个字段的第三数据集D”,即第i个故障日志数据的time-interval的值为第i+1个数据的故障发生时间与第i个数据的故障发生时间的差,第N个故障日志数据的time-interval的值为空,因此将删除第N个数据,第三数据集D”数据个数N’=N-1;
1.4对第三数据集D”中的time-interval进行分析,由于故障发生的原因较多,包括人为断电等不可预测的原因,对time-interval值大于时间阈值A的数据分析记录故障原因的Message字段,A≥3600s,如果Message字段表明是不可预测的故障,去则除异常数据,否则,保留该数据,得到第四数据集D”’;
1.5分析第四数据集D”’中记录故障发生结点的FromHost字段,由于登录结点和管理结点的故障基本是人为造成的,具有不可预测性,故而剔除第四数据集D”’中登录结点和管理结点的故障日志数据,得到故障时间序列数据集C。
第二步、系统的故障类型包括软件故障、硬件故障、人为故障及不明原因的各种故障,使用K-means方法对数据集C进行聚类,得到用于预测的K个故障类型对应的K个聚类C1、C2…Ck…CK,1≤k≤K;具体步骤如下:
2.1首先确定一个正整数K值,即希望将C经过聚类得到的类别个数K。Ci是第i个聚类,p是Ci中的任意一条数据,mi是Ci的质心(Ci中所有数据的均值),SSE是误差平方和,代表了聚类效果的好坏,计算表达式为:
Figure BDA0003275967840000041
Figure BDA0003275967840000042
SSE从骤减到逐渐平缓的拐点对应一个k值,令K=k。
2.2从C中随机选择K个故障日志数据(有9个字段)作为质心d1,d2,…,dK
2.3利用确定的K值和确定的质心采用K-means方法(见清华大学出版社出版、周志华著的《机器学习》)对C进行聚类,得到K个聚类,表示为C1,C2,…,Ck,…,CK
第三步、搭建故障预测模型。故障预测模型采用CNN-BiLSTM-Attention模型,依次包括InputLayer输入层、Conve1D一维卷积层、Dropout层、BiLSTM层、Attention层以及Dense层,按此顺序前一层的输出即为后一层的输入。
InputLayer输入层从外部接收要处理的输入数据集I(训练时为C1,C2,…,Ck,…,CK,这里只为了说明故障预测模型结构,故说是输入数据集),针对I中的异常数据,采用临近均值进行替换,针对I中不同变量取值大小相差较大的进行归一化,得到归一化后的数据集I’,将I’以4:1划分为训练集、测试集。
Conve1D一维卷积层是卷积神经网络,从InputLayer输入层接收训练集(训练时)或测试集(测试时),抽取训练集或测试集的数据特征,挖掘多维数据之间的相互关联并从中剔除噪声和不稳定成分,即卷积时只看纵列,只在纵列一个方向上滑动。卷积神经网络能够对原始数据进行更高层次和更抽象的表达,在图像等领域表现突出。由数据先验可知时序数据存在局部相关性(时间相近的数据有较强相关性),所以能够运用CNN处理其局部特征;当输入数据X时,卷积层的特征图F可表示为:
Figure BDA0003275967840000043
式中,
Figure BDA0003275967840000044
为卷积操作;W为卷积核的权重向量;b表示偏移量;f(·)为Relu激活函数,可以为Relu函数,也可以选用sigmoid、tanh等。
Dropout层实现在深度学习网络的训练过程中,按照概率P将神经网络单元暂时从网络中丢弃,得到相对稳定的信息。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一次神经网络训练都在训练不同的网络;过拟合是深度神经网中的一个常见问题:模型只学会在训练集上分类,这些年提出的许多过拟合问题的解决方案,其中Dropout具有简单性而且效果也非常良好。在每次训练的时候使用Dropout,每个神经元有百分之50的概率(P=50%)被移除,这样可以使得一个神经元的训练不依赖于另外一个神经元,同样也就使得特征之间的协同作用被减弱;
BiLSTM层由前向LSTM与后向LSTM组合而成,根据从Dropout层获得的相对稳定的信息进行长序列预测。从左到右的前向LSTM对从Dropout层获得的相对稳定的信息进行长序列预测,获得上文的信息h→,从右到左的后向LSTM对从Dropout层获得的相对稳定的信息进行长序列预测,获得下文的信息h←。前向的LSTM与后向的LSTM结合成BiLSTM。前向和后向的LSTM的输出h→和h←结合起来得到上下文的信息表示h。
Attention层对从BiLSTM层接收的h进行权重计算。由于在实际过程中,不是所有的字段对准确预测的贡献值都是一样的,一定有字段对预测更有利,因此可以改变各个字段在预测中的贡献的权重,对h进行一次全连接,随后采用softmax函数计算h中各个字段对预测值的预测准确度的贡献的权重,使得模型能依靠更有利于准确预测的字段做出预测,减少无关字段对准确预测的影响。(见Adam Kosiorek.神经网络中的注意力机制[J].机器人产业,2017,000(006):12-17.)。
Dense层对从Attention层获得的h中各个字段对预测值的预测准确度的贡献的权重进行非线性变化,提取这些权重之间的关联,映射到输出空间上(见清华大学出版社出版、周志华著的《机器学习》)得到输出Predictivevalue,包括预测的故障发生结点位置的结点编号cn号和故障发生的提前时间。
第四步:利用第二步得到的C1、C2…Ck…CK分别作为第三步搭建的预测故障模型的输入数据,实现对故障预测模型的训练,得到K个时间预测模型和K个故障结点预测模型。C1、C2…Ck…CK参数总数N’为85633,训练结束条件是损失函数loss收敛。时间步长timesteps设置为20,批处理尺寸lstm_units为64。
具体方法如下:
4.1初始化k=1;将Ck以4:1划分为训练集、测试集,分别为:训练集为Ck’、测试集为Tk
4.2初始化m=1,设置预测维度为time-interval,time-interval=7;
4.3对于利用时间序列预测而言,需要使用滑动时间窗方法,对于数据集进行构造,才可以输入到所构造的神经网络之中,因此,InputLayer层,针对Ck中的异常数据,采用临近均值进行替换;针对不同变量取值大小相差较大,进行归一化,得到归一化后的Ck’。
4.4 Conve1D层对从InputLayer层接收的归一化后的Ck’进行卷积操作,将卷积操作后的归一化后的Ck’发送给Dropout层;
4.5为防止过度拟合,Dropout层对卷积操作后归一化的Ck’每次训练的时候使用Dropout,使得Ck’以神经元的形式进行处理,每个神经元有百分之50的概率被移除,这样可以保证一个神经元的训练不依赖于另外一个神经元,同样也就使得特征之间的协同作用被减弱,得到相对稳定的数据信息Ck”;Ck”作为整体传入BiLSTM层;
4.6 BiLSTM层的前向LSTM对Ck”进行前向处理,获得上文的信息h→,后向LSTM对Ck”进行后向处理,获得下文的信息h←,将h→和h←结合起来得到上下文的信息表示h,将h输出给Attention层。
4.7 Attention层对h进行权重计算,将h进行全连接,随后采用softmax函数计算h中各个字段对预测值的预测准确度的贡献的权重。
4.8 Dense对从Attention层获得的h中各个字段对预测值的预测准确度的贡献的权重进行非线性变化,提取这些权重之间的关联,映射到输出空间上,得到输出Predictivevalue。计算本轮损失函数的loss值,若loss不收敛,则转4.4继续训练,否则:若m=1,则训练的模型是为了预测故障发生的提前时间,此时得到的模型为第k个时间预测模型Mkt;若m=2,则训练的模型是为了预测故障发生的位置即结点号cn,此时得到的模型为第k个故障节点预测模型Mkp
4.9令m=m+1,若m>2,则转4.11,否则,转4.10;
4.10设置预测维度为FromHost,转4.3;
4.11令k=k+1,若k>K,转第五步,否则,转4.2。
第五步:利用第四步得到的训练后的模型对C1、C2…Ck…CK故障数据中的测试集T1、T2…Tk…TK进行预测,由M1t、M2t…Mkt…MKt预测对应测试集故障提前时间,由M1p、M2p…Mkp…MKp预测对应测试集故障发生位置即结点号。测试集与预测模型分别一一对应即可实现较为准确的预测。
采用本发明可以达到以下技术效果:
采用本发明可以对故障进行分类预测,有效提高高性能计算系统的故障预测的准确度、使得能够在故障发生前规避故障结点,并在故障发生后高速定位故障,加强机器运维高效性,提高系统的可靠性。
附图说明
图1为本发明的总流程图。
图2为本发明第三步搭建的预测模型逻辑结构图。
具体实施方式
图1为本发明的总流程图。如图1所示,本发明包括以下步骤:
第一步、对高性能计算系统原始故障日志信息进行分析处理,得到故障时间序列数据集C,使之适合于故障预测模型。具体步骤如下:
1.1从高性能计算系统取得原始故障日志数据,对故障日志数据分析,得到含有N个故障日志数据第一数据集D,N为正整数,D中包含10个字段,10个字段分别为:编号ID、日志系统记录的故障发生时间ReceivedAt、故障发生的第一时间DeviceReportedTime、故障设备名称Facility、故障等级Priority、故障结点号FromHost、故障消息Message、故障编号InfoUnitID、系统日志编号SysLogTag、校验码checksum。其中,由于ReceivedAt是故障发生后加上日志系统经“感知”的时间才记录的时间,不能作为故障发生的实际时间,而DeviceReportedTime是故障发生的第一时间,因此,将DeviceReportedTime作为故障发生的时间。
1.2由于后面将用到基于时间序列的BiLSTM方法,BiLSTM方法需要依赖故障发生的第一时间(即DeviceReportedTime)来进行排序,而ReceivedAt是在故障发生后通过系统“感知”后而得到的时间,不能作为故障发生的实际时间,因此,需将DeviceReportedTime字段修改为“date”,date作为BiLSTM中的时间序列索引,并按照date字段时间先后顺序对第一数据集D进行排序,删去ReceivedAt和ID字段,得到含有N个故障日志数据的第二数据集D’,D’含有8个字段,相比D,少了ReceivedAt和ID字段;
1.3由于故障发生时间的不确定,为便于预测故障的发生时间,对故障的发生时间的预测可以转为预测故障的提前时间,即预测前后两个故障间的间隔时间。对第二数据集D’中的N个故障日志数据,依次计算相邻两个故障发生的间隔时间数(单位:秒),并将相邻故障发生的时间间隔数值保存为新的字段time-interval的值,此时,得到9个字段的第三数据集D”,即第i个故障日志数据的time-interval的值为第i+1个数据的故障发生时间与第i个数据的故障发生时间的差,第N个故障日志数据的time-interval的值为空,因此将删除第N个数据,第三数据集D”数据个数N’=N-1;
1.4对第三数据集D”中的time-interval进行分析,由于故障发生的原因较多,包括人为断电等不可预测的原因,对time-interval值大于时间阈值A的数据分析记录故障原因的Message字段,A≥3600s,如果Message字段表明是不可预测的故障,去则除异常数据,否则,保留该数据,得到第四数据集D”’;
1.5分析第四数据集D”’中记录故障发生结点的FromHost字段,由于登录结点和管理结点的故障基本是人为造成的,具有不可预测性,故而剔除第四数据集D”’中登录结点和管理结点的故障日志数据,得到故障时间序列数据集C。
第二步、系统的故障类型包括软件故障、硬件故障、人为故障及不明原因的各种故障,使用K-means方法对数据集C进行聚类,得到用于预测的K个故障类型对应的K个聚类C1、C2…Ck…CK,1≤k≤K;具体步骤如下:
2.1首先确定一个正整数K值,即希望将C经过聚类得到的类别个数K。Ci是第i个聚类,p是Ci中的任意一条数据,mi是Ci的质心(Ci中所有数据的均值),SSE是误差平方和,代表了聚类效果的好坏,计算表达式为:
Figure BDA0003275967840000081
Figure BDA0003275967840000082
SSE从骤减到逐渐平缓的拐点对应一个k值,令K=k。
2.2从C中随机选择K个故障日志数据(有9个字段)作为质心d1,d2,…,dK
2.3利用确定的K值和确定的质心采用K-means方法(见清华大学出版社出版、周志华著的《机器学习》)对C进行聚类,得到K个聚类,表示为C1,C2,…,Ck,…,CK
第三步、搭建故障预测模型。故障预测模型如图2所示,采用CNN-BiLSTM-Attention模型,依次包括InputLayer输入层、Conve1D一维卷积层、Dropout层、BiLSTM层、Attention层以及Dense层,按此顺序前一层的输出即为后一层的输入。
InputLayer输入层从外部接收要处理的输入数据集I(训练时为C1,C2,…,Ck,…,CK,这里只为了说明故障预测模型结构,故说是输入数据集),针对I中的异常数据,采用临近均值进行替换,针对I中不同变量取值大小相差较大的进行归一化,得到归一化后的数据集I’,将I’以4:1划分为训练集、测试集。
Conve1D一维卷积层是卷积神经网络,从InputLayer输入层接收训练集(训练时)或测试集(测试时),抽取训练集或测试集的数据特征,挖掘多维数据之间的相互关联并从中剔除噪声和不稳定成分,即卷积时只看纵列,只在纵列一个方向上滑动。卷积神经网络能够对原始数据进行更高层次和更抽象的表达,在图像等领域表现突出。由数据先验可知时序数据存在局部相关性(时间相近的数据有较强相关性),所以能够运用CNN处理其局部特征;当输入数据X时,卷积层的特征图F可表示为:
Figure BDA0003275967840000091
式中,
Figure BDA0003275967840000092
为卷积操作;W为卷积核的权重向量;b表示偏移量;f(·)为Relu激活函数,可以为Relu函数,也可以选用sigmoid、tanh等。
Dropout层实现在深度学习网络的训练过程中,按照概率P将神经网络单元暂时从网络中丢弃,得到相对稳定的信息。在每次训练的时候使用Dropout,每个神经元有百分之50的概率(P=50%)被移除,这样可以使得一个神经元的训练不依赖于另外一个神经元,同样也就使得特征之间的协同作用被减弱;
BiLSTM层由前向LSTM与后向LSTM组合而成,根据从Dropout层获得的相对稳定的信息进行长序列预测。从左到右的前向LSTM对从Dropout层获得的相对稳定的信息进行长序列预测,获得上文的信息h→,从右到左的后向LSTM对从Dropout层获得的相对稳定的信息进行长序列预测,获得下文的信息h←。前向的LSTM与后向的LSTM结合成BiLSTM。前向和后向的LSTM的输出h→和h←结合起来得到上下文的信息表示h。
Attention层对从BiLSTM层接收的h进行权重计算。由于在实际过程中,不是所有的字段对准确预测的贡献值都是一样的,一定有字段对预测更有利,因此可以改变各个字段在预测中的贡献的权重,对h进行一次全连接,随后采用softmax函数计算h中各个字段对预测值的预测准确度的贡献的权重,使得模型能依靠更有利于准确预测的字段做出预测,减少无关字段对准确预测的影响。(见Adam Kosiorek.神经网络中的注意力机制[J].机器人产业,2017,000(006):12-17.)。
Dense层对从Attention层获得的h中各个字段对预测值的预测准确度的贡献的权重进行非线性变化,提取这些权重之间的关联,映射到输出空间上(见清华大学出版社出版、周志华著的《机器学习》)得到输出Predictivevalue,包括预测的故障发生结点位置的结点编号cn号和故障发生的提前时间。
第四步:利用第二步得到的C1、C2…Ck…CK分别作为第三步搭建的预测故障模型的输入数据,实现对故障预测模型的训练,得到K个时间预测模型和K个故障结点预测模型。C1、C2…Ck…CK参数总数N’为85633,训练结束条件是损失函数loss收敛。时间步长timesteps设置为20,批处理尺寸lstm_units为64。
具体方法如下:
4.1初始化k=1;将Ck以4:1划分为训练集、测试集,分别为:训练集为Ck’、测试集为Tk
4.2初始化m=1,设置预测维度为time-interval,time-interval=7;
4.3对于利用时间序列预测而言,需要使用滑动时间窗方法,对于数据集进行构造,才可以输入到所构造的神经网络之中,因此,InputLayer层,针对Ck中的异常数据,采用临近均值进行替换;针对不同变量取值大小相差较大,进行归一化,得到归一化后的Ck’。
4.4Conve1D层对从InputLayer层接收的归一化后的Ck’进行卷积操作,将卷积操作后的归一化后的Ck’发送给Dropout层;
4.5为防止过度拟合,Dropout层对卷积操作后归一化的Ck’每次训练的时候使用Dropout,使得Ck’以神经元的形式进行处理,每个神经元有百分之50的概率被移除,这样可以保证一个神经元的训练不依赖于另外一个神经元,同样也就使得特征之间的协同作用被减弱,得到相对稳定的数据信息Ck”;Ck”作为整体传入BiLSTM层;
4.6 BiLSTM层的前向LSTM对Ck”进行前向处理,获得上文的信息h→,后向LSTM对Ck”进行后向处理,获得下文的信息h←,将h→和h←结合起来得到上下文的信息表示h,将h输出给Attention层。
4.7 Attention层对h进行权重计算,将h进行全连接,随后采用softmax函数计算h中各个字段对预测值的预测准确度的贡献的权重。
4.8 Dense对从Attention层获得的h中各个字段对预测值的预测准确度的贡献的权重进行非线性变化,提取这些权重之间的关联,映射到输出空间上,得到输出Predictivevalue。计算本轮损失函数的loss值,若loss不收敛,则转4.4继续训练,否则:若m=1,则训练的模型是为了预测故障发生的提前时间,此时得到第k个时间预测模型Mkt;若m=2,则训练的模型是为了预测故障发生的位置即结点号cn,此时得到第k个故障结点预测模型Mkp
4.9令m=m+1,若m>2,则转4.11,否则,转4.10;
4.10设置预测维度为FromHost,转4.3;
4.11令k=k+1,若k>K,转第五步,否则,转4.2。
第五步:利用第四步得到的训练后的模型对C1、C2…Ck…CK故障数据中的测试集T1、T2…Tk…TK进行预测,由M1t、M2t…Mkt…MKt预测对应测试集故障提前时间,由M1p、M2p…Mkp…MKp预测对应测试集故障发生位置即结点号。测试集与预测模型分别一一对应即可实现较为准确的预测。

Claims (7)

1.一种基于故障日志的高性能计算系统故障预测方法,其特征在于包括以下步骤:
第一步、对高性能计算系统原始故障日志信息进行分析处理,得到故障时间序列数据集C,方法是:
1.1从高性能计算系统取得原始故障日志数据,对故障日志数据分析,得到含有N个故障日志数据第一数据集D,N为正整数,D中包含10个字段,10个字段分别为:编号ID、日志系统记录的故障发生时间ReceivedAt、故障发生的第一时间DeviceReportedTime、故障设备名称Facility、故障等级Priority、故障结点号FromHost、故障消息Message、故障编号InfoUnitID、系统日志编号SysLogTag、校验码checksum;将DeviceReportedTime作为故障发生的时间;
1.2将DeviceReportedTime字段修改为“date”,date作为BiLSTM中的时间序列索引,并按照date字段时间先后顺序对第一数据集D进行排序,删去ReceivedAt和ID字段,得到含有N个故障日志数据的第二数据集D’,D’含有8个字段;
1.3对第二数据集D’中的N个故障日志数据,依次计算相邻两个故障发生的间隔时间数,并将相邻故障发生的时间间隔数值保存为新的字段time-interval的值,得到9个字段的第三数据集D”,删除第N个数据,第三数据集D”数据个数N’=N-1;
1.4对第三数据集D”中的time-interval进行分析,对time-interval值大于A的数据分析记录故障原因的Message字段,如果Message字段表明是不可预测的故障,去则除异常数据,否则,保留该数据,得到第四数据集D”’;
1.5分析第四数据集D”’中记录故障发生结点的FromHost字段,剔除D”’中登录结点和管理结点的故障日志数据,得到故障时间序列数据集C;
第二步、对C进行聚类,得到用于预测的与K个故障类型对应的K个聚类C1、C2…Ck…CK,1≤k≤K;
第三步、搭建故障预测模型;故障预测模型采用CNN-BiLSTM-Attention模型,依次包括InputLayer输入层、Conve1D一维卷积层、Dropout层、BiLSTM 层、Attention层以及Dense层,按此顺序前一层的输出为后一层的输入;
InputLayer输入层从外部接收要处理的被测数据集I,针对I中的异常数据,采用临近均值进行替换,针对I中不同变量取值大小相差较大的进行归一化,得到归一化后的数据集I’,将I’划分为训练集和测试集;
Conve1D一维卷积层是卷积神经网络,从InputLayer输入层接收训练集或测试集,抽取训练集或测试集的数据特征,挖掘多维数据之间的相互关联并从中剔除噪声和不稳定成分;当输入数据X时,卷积层的特征图F表示为:
Figure FDA0003275967830000021
Figure FDA0003275967830000022
式中,
Figure FDA0003275967830000023
为卷积操作;W为卷积核的权重向量;b表示偏移量;f(·)为Relu激活函数;
Dropout层实现在深度学习网络的训练过程中,按照概率P将神经网络单元暂时从网络中丢弃,得到相对稳定的信息;
BiLSTM层由前向LSTM与后向LSTM组合而成,根据从Dropout层获得的相对稳定的信息进行长序列预测,得到上下文的信息表示h;
Attention层对从BiLSTM层接收的h进行权重计算,对h进行一次全连接,随后采用softmax函数计算h中各个字段对预测值的预测准确度的贡献的权重,使得模型能依靠更有利于准确预测的字段做出预测,减少无关字段对准确预测的影响;
Dense层对从Attention层获得的h中各个字段对预测值的预测准确度的贡献的权重进行非线性变化,提取这些权重之间的关联,映射到输出空间上,得到输出Predictivevalue,包括预测的故障发生结点位置的结点编号cn号和故障发生的提前时间;
第四步,利用第二步得到的C1、C2…Ck…CK分别作为第三步搭建的预测故障模型的输入数据,实现对故障预测模型的训练,得到K个时间预测模型和K个故障结点预测模型,方法如下:
4.1初始化k=1;将Ck划分为训练集、测试集,分别为:训练集为Ck’、测试集为Tk
4.2初始化m=1,设置预测维度为time-interval;
4.3 InputLayer层针对Ck’中的异常数据,采用临近均值进行替换;针对不同变量取值大小相差较大,进行归一化,得到归一化后的Ck’;
4.4 Conve1D层对从InputLayer层接收的归一化后的Ck’进行卷积操作,将卷积操作后的归一化后的Ck’发送给Dropout层;
4.5 Dropout层将卷积操作后的归一化后的Ck’以神经元的形式进行处理,每个神经元以概率P移除,使得特征之间的协同作用被减弱,得到相对稳定的数据信息Ck”;Ck”作为整体传入BiLSTM层;
4.6 BiLSTM层的前向LSTM对Ck”进行前向处理,获得上文的信息h→,后向LSTM对Ck”进行后向处理,获得下文的信息h←,将h→和h←结合起来得到上下文的信息表示h,将h输出给Attention层;
4.7 Attention层h进行权重计算,将h进行全连接,随后采用softmax函数计算h中各个字段对预测值的预测准确度的贡献的权重;
4.8 Dense对从Attention层获得的h中各个字段对预测值的预测准确度的贡献的权重进行非线性变化,提取这些权重之间的关联,映射到输出空间上,得到输出Predictivevalue;计算本轮损失函数的loss值,若loss不收敛,则转4.4继续训练,否则:若m=1,则训练的模型是为了预测故障发生的提前时间,此时得到的模型为第k个时间预测模型Mkt;若m=2,则训练的模型是为了预测故障发生的位置即结点号cn,此时得到的模型为第k个故障结点预测模型Mkp
4.9令m=m+1,若m>2,则转4.11,否则,转4.10;
4.10设置预测维度为FromHost,转4.3;
4.11令k=k+1,若k>K,转第五步,否则,转4.2;
第五步:利用第四步得到的训练后的模型对C1、C2…Ck…CK故障数据中的测试集T1、T2…Tk…TK进行预测,由M1t、M2t…Mkt…MKt预测对应测试集故障提前时间,由M1p、M2p…Mkp…MKp预测对应测试集故障发生位置即结点号,测试集与预测模型分别一一对应,实现预测。
2.如权利要求1所述的一种基于故障日志的高性能计算系统故障预测方法,其特征在于1.3步所述对第二数据集D’中的N个故障日志数据,依次计算相邻两个故障发生的间隔时间数的方法是:第i个故障日志数据的time-interval的值为第i+1个数据的故障发生时间与第i个数据的故障发生时间的差,第N个故障日志数据的time-interval的值为空;time-interval的单位为秒。
3.如权利要求1所述的一种基于故障日志的高性能计算系统故障预测方法,其特征在于1.4步所述时间阈值A≥3600s。
4.如权利要求1所述的一种基于故障日志的高性能计算系统故障预测方法,其特征在于第二步所述对C进行聚类时使用K-means方法,具体方法是:
2.1确定一个正整数K值,即希望将C经过聚类得到的类别个数K;Ci是第i个聚类,p是Ci中的任意一条数据,mi是Ci的质心,即Ci中所有数据的均值,计算误差平方和SSE:
Figure FDA0003275967830000041
选择SSE从骤减到逐渐平缓的拐点对应的k值,令K=k;
2.2从C中随机选择K个故障日志数据作为质心d1,d2,…,dK
2.3利用K值和d1,d2,…,dK采用K-means方法对C进行聚类,得到K个聚类,表示为C1,C2,…,Ck,…,CK
5.如权利要求1所述的一种基于故障日志的高性能计算系统故障预测方法,其特征在于所述数据集I’和Ck以4:1划分为训练集、测试集,所述概率P=50%。
6.如权利要求1所述的一种基于故障日志的高性能计算系统故障预测方法,其特征在于第三步所述BiLSTM的从左到右的前向LSTM对从Dropout层获得的相对稳定的信息进行长序列预测,获得上文的信息h→,从右到左的后向LSTM对从Dropout层获得的相对稳定的信息进行长序列预测,获得下文的信息h←,h→和h←结合起来得到上下文的信息表示h。
7.如权利要求1所述的一种基于故障日志的高性能计算系统故障预测方法,其特征在于第四步所述对故障预测模型训练时,C1,C2,…,Ck,…,CK中数据总数N’为85633,当训练模型中的loss收敛时终止训练,时间步长timesteps设置为20,批处理尺寸stm_units为64。
CN202111117395.XA 2021-09-23 2021-09-23 一种基于故障日志的高性能计算系统故障预测方法 Active CN113704075B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111117395.XA CN113704075B (zh) 2021-09-23 2021-09-23 一种基于故障日志的高性能计算系统故障预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111117395.XA CN113704075B (zh) 2021-09-23 2021-09-23 一种基于故障日志的高性能计算系统故障预测方法

Publications (2)

Publication Number Publication Date
CN113704075A CN113704075A (zh) 2021-11-26
CN113704075B true CN113704075B (zh) 2022-09-02

Family

ID=78661634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111117395.XA Active CN113704075B (zh) 2021-09-23 2021-09-23 一种基于故障日志的高性能计算系统故障预测方法

Country Status (1)

Country Link
CN (1) CN113704075B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114239734B (zh) * 2021-12-21 2023-09-12 中国人民解放军63963部队 一种分布式车载健康管理系统
CN114547330A (zh) * 2022-01-28 2022-05-27 山东师范大学 音乐知识图谱半自动构建方法及系统
CN114741945B (zh) * 2022-02-17 2024-06-14 成都飞机工业(集团)有限责任公司 一种航空发动机在线故障的诊断方法
CN115186935B (zh) * 2022-09-08 2023-04-07 山东交通职业学院 一种机电设备非线性故障预测方法及系统
CN115460098B (zh) * 2022-09-15 2023-04-07 中国人民解放军军事科学院系统工程研究院 基于时间间隔分布特征的网络管理系统故障模型建立方法
CN116401532B (zh) * 2023-06-07 2024-02-23 山东大学 一种电力系统受扰后频率失稳识别方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034368B (zh) * 2018-06-22 2021-10-15 北京航空航天大学 一种基于dnn的复杂设备多重故障诊断方法
CN111552609B (zh) * 2020-04-12 2022-03-11 西安电子科技大学 一种异常状态检测方法、系统、存储介质、程序、服务器
CN112306981A (zh) * 2020-11-03 2021-02-02 广州科泽云天智能科技有限公司 一种面向高性能计算系统故障日志的故障预测方法
CN113111585A (zh) * 2021-04-15 2021-07-13 德州欧瑞电子通信设备制造有限公司 一种智能机柜故障预测方法、系统及智能机柜
CN113342597B (zh) * 2021-05-31 2022-04-29 武汉大学 一种基于高斯混合隐马尔可夫模型的系统故障预测方法

Also Published As

Publication number Publication date
CN113704075A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
CN113704075B (zh) 一种基于故障日志的高性能计算系统故障预测方法
Wu et al. Data-driven remaining useful life prediction via multiple sensor signals and deep long short-term memory neural network
Tipirneni et al. Self-supervised transformer for sparse and irregularly sampled multivariate clinical time-series
Huang et al. Real-time fault detection for IIoT facilities using GBRBM-based DNN
CN106022521B (zh) 基于Hadoop架构的分布式BP神经网络的短期负荷预测方法
CN111914873A (zh) 一种两阶段云服务器无监督异常预测方法
CN114530258A (zh) 一种深度学习药物相互作用预测方法、装置、介质和设备
CN110851654A (zh) 基于张量化数据降维的工业设备故障检测分类方法
CN115759413B (zh) 一种气象预测方法、装置、存储介质及电子设备
CN112766537B (zh) 一种短期电负荷预测方法
Fang et al. An event-driven neuromorphic system with biologically plausible temporal dynamics
CN114358216B (zh) 基于机器学习框架的量子聚类方法及相关装置
Nowakowski et al. Neural network structure optimization algorithm
Sakellariou et al. An FPGA accelerator for spiking neural network simulation and training
Hajewski et al. An evolutionary approach to variational autoencoders
Hao et al. VALERIAN: Invariant Feature Learning for IMU Sensor-based Human Activity Recognition in the Wild
Nassar et al. Imputation impact on strawberry yield and farm price prediction using deep learning
CN112070200B (zh) 一种谐波群优化方法及其应用
Zhao et al. Software reliability growth model based on fuzzy wavelet neural network
Kashyap et al. Quantum convolutional neural network architecture for multi-class classification
CN116432359A (zh) 基于元迁移学习的变拓扑网络潮流计算方法
CN116205135A (zh) 基于数据分解和神经网络的so2排放预测方法及系统
Noekhah et al. Software reliability prediction model based on ICA algorithm and MLP neural network
CN115409262A (zh) 铁路数据中心关键性能指标趋势预测方法、异常识别方法
CN115081555A (zh) 基于生成对抗和双向循环神经网络的异常检测方法及装置

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