劉文軍,張杰
(四川大學計算機學院,成都 610065)
一種基于BP神經(jīng)網(wǎng)絡的狀態(tài)評估模型
劉文軍,張杰
(四川大學計算機學院,成都 610065)
在體系結構復雜、計算規(guī)模較大的集群中,內(nèi)部計算節(jié)點容易出現(xiàn)故障,主動冗余技術是保障系統(tǒng)可靠運行的常用方式。提出在主動冗余技術中構建一種基于BP神經(jīng)網(wǎng)絡的狀態(tài)評估模型,該模型根據(jù)計算節(jié)點的歷史和當前運行狀態(tài)對系統(tǒng)進行評估,給出其運行健康狀況。實驗表明,該模型能夠兼顧不同運行特征之間的非線性關系,提高狀態(tài)評估的準確率,減少誤報率。
計算節(jié)點;主動冗余;BP神經(jīng)網(wǎng)絡;狀態(tài)評估
進入云計算時代,許多任務或服務需要服務器聯(lián)合工作才能完成,因此各互聯(lián)網(wǎng)企業(yè)部署了大規(guī)模不同用途的集群,而隨著服務器集群的體系結構日趨復雜、計算規(guī)模不斷擴大,集群內(nèi)部出現(xiàn)故障的可能性遠高于單一服務節(jié)點,出現(xiàn)故障也已成為常態(tài)[1]。2002年,Google分析了其部署在不同地域的幾十個站點的一年內(nèi)運行數(shù)據(jù),指出每年節(jié)點故障率為2-3%,即每36小時,就有一個節(jié)點發(fā)生故障[2]。
主動冗余策略,是公認的保證系統(tǒng)高可用的一種方式。實施該策略,可及時對集群內(nèi)故障節(jié)點進行隔離,將業(yè)務轉移到正常節(jié)點進行處理[3-5]。在主動冗余策略中,如何判斷集群內(nèi)計算節(jié)點的工作狀態(tài)是否正常,是非常重要的,它直接關系到主動冗余策略的有效性。狀態(tài)評估,指的是基于狀態(tài)監(jiān)視過程中獲取到的大量的設備歷史運行數(shù)據(jù)以及當前的設備狀態(tài)信息,借助于科學的狀態(tài)評估模型對其進行分析,從而進一步對信息設備當前的健康狀況做出判斷[6]。準確、高效的狀態(tài)評估模型能夠提高主動冗余策略的有效性,保證集群的穩(wěn)定運行。因此,本文針對服務器集群信息設備領域的狀態(tài)評估進行了研究,提出了一種基于BP神經(jīng)網(wǎng)絡的信息設備狀態(tài)評估模型,并進行了實驗對比分析,結果表明該模型能夠提高狀態(tài)評估的準確率。
信息設備運行過程中,可獲取大量的運行特征數(shù)據(jù)并加以分析,以便對設備健康狀況做出評估。這些運行特征數(shù)據(jù)之間并不是孤立的,其取值的變化是設備中不同模塊相互作用的結果,這些運行特征的取值反映了設備當前的健康狀況。表征設備狀態(tài)的運行特征集合的選擇尤為重要,因為合理的設備狀態(tài)特征集合才能構建出具有較高準確率的評估模型。首先根據(jù)運維經(jīng)驗,把設備健康狀況相關的運行特征劃分為六個類別:Generic、CPU、Memory、Network Interfaces、Filesystems、OS。其次,對這些運行特征的獲取方法有兩種:一、從相應的性能監(jiān)視系統(tǒng)(Performance Monitoring System,PMS)的監(jiān)控數(shù)據(jù)記錄中進行提取;二、直接通過C庫函數(shù)popen執(zhí)行相應的shell命令來完成Linux主機設備的運行特征信息獲取[7]。不同類別的部分關鍵設備狀態(tài)特征集合整理如表1所示。
通用狀態(tài)信息類特征可以通過shell命令“uname -o-s-p”進行獲取。
處理器狀態(tài)信息類特征中,前四項可以通過shell命令“top|head-n 3|tail-n 1|awk'{print$2,$4,$14, $16}'”獲取,其他特征可以通過虛擬文件系統(tǒng)/proc/ loadavg獲取。
虛擬存儲器狀態(tài)信息類特征中,前三項可以通過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”進行獲取。
網(wǎng)絡接口狀態(tài)信息類特征中,網(wǎng)絡接口的數(shù)量可以通過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”進行獲取。
文件系統(tǒng)狀態(tài)信息類特征可以通過shell命令“sar -d-p 1 1|grep Average|cut-d':'-f2”進行獲取。
操作系統(tǒng)狀態(tài)信息類特征可以通過shell命令“top |head-n 2”進行獲取。
對信息設備進行狀態(tài)評估,最根本的工作是建立一個用于狀態(tài)評估的數(shù)學模型,通過該模型對表征設備狀態(tài)的特征集合進行計算,根據(jù)模型的輸出結果來判斷、評估設備的健康狀態(tài)。劉賢杰、沈瀟軍、唐遠等人先后對基于評估規(guī)則的狀態(tài)評估模型進行了研究[8-0],該類型的算法雖然取得了一定的評估效果,但是存在評估規(guī)則固定、沒能考慮各項特征的相互關系等問題??紤]到不同類別下的運行特征之間具有非線性關系,以及BP神經(jīng)網(wǎng)絡恰能以任意精度逼近非線性函數(shù),所以本文提出了一種基于BP神經(jīng)網(wǎng)絡的狀態(tài)評估模型對信息設備進行狀態(tài)評估。
圖1 基于BP神經(jīng)網(wǎng)絡的狀態(tài)評估模型
本文提出的基于BP神經(jīng)網(wǎng)絡的狀態(tài)評估模型,如圖1所示。這些設備的眾多運行特征將被看作特征屬性,雖然數(shù)據(jù)集中的運行特征都是基于實際運維經(jīng)驗精心選擇的,但是其中的某些特征仍然可能是無關特征,更有可能是冗余特征,因此選出最優(yōu)特征子集是十分必要的。FFSR算法是一種包裝器類特征選擇算法[11],它不僅具有包裝器類算法能選擇較小優(yōu)化特征子集的特點,還具有算法較短的優(yōu)點,因此本文采用該算法來選出最優(yōu)特征子集。然后,再把經(jīng)過特征選擇之后的樣本數(shù)據(jù)訓練出一個BP神經(jīng)網(wǎng)絡分類器,在輸入特征信息與設備故障等級之間建立起映射關系。模型訓練結束之后,可以對當前的信息設備進行狀態(tài)評估,即以設備當前的運行特征信息向量化并作為BP神經(jīng)網(wǎng)絡的輸入,BP神經(jīng)網(wǎng)絡可以根據(jù)輸入信息執(zhí)行一個分類操作,分類結果即為評估結果,也就是設備當前所處的設備故障等級,評估結果取“良好”、“異?!?、“警告”、“嚴重”之一。
本文選擇軟件Weka進行BP神經(jīng)網(wǎng)絡的構建、訓練、測試。狀態(tài)評估模型的建立步驟如下:
步驟1:獲取設備運行狀態(tài)特征集,并對數(shù)據(jù)進行預處理(數(shù)據(jù)離散化處理、標注故障等級等);處理后的數(shù)據(jù)滿足以下格式:
特征屬性1 特征屬性2… … …類別屬性
實例1… … … … … …
實例2… … … … … …
…
實例N… … … … … …
步驟2:對上述獲取到的數(shù)據(jù),基于FFSR算法選擇最優(yōu)特征子集;
①設置特征子集個數(shù)M和大小N(根據(jù)需要調(diào)節(jié));
②利用SFFS算法選擇一個特征子集;
③從原始數(shù)據(jù)集中去除該子集中的特征屬性;
④重復②③步直至選擇出M個特征子集;
⑤利用FFSR算法對特征子集進行評價和精化處理,得到最優(yōu)特征子集;
⑥去除原始數(shù)據(jù)集中的冗余特征屬性,只保留最優(yōu)特征子集中的特征屬性和類別屬性;
步驟3:在Weka中構建BP神經(jīng)網(wǎng)絡,并對神經(jīng)網(wǎng)絡進行訓練;
①設置輸入層神經(jīng)元數(shù)量;
②設置輸出層神經(jīng)元數(shù)量;
③設置神經(jīng)元層數(shù)(通常為3層);
④設置隱層神經(jīng)元數(shù)量(可自行調(diào)整);
⑤設置期望的誤差率(可自行調(diào)整);
⑥設置最大迭代次數(shù)(可自行調(diào)整);
⑦對BP神經(jīng)網(wǎng)絡進行訓練;
步驟4:根據(jù)步驟3中訓練過程輸出的反饋信息調(diào)整相關參數(shù),對BP神經(jīng)網(wǎng)絡進行優(yōu)化;
步驟5:經(jīng)過步驟4、5的調(diào)優(yōu)過程,最終可以得到優(yōu)化的神經(jīng)網(wǎng)絡。
BP神經(jīng)網(wǎng)絡根據(jù)當前設備運行特征的取值構成的輸入向量InputX=[x1,x2,…,xn]進行計算,輸出結果為OutputY∈{y1,y2,y3,y4}。其中xi代表第i個運行特征的值,y1、y2、y3、y4分別代表設備所處的不同故障等級正常、異常、告警、嚴重。
3.1 獲取設備運行特征數(shù)據(jù)集
基于第二部分描述的相關運行特征集合分類及其取值的獲取方法,本文開發(fā)了一個狀態(tài)監(jiān)視原型系統(tǒng),并在Linux主機設備上連續(xù)測量了長約兩周的系統(tǒng)運行特征數(shù)據(jù)。期間通過多次人工注入系統(tǒng)故障的方式,對獲取到的設備狀態(tài)特征運行時記錄進行類別標注。狀態(tài)獲取原型系統(tǒng)每5分鐘獲取一次設備運行特征信息??偣搏@取了3982條記錄,其中故障等級為“良好”的記錄有2393條,故障等級為“異?!钡挠涗浻?72條,故障等級為“警告”的有524條,故障等級為“嚴重”的有393條。其中故障等級說明如下:
故障等級“良好”:系統(tǒng)正常運行,沒有出現(xiàn)異常或者故障;
故障等級“異常”:系統(tǒng)出現(xiàn)內(nèi)存泄露等異常,CPU利用率較高,每分鐘出現(xiàn)1~5個故障;
故障等級“警告”:系統(tǒng)出現(xiàn)異常,CPU平均利用率90%~95%,每分鐘出現(xiàn)故障數(shù)6~10;
故障等級“嚴重”:系統(tǒng)出現(xiàn)異常,CPU平均利用率95%以上,每分鐘出現(xiàn)故障數(shù)10個以上。
3.2 實驗對比分析
通過FFSR算法選擇最優(yōu)特征子集,最終確定24個特征屬性作為神經(jīng)網(wǎng)絡的輸入,BP神經(jīng)網(wǎng)絡采用十折交叉驗證的方式,其網(wǎng)絡結構為3層,隱層節(jié)點數(shù)量設置為10個。本文選擇唐遠在《信息設備狀態(tài)檢修決策支持系統(tǒng)設計與實現(xiàn)》中提出的基于評估規(guī)則的狀態(tài)評估模型作對比,得到了如下實驗結果,如表2所示。
表2 狀態(tài)評估結果對比
實驗結果表明,基于BP神經(jīng)網(wǎng)絡的狀態(tài)評估模型,能夠兼顧不同運行特征之間的非線性關系,對不同的故障等級的評價效果,均明顯優(yōu)于基于評估規(guī)則的狀態(tài)評估模型。
針對信息設備領域狀態(tài)評估的研究現(xiàn)狀,提出了一種基于BP神經(jīng)網(wǎng)絡的狀態(tài)評估模型,然后描述了在Linux主機設備上進行設備運行特征信息的獲取方式,最后對基于BP神經(jīng)網(wǎng)絡的狀態(tài)評估模型與現(xiàn)有的基于評估規(guī)則的狀態(tài)評估模型進行了對比實驗,實驗表明本文提出的基于BP神經(jīng)網(wǎng)絡的狀態(tài)評估模型確實能夠顯著地提高狀態(tài)評估的準確率,減少誤報率。
[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īng)網(wǎng)絡的網(wǎng)絡設備故障預測系統(tǒng)[J].山東理工大學學報(自然科學版),2014,28(6):29-34. [7]張杰.基于CBM的信息設備狀態(tài)檢修研究與嘗試[J].現(xiàn)代計算機,2016(4):70-74.
[8]劉賢杰,劉旭生.信息通信狀態(tài)檢修系統(tǒng)中狀態(tài)評價體系的探索與實踐[J].電力信息與通信技術,2012(6):64-66.
[9]沈瀟軍,洪建光,蔣鴻城等.信息設備狀態(tài)檢修研究與應用[J].電力信息與通信技術,2015(2):43-47.
[10]唐遠.信息設備狀態(tài)檢修決策支持系統(tǒng)設計與實現(xiàn)[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-),男,碩士,研究方向為網(wǎng)絡與信息安全
2016-12-13
2017-01-20
張杰(1990-),男,碩士,研究方向為網(wǎng)絡與信息安全