一种基于BP神经网络的状态评估模型

2017-03-29 07:45刘文军张杰
现代计算机 2017年4期
关键词:子集神经网络节点

刘文军,张杰

(四川大学计算机学院,成都 610065)

一种基于BP神经网络的状态评估模型

刘文军,张杰

(四川大学计算机学院,成都 610065)

在体系结构复杂、计算规模较大的集群中,内部计算节点容易出现故障,主动冗余技术是保障系统可靠运行的常用方式。提出在主动冗余技术中构建一种基于BP神经网络的状态评估模型,该模型根据计算节点的历史和当前运行状态对系统进行评估,给出其运行健康状况。实验表明,该模型能够兼顾不同运行特征之间的非线性关系,提高状态评估的准确率,减少误报率。

计算节点;主动冗余;BP神经网络;状态评估

0 引言

进入云计算时代,许多任务或服务需要服务器联合工作才能完成,因此各互联网企业部署了大规模不同用途的集群,而随着服务器集群的体系结构日趋复杂、计算规模不断扩大,集群内部出现故障的可能性远高于单一服务节点,出现故障也已成为常态[1]。2002年,Google分析了其部署在不同地域的几十个站点的一年内运行数据,指出每年节点故障率为2-3%,即每36小时,就有一个节点发生故障[2]。

主动冗余策略,是公认的保证系统高可用的一种方式。实施该策略,可及时对集群内故障节点进行隔离,将业务转移到正常节点进行处理[3-5]。在主动冗余策略中,如何判断集群内计算节点的工作状态是否正常,是非常重要的,它直接关系到主动冗余策略的有效性。状态评估,指的是基于状态监视过程中获取到的大量的设备历史运行数据以及当前的设备状态信息,借助于科学的状态评估模型对其进行分析,从而进一步对信息设备当前的健康状况做出判断[6]。准确、高效的状态评估模型能够提高主动冗余策略的有效性,保证集群的稳定运行。因此,本文针对服务器集群信息设备领域的状态评估进行了研究,提出了一种基于BP神经网络的信息设备状态评估模型,并进行了实验对比分析,结果表明该模型能够提高状态评估的准确率。

1 信息设备状态特征集合的提取

信息设备运行过程中,可获取大量的运行特征数据并加以分析,以便对设备健康状况做出评估。这些运行特征数据之间并不是孤立的,其取值的变化是设备中不同模块相互作用的结果,这些运行特征的取值反映了设备当前的健康状况。表征设备状态的运行特征集合的选择尤为重要,因为合理的设备状态特征集合才能构建出具有较高准确率的评估模型。首先根据运维经验,把设备健康状况相关的运行特征划分为六个类别:Generic、CPU、Memory、Network Interfaces、Filesystems、OS。其次,对这些运行特征的获取方法有两种:一、从相应的性能监视系统(Performance Monitoring System,PMS)的监控数据记录中进行提取;二、直接通过C库函数popen执行相应的shell命令来完成Linux主机设备的运行特征信息获取[7]。不同类别的部分关键设备状态特征集合整理如表1所示。

通用状态信息类特征可以通过shell命令“uname -o-s-p”进行获取。

处理器状态信息类特征中,前四项可以通过shell命令“top|head-n 3|tail-n 1|awk'{print$2,$4,$14, $16}'”获取,其他特征可以通过虚拟文件系统/proc/ loadavg获取。

虚拟存储器状态信息类特征中,前三项可以通过shell命令“top|head-n 5|tail-n 2|cut-d':'-f2| awk'{print$2,$4}'”进行获取,其余特征可以通过shell命令“sar-W 1 1|tail-n 1|cut-d':'-f2”进行获取。

网络接口状态信息类特征中,网络接口的数量可以通过shell命令“ifconfig|grep flags|wc-l”进行获取,记为${n}。前六项可以通过shell命令“sar-n DEV 1 1|tail-n${n}|cut-d':'-f2”进行获取,其余特征可以通过shell命令“sar-n EDEV 1 1|tail-n${n}|cutd':'-f2”进行获取。

文件系统状态信息类特征可以通过shell命令“sar -d-p 1 1|grep Average|cut-d':'-f2”进行获取。

操作系统状态信息类特征可以通过shell命令“top |head-n 2”进行获取。

2 基于BP神经网络的状态评估模型

对信息设备进行状态评估,最根本的工作是建立一个用于状态评估的数学模型,通过该模型对表征设备状态的特征集合进行计算,根据模型的输出结果来判断、评估设备的健康状态。刘贤杰、沈潇军、唐远等人先后对基于评估规则的状态评估模型进行了研究[8-0],该类型的算法虽然取得了一定的评估效果,但是存在评估规则固定、没能考虑各项特征的相互关系等问题。考虑到不同类别下的运行特征之间具有非线性关系,以及BP神经网络恰能以任意精度逼近非线性函数,所以本文提出了一种基于BP神经网络的状态评估模型对信息设备进行状态评估。

图1 基于BP神经网络的状态评估模型

本文提出的基于BP神经网络的状态评估模型,如图1所示。这些设备的众多运行特征将被看作特征属性,虽然数据集中的运行特征都是基于实际运维经验精心选择的,但是其中的某些特征仍然可能是无关特征,更有可能是冗余特征,因此选出最优特征子集是十分必要的。FFSR算法是一种包装器类特征选择算法[11],它不仅具有包装器类算法能选择较小优化特征子集的特点,还具有算法较短的优点,因此本文采用该算法来选出最优特征子集。然后,再把经过特征选择之后的样本数据训练出一个BP神经网络分类器,在输入特征信息与设备故障等级之间建立起映射关系。模型训练结束之后,可以对当前的信息设备进行状态评估,即以设备当前的运行特征信息向量化并作为BP神经网络的输入,BP神经网络可以根据输入信息执行一个分类操作,分类结果即为评估结果,也就是设备当前所处的设备故障等级,评估结果取“良好”、“异常”、“警告”、“严重”之一。

本文选择软件Weka进行BP神经网络的构建、训练、测试。状态评估模型的建立步骤如下:

步骤1:获取设备运行状态特征集,并对数据进行预处理(数据离散化处理、标注故障等级等);处理后的数据满足以下格式:

特征属性1 特征属性2… … …类别属性

实例1… … … … … …

实例2… … … … … …

实例N… … … … … …

步骤2:对上述获取到的数据,基于FFSR算法选择最优特征子集;

①设置特征子集个数M和大小N(根据需要调节);

②利用SFFS算法选择一个特征子集;

③从原始数据集中去除该子集中的特征属性;

④重复②③步直至选择出M个特征子集;

⑤利用FFSR算法对特征子集进行评价和精化处理,得到最优特征子集;

⑥去除原始数据集中的冗余特征属性,只保留最优特征子集中的特征属性和类别属性;

步骤3:在Weka中构建BP神经网络,并对神经网络进行训练;

①设置输入层神经元数量;

②设置输出层神经元数量;

③设置神经元层数(通常为3层);

④设置隐层神经元数量(可自行调整);

⑤设置期望的误差率(可自行调整);

⑥设置最大迭代次数(可自行调整);

⑦对BP神经网络进行训练;

步骤4:根据步骤3中训练过程输出的反馈信息调整相关参数,对BP神经网络进行优化;

步骤5:经过步骤4、5的调优过程,最终可以得到优化的神经网络。

BP神经网络根据当前设备运行特征的取值构成的输入向量InputX=[x1,x2,…,xn]进行计算,输出结果为OutputY∈{y1,y2,y3,y4}。其中xi代表第i个运行特征的值,y1、y2、y3、y4分别代表设备所处的不同故障等级正常、异常、告警、严重。

3 实验与分析

3.1 获取设备运行特征数据集

基于第二部分描述的相关运行特征集合分类及其取值的获取方法,本文开发了一个状态监视原型系统,并在Linux主机设备上连续测量了长约两周的系统运行特征数据。期间通过多次人工注入系统故障的方式,对获取到的设备状态特征运行时记录进行类别标注。状态获取原型系统每5分钟获取一次设备运行特征信息。总共获取了3982条记录,其中故障等级为“良好”的记录有2393条,故障等级为“异常”的记录有672条,故障等级为“警告”的有524条,故障等级为“严重”的有393条。其中故障等级说明如下:

故障等级“良好”:系统正常运行,没有出现异常或者故障;

故障等级“异常”:系统出现内存泄露等异常,CPU利用率较高,每分钟出现1~5个故障;

故障等级“警告”:系统出现异常,CPU平均利用率90%~95%,每分钟出现故障数6~10;

故障等级“严重”:系统出现异常,CPU平均利用率95%以上,每分钟出现故障数10个以上。

3.2 实验对比分析

通过FFSR算法选择最优特征子集,最终确定24个特征属性作为神经网络的输入,BP神经网络采用十折交叉验证的方式,其网络结构为3层,隐层节点数量设置为10个。本文选择唐远在《信息设备状态检修决策支持系统设计与实现》中提出的基于评估规则的状态评估模型作对比,得到了如下实验结果,如表2所示。

表2 状态评估结果对比

实验结果表明,基于BP神经网络的状态评估模型,能够兼顾不同运行特征之间的非线性关系,对不同的故障等级的评价效果,均明显优于基于评估规则的状态评估模型。

4 结语

针对信息设备领域状态评估的研究现状,提出了一种基于BP神经网络的状态评估模型,然后描述了在Linux主机设备上进行设备运行特征信息的获取方式,最后对基于BP神经网络的状态评估模型与现有的基于评估规则的状态评估模型进行了对比实验,实验表明本文提出的基于BP神经网络的状态评估模型确实能够显著地提高状态评估的准确率,减少误报率。

[1]Chakravorty S.,Mendes C.L.,Kale L.V.Proactive Fault Tolerance in MPI Applications Via Task Migration[M].High Performance Computing-HiPC,2006:485-496.

[2]Bosila G.Etal.MPICH-V:Toward a Scalable Fault Tolerant MPI for Volatile Nodes[C].In Supercomputing.ACM/IEEE 2002 Conference,2002.

[3]CHEN Gang,JIN Hai,ZOU Deqing,et al.A Lightweight Software System in the Cloud Environment[J].Concurrency and Computation-Practice&Experience.2015,27(12):2982-2998.

[4]DAI Hongjun,ZHAO Shulin,ZHANG Jiutian,et al.Security Enhancement of Cloud Servers with a Redundancy-Based Fault-Tolerant Cache Structure[J].Future Generation Computer Systems-The International Journal of Grid Computing and Escience.2015,52:147-155.

[5]LIU Dong.A Fault-Tolerant Architecture for ROIA in Cloud[J].Journal of Ambient Intelligence and Humanized Computing.2015,6(5): 587-595.

[6]侯晓凯,李师谦,王杰琼等.一种基于神经网络的网络设备故障预测系统[J].山东理工大学学报(自然科学版),2014,28(6):29-34. [7]张杰.基于CBM的信息设备状态检修研究与尝试[J].现代计算机,2016(4):70-74.

[8]刘贤杰,刘旭生.信息通信状态检修系统中状态评价体系的探索与实践[J].电力信息与通信技术,2012(6):64-66.

[9]沈潇军,洪建光,蒋鸿城等.信息设备状态检修研究与应用[J].电力信息与通信技术,2015(2):43-47.

[10]唐远.信息设备状态检修决策支持系统设计与实现[D].成都:电子科技大学,2015.

[11]叶吉祥,龚希龄.一种快速的Wrapper式特征子集选择新方法[J].长沙理工大学学报(自然科学版),2010(04):54-57.

A State Evaluation Model Based on BP Neural Network

LIU Wen-jun,ZHANG Jie

(College of Computer Science,Sichuan University,Chengdu 610065)

In the cluster with complex structure and large scale,the internal nodes are prone to failure,and the active redundancy technology is a common way to ensure the reliable operation of the system.Puts forward an evaluation model based on BP neural network in active redundancy technology,evaluates the history and current condition of the system based on the model of computing nodes,and gives its operational health.Experimental results show that the model can take into account the nonlinear relationship between different run-time indicators,improve the accuracy of state assessment,and reduce the false alarm rate.

Compute Node;Active Redundancy;State Evaluation;BP Neural Network

1007-1423(2017)04-0007-05

10.3969/j.issn.1007-1423.2017.04.002

刘文军(1990-),男,硕士,研究方向为网络与信息安全

2016-12-13

2017-01-20

张杰(1990-),男,硕士,研究方向为网络与信息安全

猜你喜欢
子集神经网络节点
基于递归模糊神经网络的风电平滑控制策略
拓扑空间中紧致子集的性质研究
概念格的一种并行构造算法
结合概率路由的机会网络自私节点检测算法
采用贪婪启发式的异构WSNs 部分覆盖算法*
关于奇数阶二元子集的分离序列
神经网络抑制无线通信干扰探究
Crosstalk between gut microbiota and antidiabetic drug action
基于神经网络的中小学生情感分析
基于Q-Learning算法和神经网络的飞艇控制