国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

E 級高性能計算機的維護故障診斷系統(tǒng)研究

2022-12-13 13:51:38建瀾濤任秀江張禎石嵩黃益明張春林
計算機工程 2022年12期
關(guān)鍵詞:故障診斷節(jié)點預(yù)測

建瀾濤,任秀江,張禎,石嵩,黃益明,張春林

(1.江南計算技術(shù)研究所,江蘇 無錫 214083;2.國家并行計算機工程技術(shù)研究中心,北京 100190)

0 概述

高性能計算在國民經(jīng)濟建設(shè)和社會發(fā)展中發(fā)揮著不可替代的作用。2021 年底,基于傳統(tǒng)高性能計算的量子模擬技術(shù)打破Google 量子壟斷[1-2],意味著在未來一段時間內(nèi),傳統(tǒng)超級計算機仍將是高性能計算的主要形式。目前,傳統(tǒng)高性能計算已進入E 級時代,更強的算力意味著更大的規(guī)模、更多的部件與更為復(fù)雜的子系統(tǒng)。E 級高性能計算系統(tǒng)由數(shù)百萬個部件組成,系統(tǒng)平均無故障時間從小時級降到分鐘級[3-4],系統(tǒng)的實時監(jiān)控與故障診斷變得越來越重要。

維護故障診斷系統(tǒng)是高性能計算機維護系統(tǒng)的核心,負責(zé)全機硬件系統(tǒng)的異常檢測(包括故障檢測,下文同)、故障診斷及故障預(yù)測。本文聚焦異常檢測、故障診斷、故障預(yù)測3 個方向的關(guān)鍵技術(shù),結(jié)合實際工程需要設(shè)計一種支撐數(shù)E 級規(guī)模的高性能計算機維護故障診斷系統(tǒng),并部署在神威E 級原型機系統(tǒng)上對關(guān)鍵設(shè)計進行實驗驗證,同時將實驗結(jié)果與神威·太湖之光的故障診斷系統(tǒng)進行對比分析。

1 維護故障診斷關(guān)鍵技術(shù)研究

高性能計算系統(tǒng)維護故障診斷技術(shù)主要包括異常檢測、故障診斷及故障預(yù)測3 個方向。本節(jié)對3 個方向的關(guān)鍵技術(shù)進行研究,以高性能計算系統(tǒng)對維護故障診斷系統(tǒng)的需求為目標(biāo),對相應(yīng)算法進行適用性分析,最后確定在工程實踐中能夠取得實效的研發(fā)設(shè)計方法。

1.1 異常檢測技術(shù)

異常檢測的基本原理是定義數(shù)據(jù)所代表的物理意義在當(dāng)前場景下所應(yīng)該表現(xiàn)出來的特征,用算法分析當(dāng)前數(shù)據(jù)是否有不滿足正常特征之處,若有即為異常。

在對信息進行分析時容易發(fā)現(xiàn)多次采集的待分析數(shù)據(jù)信息匯集到一起具有時間序列特征,對時間序列數(shù)據(jù)的異常檢測是數(shù)據(jù)挖掘領(lǐng)域的一個重要分支,其相關(guān)算法的思想可用于故障檢測的設(shè)計。

目前,國內(nèi)外學(xué)者對時間序列的異常檢測方法的研究成果非常豐富,主要有基于統(tǒng)計[5]、基于聚類[6]、基于偏差[7-8]、基于距離[9]、基于密度[10]、基于神經(jīng)網(wǎng)絡(luò)[11-13]等算法。除深度學(xué)習(xí)靠樣本訓(xùn)練外,其他算法均利用統(tǒng)計學(xué)知識計算特征值,只是針對不同的應(yīng)用場景精度不同。各類算法判斷異常的原理及適用性如表1 所示。

表1 不同時序數(shù)據(jù)算法分類對比Table 1 Comparison of different time series data algorithms categories

在實際工程化應(yīng)用中,使用最多的是基于統(tǒng)計學(xué)的算法。騰訊織云metis 在數(shù)據(jù)異常檢測時就大量運用各種統(tǒng)計學(xué)算法,如3sigma 算法、移動平均算法、帶權(quán)重的移動平均算法、1/2/3 次指數(shù)移動平均算法、奇異值分解算法、自回歸算法等。百度運維針對不同數(shù)據(jù)業(yè)務(wù)場景設(shè)計數(shù)據(jù)檢測算法時,也從數(shù)據(jù)的統(tǒng)計特征出發(fā)尋求解決之道,如將原始數(shù)據(jù)轉(zhuǎn)換到相鄰窗口均值變化比例空間,在該比例空間上設(shè)置閾值進而檢測數(shù)據(jù)是否有突升突降。

在智能檢測領(lǐng)域,騰訊織云采用取代傳統(tǒng)閾值檢測方式的無閾值智能監(jiān)控學(xué)件,基于統(tǒng)計判斷機制,用無監(jiān)督和有監(jiān)督學(xué)習(xí)聯(lián)合檢測時間序列,經(jīng)海量樣本訓(xùn)練出通用模型。

本文討論的故障診斷系統(tǒng)運行環(huán)境是嵌入式系統(tǒng),無論從資源占用角度還是效率角度,設(shè)計算法不宜過于復(fù)雜?;诮y(tǒng)計的算法簡單有效、執(zhí)行迅速,對近似滿足正態(tài)分布的一些指標(biāo)是最好的選擇;對系統(tǒng)內(nèi)具有相似場景的指標(biāo)數(shù)據(jù),可以采用基于相似度的算法,但其計算量較大并且效率不高,應(yīng)考慮利用統(tǒng)計學(xué)特征做差分,結(jié)合閾值進行檢測;對于樣本足夠且可以用來訓(xùn)練模型的數(shù)據(jù),在外部用神經(jīng)網(wǎng)絡(luò)訓(xùn)練好模型,放至嵌入式系統(tǒng)以提高效率。

1.2 故障診斷技術(shù)

故障診斷的核心功能是根因分析,需要在異常檢測的基礎(chǔ)上進一步明確故障類型、故障部位、故障原因,并把故障定位到實施修理時的可更換單元。

根因分析也是故障診斷的難點,國內(nèi)外在該領(lǐng)域已經(jīng)取得了許多有價值的研究成果,有基于圖論的符號有向圖(Signed Directed Graph,SDG)[14-16]和故障樹分析(Fault Tree Analysis,F(xiàn)TA)[17-19]、基于專家系統(tǒng)[20]、基于機器學(xué)習(xí)[21]、基于模糊理論[22]等。在此基礎(chǔ)上,一些研究工作通過聯(lián)合多種方式取得了更好的診斷效果,如文獻[23]用專家系統(tǒng)和神經(jīng)網(wǎng)絡(luò)聯(lián)合診斷,文獻[24-25]用模糊petri 網(wǎng)模型和故障樹聯(lián)合診斷等。表2 列出近年來使用最多、研究熱度較高的3 類方法的優(yōu)缺點。

表2 不同根因分析算法分類比較Table 2 Comparison of different root cause analysis algorithms categories

從實際應(yīng)用情況看,基于故障樹及專家系統(tǒng)的根因分析普遍取得很好的效果。利用機器學(xué)習(xí)獲取異常事件之間關(guān)聯(lián)關(guān)系進行故障診斷的方法,大都仍停留在實驗研究層面。文獻[27]介紹了某E 級系統(tǒng)中使用機器學(xué)習(xí)方式支持故障診斷,但并未給出具體應(yīng)用情況及實質(zhì)性成果。智慧運維領(lǐng)域的云智慧研究院算法團隊通過實驗研究認(rèn)為,在針對根因分析的各種機器學(xué)習(xí)模型中,由于各層信息的物理意義不明確,盲目運用到運維領(lǐng)域造成了診斷結(jié)果不可解釋,認(rèn)為脫離系統(tǒng)知識的機器學(xué)習(xí)方法學(xué)到的是事件的相關(guān)性而非因果性。文獻[28-29]介紹了當(dāng)前的機器學(xué)習(xí)學(xué)到的是事件相關(guān)性而非因果性,而相關(guān)性和因果性之間尚存在一定的鴻溝[30-32],主要原因在于當(dāng)前的機器學(xué)習(xí)尚不具備邏輯性[33-34]。云智慧研究院算法團隊主張切忌以“智能”算法為基礎(chǔ)進行根因分析方法的設(shè)計,對根因分析算法產(chǎn)品的設(shè)計思路要用運維的邏輯做支撐,抽象運維經(jīng)驗,將運維的排除故障經(jīng)驗自動化。

本文討論的故障診斷系統(tǒng)處于維護系統(tǒng)內(nèi)部,待分析的數(shù)據(jù)均為硬件信息及硬件配置參數(shù),和系統(tǒng)軟件應(yīng)用相關(guān)的只有節(jié)點所處的作業(yè)隊列信息,故障診斷關(guān)注的核心是關(guān)鍵芯片及器件的硬件問題。芯片器件大多歷經(jīng)幾代研發(fā)改進,一些故障發(fā)生的根因已經(jīng)經(jīng)過芯片設(shè)計者、系統(tǒng)管理者及應(yīng)用開發(fā)者聯(lián)合診斷確認(rèn),所以根因分析最有效的手段首選基于專家經(jīng)驗,研發(fā)主體基于專家知識,以系統(tǒng)知識和運維知識為基礎(chǔ),充分學(xué)習(xí)領(lǐng)域?qū)<以趩栴}求解過程中所用到的結(jié)構(gòu)知識、因果知識、行為知識,建立包含這些知識規(guī)則的較為完備的知識圖譜。在某些特定問題上,通過對大量故障實例的機器學(xué)習(xí),協(xié)助專家提取知識。針對診斷結(jié)論由反饋機制進行確認(rèn),而后通過特征提取生成樣本,在樣本累積到一定程度后用BP 神經(jīng)網(wǎng)絡(luò)對該知識進行學(xué)習(xí)。

1.3 故障預(yù)測技術(shù)

故障預(yù)測是根據(jù)系統(tǒng)內(nèi)發(fā)生故障時的大量歷史數(shù)據(jù)特征,結(jié)合當(dāng)前數(shù)據(jù)狀態(tài)對未來一段時間出現(xiàn)故障的可能性進行預(yù)測。

故障預(yù)測的方法目前主要有基于模型、基于知識和基于數(shù)據(jù)驅(qū)動3 種類型?;谀P偷墓收项A(yù)測方法原理是將系統(tǒng)實際執(zhí)行行為與模型描述的預(yù)期行為進行比較,通過發(fā)現(xiàn)明顯行為差異來預(yù)測系統(tǒng)故障[34]?;谥R的故障預(yù)測方法原理主要依據(jù)專家經(jīng)驗和知識進行定性推理,比如系統(tǒng)中某個異常故障的發(fā)生就預(yù)示不久的將來大概率會發(fā)生另一個更為嚴(yán)重的故障?;跀?shù)據(jù)驅(qū)動的預(yù)測方法利用系統(tǒng)大量離線數(shù)據(jù)對當(dāng)前采樣的在線數(shù)據(jù)進行分析處理,對未來一段時間的數(shù)據(jù)趨勢進行預(yù)測或識別潛在故障。

模型、知識和數(shù)據(jù)驅(qū)動可以結(jié)合起來進行預(yù)測。文獻[35-36]介紹了通過挖掘事件之間的關(guān)聯(lián),將故障預(yù)測過程轉(zhuǎn)換為查找故障間是否存在關(guān)聯(lián)規(guī)則的過程,用事件關(guān)聯(lián)圖來表示事件規(guī)則并預(yù)測故障事件。

基于以上3 種方法的故障預(yù)測算法有灰色模型預(yù)測、隱馬爾科夫模型預(yù)測、神經(jīng)網(wǎng)絡(luò)預(yù)測和支持向量機預(yù)測,這些算法可以混合使用,也可以為每種算法賦予不同權(quán)重后組合使用[35]。在故障檢測中用到的一些算法也可以用于故障預(yù)測,如對時間序列的分析算法結(jié)合滑動窗口進行預(yù)測。

在對故障預(yù)測的研究中發(fā)現(xiàn),國內(nèi)外研究文獻對超級計算機系統(tǒng)傾向于使用各種日志進行預(yù)測,比如對基于日志記錄中故障事件的時間與故障事件之間的關(guān)聯(lián)性[35]進行故障預(yù)測,或是根據(jù)日志記錄中各類事件(包括故障事件和非故障事件)的分布特點進行故障預(yù)測[37]。本文討論的故障預(yù)測模塊位于高性能計算維護系統(tǒng)內(nèi),本就處于底層,系統(tǒng)內(nèi)有關(guān)硬件的日志信息來自維護本身,故障檢測模塊已經(jīng)能夠提供幾乎所有信息,無須對日志進行重復(fù)挖掘。

文獻[38]介紹了一種用于高性能計算機系統(tǒng)的故障預(yù)測方法。利用雙數(shù)據(jù)源(環(huán)境狀態(tài)數(shù)據(jù)和系統(tǒng)運行狀態(tài)數(shù)據(jù))通過計算互信息和距離來度量屬性和類別之間的相關(guān)性,用SVM 分類器確定最佳屬性子集,用基于SVM 集成數(shù)據(jù)流挖掘方法建立故障預(yù)測模型,最后基于實時狀態(tài)樣本預(yù)測結(jié)果,結(jié)合移動窗口判定預(yù)測節(jié)點運行狀態(tài)。該方法用于本文討論的環(huán)境中會有3 個問題:1)屬性和類別之間的相關(guān)性如果缺乏專家知識做指引會帶來大量不必要的計算;2)故障預(yù)測模型的建立需要足夠多的故障節(jié)點數(shù)據(jù);3)預(yù)測模塊運行在插件級平臺上,數(shù)量達數(shù)萬之多,如果預(yù)測模型準(zhǔn)確率不夠高,難免會報出大量無效信息,使得后續(xù)維護處理陷入無意義的消耗,甚至影響系統(tǒng)正常維護運行。

綜上所述,為使故障預(yù)測在工程化應(yīng)用中取得實效,本文聯(lián)合運用基于模型、知識以及數(shù)據(jù)驅(qū)動的方式,采用以下兩種實現(xiàn)方法:一是充分利用領(lǐng)域?qū)<乙阎念A(yù)測知識建立模型或規(guī)則;二是以場景為導(dǎo)向,針對不同應(yīng)用場景,對系統(tǒng)或部件大量信息數(shù)據(jù)表現(xiàn)出來的確定性行為規(guī)律進行知識提取,建立適用不同特定場景的多種模型。預(yù)測時間域的設(shè)置也要合理,過小過大都無意義,太小來不及后續(xù)處理,太大則期間可能發(fā)生其他因素的變化,會對預(yù)測結(jié)果產(chǎn)生偏離影響,要根據(jù)系統(tǒng)自身特征表現(xiàn)適當(dāng)設(shè)置。

2 高性能計算機維護故障邊緣診斷系統(tǒng)設(shè)計

針對高性能計算機的維護故障診斷系統(tǒng),要具備較好的可擴展性,能夠高效采集大規(guī)模系統(tǒng)中各種關(guān)鍵器件的運行狀態(tài)、環(huán)境參數(shù)狀態(tài),全面檢測并準(zhǔn)確識別系統(tǒng)中的異?,F(xiàn)象和故障,給出相對精準(zhǔn)的診斷結(jié)論,輔助人工高效排查并解決問題,對系統(tǒng)中潛在故障能夠及時準(zhǔn)確預(yù)報。本文提出一種維護故障邊緣診斷系統(tǒng)來滿足數(shù)E 級高性能計算機系統(tǒng)的以上需求。

2.1 可擴展的邊緣診斷架構(gòu)設(shè)計

維護故障診斷系統(tǒng)以軟件開發(fā)為主,智能化只能在一定程度上促進局部高效性,硬件系統(tǒng)部件眾多、結(jié)構(gòu)復(fù)雜,診斷系統(tǒng)要實現(xiàn)異常故障的實時檢測、診斷及預(yù)測,需要從總體架構(gòu)開始進行系統(tǒng)級優(yōu)化,結(jié)合全機維護系統(tǒng)硬件結(jié)構(gòu)進行合理設(shè)計。

設(shè)計實現(xiàn)高效、高可擴展性的診斷系統(tǒng)總體框架,將其各功能模塊的各個部分合理分布在維護系統(tǒng)內(nèi),分級管理是高性能計算系統(tǒng)中最為簡潔有效的通用管理思想。

基于組裝結(jié)構(gòu)的維護系統(tǒng)整體硬件架構(gòu)如圖1所示。左半部分為神威E 級原型機系統(tǒng)的組裝結(jié)構(gòu)。眾多節(jié)點位于不同的物理層次上,若干節(jié)點組成插件,若干插件組成超節(jié)點,若干超節(jié)點最后組成了系統(tǒng)。右半部分分級的維護系統(tǒng)依據(jù)組裝結(jié)構(gòu)分別在插件級、超節(jié)點級以及系統(tǒng)級實現(xiàn)硬件分級管理,發(fā)揮“超級管家”的功能。一級維護是插件級維護,向下直接面向多種底層關(guān)鍵芯片及器件,通過各種硬件協(xié)議獲取底層硬件信息;二級維護為超節(jié)點級維護,是數(shù)據(jù)的匯集地及分散地,向下與若干插件之間進行高效數(shù)據(jù)交換,向上與三級維護進行數(shù)據(jù)交換;三級維護為系統(tǒng)級維護,是系統(tǒng)管理員及用戶獲取系統(tǒng)信息的接口,向下與二級維護之間進行數(shù)據(jù)交換。耦合硬件系統(tǒng)的這種分級架構(gòu)實現(xiàn)層次化的維護架構(gòu),有利于支撐軟件實現(xiàn)信息數(shù)據(jù)的高效傳輸,包括向上匯集以及向下分發(fā)。

圖1 組裝結(jié)構(gòu)及維護系統(tǒng)硬件架構(gòu)Fig.1 Assembly structure and maintenance system hardware architecture

基于以上三級維護硬件架構(gòu)的特點,本文提出邊緣診斷架構(gòu)設(shè)計,將檢測、診斷及預(yù)測的行為本地化,部署在獲取相應(yīng)硬件信息最近的地方。各功能模塊按照執(zhí)行效率及執(zhí)行范圍分布到各級維護的嵌入式系統(tǒng)上。對硬件數(shù)據(jù)的采集、插件級異常檢測、插件級故障診斷及預(yù)測放在離節(jié)點最近的一級維護嵌入式系統(tǒng)上運行,超節(jié)點級異常檢測、故障診斷及預(yù)測運行在二級維護嵌入式系統(tǒng)上,系統(tǒng)級跨超節(jié)點的檢測、診斷、預(yù)測、系統(tǒng)級數(shù)據(jù)的應(yīng)用以及用戶接口均運行在三級維護嵌入式系統(tǒng)上,每一級維護嵌入式系統(tǒng)上都有各自的數(shù)據(jù)庫,前兩級維護中的數(shù)據(jù)同時匯入上一級數(shù)據(jù)庫。維護故障診斷系統(tǒng)框架如圖2 所示。

圖2 維護故障診斷系統(tǒng)框架Fig.2 Framework of maintenance fault diagnosis system

維護故障診斷系統(tǒng)框架的運行情況總體來看是一級維護層并行采集系統(tǒng)硬件信息,經(jīng)過計算分析處理后,將各自結(jié)果并行發(fā)往各自的二級維護,二級維護層在完成本級分析匯總后將結(jié)果并行發(fā)往三級維護,三級維護層完成系統(tǒng)級分析后,綜合一二級維護層的結(jié)果信息入庫,最上層的管理員及用戶可以隨時從該數(shù)據(jù)庫中獲取整個系統(tǒng)的故障檢測診斷及預(yù)測情況。理論上,用戶獲取整個系統(tǒng)信息的時間基本等同于直接訪問第三級數(shù)據(jù)庫的時間,系統(tǒng)運行效率與規(guī)模無關(guān),具有較高的可擴展性。

2.2 系統(tǒng)總體流程設(shè)計

維護故障診斷系統(tǒng)總體結(jié)構(gòu)及流程如圖3所示。

圖3 維護故障診斷系統(tǒng)功能結(jié)構(gòu)及流程Fig.3 Maintenance fault diagnosis system functional structure and procedure

一級維護以10 s 為周期進行采集操作,數(shù)據(jù)信息進入異常檢測模塊后,將可明確反映出異常及故障的數(shù)據(jù)交由異常檢測規(guī)則庫進行處理,規(guī)則庫結(jié)合歷史信息及系統(tǒng)配置信息輸出明確的異常及故障信息;需要經(jīng)過數(shù)據(jù)挖掘處理的關(guān)鍵異常信息,則由異常檢測算法庫調(diào)用相應(yīng)算法進行異常及故障信息的檢測,算法輸出的異常及故障均為疑似異常和疑似故障。

確定性異常和疑似異常均需要經(jīng)過異常過濾接口才能進入待診斷狀態(tài)。異常過濾接口的作用是過濾掉不需要被診斷的異常,包含兩種情況:一種是通過外部打標(biāo)接口確認(rèn)不需要關(guān)注的異常;另一種是已經(jīng)被診斷過但因未被處理仍然在報的異常。

過濾后的待診斷信息進入故障診斷模塊,故障診斷模塊由故障診斷規(guī)則庫、故障診斷推導(dǎo)樹及專用神經(jīng)網(wǎng)絡(luò)故障診斷模型組成。

規(guī)則庫和推導(dǎo)樹均基于領(lǐng)域內(nèi)專家知識圖譜建立,規(guī)則庫里故障及根因有比較明確的對應(yīng)關(guān)系或經(jīng)簡單推理即可,推導(dǎo)樹的邏輯比規(guī)則庫復(fù)雜,要結(jié)合多種數(shù)據(jù)信息多次聯(lián)合推導(dǎo),診斷模塊中會有若干故障推導(dǎo)樹。

用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練診斷模型的樣本,部分來源于系統(tǒng)在模擬驗證階段的故障信息,其他則基于專家知識模擬,該模型在三級維護系統(tǒng)上訓(xùn)練,在一級維護系統(tǒng)上運行,系統(tǒng)內(nèi)可以有多個診斷模型。

待診斷信息在經(jīng)過規(guī)則庫后,或者直接獲取故障根因,或者根據(jù)規(guī)則庫中的標(biāo)記進入推導(dǎo)樹或調(diào)用診斷模型。獲取到故障根因后進入故障定位,故障定位的功能有3 個:明確故障發(fā)生部件;根據(jù)對系統(tǒng)及應(yīng)用的影響程度確定故障等級;結(jié)合根因結(jié)果定位可替換故障單元。

異常檢測及故障診斷算法除了分布在一級維護上,還分布在二級和三級維護上。二級和三級維護系統(tǒng)上駐留的算法是利用各級結(jié)構(gòu)知識和系統(tǒng)配置信息,分別進行中板級和系統(tǒng)級數(shù)據(jù)的對比檢測、診斷。

故障預(yù)測算法駐留在一級維護系統(tǒng)中,針對幾種場景設(shè)計,每隔1 min 對庫中當(dāng)前時刻前3 min 內(nèi)相關(guān)數(shù)據(jù)進行計算。

結(jié)構(gòu)信息、配置信息、采集信息、檢測信息、診斷信息、預(yù)測信息均記入相應(yīng)層級的數(shù)據(jù)庫中,一級數(shù)據(jù)庫中的信息會同時記入二級數(shù)據(jù)庫,一級數(shù)據(jù)庫保留兩周內(nèi)插件級的信息,二級數(shù)據(jù)庫會同時記入三級數(shù)據(jù)庫,二級數(shù)據(jù)庫保留兩周內(nèi)中板級信息,三級數(shù)據(jù)庫保留整個系統(tǒng)至少三個月內(nèi)的信息。

1.2 節(jié)中研究表明,通過機器學(xué)習(xí)進行故障診斷的方法目前大都仍處于實驗研究階段,本次維護故障診斷系統(tǒng)的設(shè)計目標(biāo)要求設(shè)計內(nèi)容在工程中取得較好實際效果,所以,通過機器學(xué)習(xí)建立模型的方式不是本次設(shè)計的主要選用技術(shù),但因其具有較大的應(yīng)用前景,本文系統(tǒng)中也做了一些設(shè)計為后續(xù)該技術(shù)的使用做準(zhǔn)備,具體包括:1)以存儲顆粒故障診斷為切入點,用神經(jīng)網(wǎng)絡(luò)進行模型訓(xùn)練;2)在系統(tǒng)級的三級維護數(shù)據(jù)庫中,為探索神經(jīng)網(wǎng)絡(luò)方式進行異常檢測及故障診斷保存積累樣本,設(shè)計打標(biāo)接口對樣本故障根因進行反饋標(biāo)注。

2.3 異常檢測設(shè)計

異常檢測模塊對高性能計算機維護系統(tǒng)管理的所有芯片、部件的各種運行狀態(tài)、環(huán)境參數(shù)進行周期性采集,運用規(guī)則算法對數(shù)據(jù)進行全面的異常及故障檢測,過濾噪點及誤報信息,提取比較確定的異常及故障信息。

在故障檢測模塊中設(shè)計若干異常檢測算法,在調(diào)用算法前根據(jù)數(shù)據(jù)指標(biāo)特征設(shè)計算法選擇器,最后將得到的疑似異常進行過濾后提供給故障診斷子系統(tǒng)。過濾的方式初期主要依賴三級管理上的相應(yīng)接口,該接口接受專業(yè)人員對異常進行確認(rèn)標(biāo)記,然后將標(biāo)記發(fā)往一級維護,中后期對積累的帶標(biāo)數(shù)據(jù)建立規(guī)則或進行神經(jīng)網(wǎng)絡(luò)模型的學(xué)習(xí),定期將過濾規(guī)則及模型更新至一級維護。

具體到異常檢測算法設(shè)計,雖然異常數(shù)據(jù)檢測有各種理論支撐的多種技術(shù)手段,但在高性能計算硬件系統(tǒng)異常檢測領(lǐng)域,執(zhí)行效率尤為重要,需考慮龐大的處理信息,以及對維護系統(tǒng)計算資源的消耗,算法的設(shè)計不宜復(fù)雜。所以,本文設(shè)計中仍圍繞被實踐證明落地有效、執(zhí)行效率最高的專家知識設(shè)計,以及用各種理論支撐的算法輔助實現(xiàn)專家知識算法化、智能化。

異常檢測的首要工作是確定被采集的指標(biāo)向量。例如環(huán)境參數(shù)指標(biāo)向量應(yīng)包括各級溫度、電壓、電流、板級漏水等,針對關(guān)鍵芯片器件的指標(biāo)向量應(yīng)包含各種反映其運行情況的寄存器信息,針對系統(tǒng)內(nèi)一些嵌入式系統(tǒng)的指標(biāo)向量應(yīng)包含其關(guān)鍵服務(wù)的運行狀態(tài)、服務(wù)響應(yīng)時間、CPU 使用率、內(nèi)存占用率、日志增長速度、磁盤占用率等。由于硬件信號質(zhì)量問題及錯誤狀態(tài)瞬時性特點,異常很難被采集到,軟件手段的檢測只能不斷接近,永遠無法做到真正意義的全面檢測,這是異常檢測的難點。

為提升檢測的全面性及準(zhǔn)確性,與上一代故障診斷系統(tǒng)相比,主要增加的設(shè)計方法有以下5 點:

1)通過硬件設(shè)計實現(xiàn)密集數(shù)據(jù)采集。增加信息采集次數(shù)能夠獲取更多的信息,是提升檢測全面性及準(zhǔn)確性最直接的手段。目前系統(tǒng)內(nèi)采集周期為10 s,不宜再通過軟件的手段直接縮短采集周期,原因主要有:采集程序所在嵌入式平臺上運行的服務(wù)較多,采集程序頻繁采集數(shù)據(jù)會影響關(guān)鍵服務(wù)的服務(wù)能力;后續(xù)的檢測診斷等信息要在采集周期內(nèi)完成,需要留足夠的時間。本文設(shè)計提出由底層硬件進行適當(dāng)?shù)木彌_設(shè)計,硬件每隔1~2 s 將自身關(guān)鍵信息進行自動保存,在軟件采集時,一次性將軟件采集周期內(nèi)緩存的若干數(shù)據(jù)送出。

2)濾除毛刺,提升檢測準(zhǔn)確率。為追求簡單和效率,高性能計算系統(tǒng)內(nèi)通常用恒定閾值的方式檢測異常,硬件信號噪點或毛刺也會引起單點閾值異常。為解決上一代檢測系統(tǒng)出現(xiàn)的誤報問題,設(shè)計以下2 種方式:

(1)多指標(biāo)聯(lián)合判斷。認(rèn)為系統(tǒng)中一個真正的異常及故障必然會引發(fā)或伴隨其他與之相關(guān)的異常,對檢測出的某異常指標(biāo),結(jié)合必然受其影響的指標(biāo)或與其有較強相關(guān)性的指標(biāo)校驗結(jié)果,如果該指標(biāo)異常是唯一異常,即認(rèn)為本次數(shù)據(jù)為誤報。

(2)推遲判斷。在前面周期內(nèi)檢測到異常時先打標(biāo)記,若后續(xù)若干周期內(nèi)檢測到異常的次數(shù)超過n,則記為異常,否則忽略掉。

上述兩種方式按照指標(biāo)誤報的特點可單獨使用,在某些情況下,必須結(jié)合起來使用才更準(zhǔn)確全面。比如,在檢測出某芯片電壓數(shù)據(jù)單點超閾值后,用第1 種方式等待芯片其他指標(biāo)的異常檢測算法調(diào)用完畢后聯(lián)合判斷,如果其他指標(biāo)均正常,那么判斷該單點電壓異常就被忽略掉,因為該電壓并沒有引發(fā)任何芯片異常,芯片依然在正常運行中,隨后的周期內(nèi)第1 種方式均做出忽略該異常的判斷。但同時第2 種方式也在隨后周期內(nèi)檢測到電壓數(shù)據(jù)異常次數(shù)超過n,那么這個頻頻誤報的電壓異?,F(xiàn)象就不應(yīng)該被忽略,因為很可能意味著電源芯片中存在問題,其流程如圖4 所示。

圖4 消除誤報數(shù)據(jù)的算法流程Fig.4 The algorithm procedure of eliminating false positive data

3)建立關(guān)鍵部件的故障樹。故障樹是專家知識最集中的體現(xiàn),主要由負責(zé)硬件設(shè)計專家及運維專家共同構(gòu)建。系統(tǒng)為所有待檢測部件按類構(gòu)建各自的故障樹。故障樹的根是該硬件的總體狀態(tài),節(jié)點由該硬件配置參數(shù)、反映該硬件各級部件的記錄故障情況和運行狀態(tài)情況寄存器組成。故障樹能實現(xiàn)對硬件器件的快速異常檢測,從器件總狀態(tài)到具體部件狀態(tài),再到部件內(nèi)某類異常甚至某子類異常。與上一代僅對處理器芯片建立故障樹相比,減少了其他器件大量冗余信息的采集,提高了處理效率,檢測系統(tǒng)的邏輯結(jié)構(gòu)也更為清晰。故障樹異常檢測算法在定義好樹根之下各節(jié)點之間的關(guān)系后,則樹形查找的算法本身非常簡潔。

4)利用系統(tǒng)結(jié)構(gòu)信息和配置信息帶來的數(shù)據(jù)關(guān)聯(lián)性進行異常檢測。這也是本文設(shè)計與上一代診斷系統(tǒng)相比新增加的設(shè)計。在高性能計算機系統(tǒng)中,每個部件都有大量同類,本文提出如下異常檢測理論:如果數(shù)據(jù)來自生存環(huán)境類似或者使用場景類似的同類部件,那么反映這些部件相應(yīng)特征向量的數(shù)據(jù)具有近似性。例如,位于同一冷板下并運行同一個作業(yè)的CPU 芯片的溫度值和功耗值理論上應(yīng)該接近,如果某個芯片溫度或功耗明顯較高,就被檢測認(rèn)為疑似異常。

除了對相同系統(tǒng)結(jié)構(gòu)以及相同配置下的數(shù)據(jù)進行類比檢測外,系統(tǒng)中還對具有明確預(yù)期的場景,保存其正常狀態(tài)數(shù)據(jù)建模,用于與實際相同場景下的數(shù)據(jù)進行類比,比如保存某特定類型課題跑題時的特征觀測向量的數(shù)據(jù),在系統(tǒng)中再次運行該類型課題時,采集到的相應(yīng)數(shù)據(jù)應(yīng)該與保存的數(shù)據(jù)具有近似性。

該類算法設(shè)計也非常簡潔,只要計算待檢測數(shù)據(jù)與同類該數(shù)據(jù)的期望之差,對差值調(diào)用閾值判定即可。

5)維護嵌入式系統(tǒng)的異常檢測。維護嵌入式系統(tǒng)是整個維護軟件系統(tǒng)運行的主要平臺,該平臺主要有負責(zé)系統(tǒng)開工及實現(xiàn)各硬件維護接口的維護服務(wù)、故障檢測、診斷、預(yù)測、各種驅(qū)動及固件、數(shù)據(jù)庫、文件更新引擎以及各種守護進程,平臺的異常和故障對系統(tǒng)影響重大,所以在這一代故障診斷系統(tǒng)中加入對維護嵌入式系統(tǒng)的異常檢測設(shè)計。維護嵌入式系統(tǒng)的異常檢測指標(biāo)依據(jù)實際需求設(shè)定,包括關(guān)鍵服務(wù)程序及文件的版本檢查、各程序的響應(yīng)速率、各種日志增長速度、系統(tǒng)網(wǎng)絡(luò)通信狀況、CPU 及內(nèi)存使用率、磁盤占用率等。

維護嵌入式系統(tǒng)主要用到兩類異常檢測算法:

(1)響應(yīng)速率類指標(biāo)的異常檢測算法。先計算周期性采集信息中發(fā)出命令包和收到返回包之間的時間間隔,然后按平穩(wěn)性數(shù)據(jù)異常檢測算法即多次均值超閾值來上報異常,算法流程如圖5 所示。對連續(xù)三次掃描的響應(yīng)時間取均值,將響應(yīng)時間從T空間轉(zhuǎn)換到E空間,q為閾值,E空間值大于q,上報響應(yīng)速率異常。

圖5 響應(yīng)速率異常檢測算法流程Fig.5 Procedure of response rate anomaly detection algorithm

(2)增長速度類指標(biāo)的異常檢測算法。將每次取得的數(shù)值與前一次求差值,將其轉(zhuǎn)換到新的空間,然后在該空間用平穩(wěn)性數(shù)據(jù)異常檢測算法上報異常。

異常故障檢測子系統(tǒng)報出的所有非確定性異常需要再次經(jīng)專家打標(biāo)過濾確認(rèn)后,才能提供給故障診斷模塊。

2.4 故障診斷設(shè)計

故障診斷模塊對故障檢測模塊中輸出的確定性異常及故障進行定位、根因分析、確定故障等級。故障定位明確出異常和故障發(fā)生的部件位置,根因分析挖掘異常和故障的根本原因,故障等級對異常故障在部件或系統(tǒng)中造成影響的輕重程度進行定性。本文討論的故障診斷系統(tǒng)仍屬于在線診斷范疇,對于一些需要借助萬用表、示波器等儀器進行信號質(zhì)量測量和需要交叉定位的故障,僅能根據(jù)數(shù)據(jù)現(xiàn)象給出中間性診斷結(jié)論。

故障定位的信息一般情況下已經(jīng)包含在故障檢測信息中,異常和故障是從哪里采集并檢測到的,診斷系統(tǒng)僅需提取相應(yīng)位置即可。

確定故障等級可以從多角度劃分,高性能計算領(lǐng)域一般傾向于按照對作業(yè)的影響程度劃分。上一代故障診斷系統(tǒng)分為三類故障:不影響作業(yè)運行為一級故障,影響部分作業(yè)運行為二級故障,所有作業(yè)均不能運行為三級故障。在實際使用中,專業(yè)人員希望從故障等級上更直觀地獲取信息,本文設(shè)計中將故障等級分為六級:一級故障,作業(yè)運行過程中發(fā)生的各種異常告警;二級故障,作業(yè)運行過程中發(fā)生的可糾錯;三級故障,作業(yè)運行中的偶發(fā)錯,作業(yè)再次運行后故障有可能不會再現(xiàn);四級故障,影響個別作業(yè),一般是芯片的某部件故障,只有用到該部件的作業(yè)會被影響,其他作業(yè)不受影響;五級故障,影響經(jīng)過該故障單點的所有作業(yè);六級故障,影響面較大,發(fā)生后,如果不立即處理,會影響其他點正常運行,甚至所有作業(yè)都無法進行,如漏水、掉電、堵網(wǎng)以及導(dǎo)致本級維護系統(tǒng)掛死等。這種劃分方式專業(yè)度較高,需要對故障本身有深入的認(rèn)識。

在上一代基礎(chǔ)上,根因分析功能增加了故障推導(dǎo)樹,主要有以下3 類:

1)以原因比較復(fù)雜的故障現(xiàn)象為根,如堵網(wǎng)故障推導(dǎo)樹等。

2)以部件為根,如某核心芯片故障推導(dǎo)樹、某器件故障推導(dǎo)樹、某板級故障推導(dǎo)樹。

3)以指定診斷角度為根,如性能異常推導(dǎo)樹、物理環(huán)境異常推導(dǎo)樹、系統(tǒng)級異常推導(dǎo)樹等。

故障推導(dǎo)樹可以自動診斷分支較多、原因復(fù)雜的故障,并接受外部打標(biāo)的帶目的性的診斷請求。

一級、二級、三級管理中均增加了結(jié)合系統(tǒng)結(jié)構(gòu)及系統(tǒng)配置信息的故障診斷設(shè)計,其流程如圖6 所示。算法思想是:如果在對結(jié)構(gòu)信息及配置信息數(shù)據(jù)進行聚類后的結(jié)果中,某配置信息聚類結(jié)果與某指標(biāo)對故障點和正常點的分類一致,那么該配置項大概率就是該指標(biāo)異常的根因。例如在全機范圍內(nèi)檢測到多個點的某同一指標(biāo)異常,通過算法結(jié)合配置信息后,發(fā)現(xiàn)這些異常屬同一個器件的同一個生產(chǎn)批次,那么診斷意見就是該批次器件質(zhì)量問題;再如,異常現(xiàn)象為系統(tǒng)中若干網(wǎng)絡(luò)端口的某寄存器均發(fā)生溢出,算法結(jié)合系統(tǒng)結(jié)構(gòu)信息,發(fā)現(xiàn)這些網(wǎng)絡(luò)端口均與網(wǎng)絡(luò)中某異常網(wǎng)絡(luò)插件相連,那么這些網(wǎng)絡(luò)端口異常的診斷意見就是由該網(wǎng)絡(luò)插件的異常所導(dǎo)致等。

圖6 診斷算法流程Fig.6 Procedure of diagnostic algorithm

本次故障診斷設(shè)計中增加了神經(jīng)網(wǎng)絡(luò)的診斷方式,考慮到系統(tǒng)內(nèi)存儲顆粒因為其數(shù)量巨大,相對而言在系統(tǒng)中的故障率不算低,影響也比較大,設(shè)計使用神經(jīng)網(wǎng)絡(luò)的方式對存儲顆粒故障進行診斷具有實踐價值。系統(tǒng)內(nèi)節(jié)點眾多,每個節(jié)點均有數(shù)十存儲顆粒,顆粒上的故障根因有可能是計算節(jié)點的問題,也有可能是顆粒本身的問題,或者是顆粒附近參考電壓的問題,具體是哪路參考電壓則和顆粒的位置相關(guān)。在該問題上維修反饋的信息顯示,專家診斷結(jié)果的準(zhǔn)確率約為75%,故設(shè)計使用神經(jīng)網(wǎng)絡(luò)的方式,理論上結(jié)合正確標(biāo)簽樣本的訓(xùn)練模型能提高對存儲顆粒故障診斷的準(zhǔn)確率。設(shè)計中依據(jù)專家診斷存儲顆粒根因的經(jīng)驗知識,選取相關(guān)寄存器及顆粒位置形成若干輸入特征向量,結(jié)合幾種可能的根因標(biāo)簽補充樣本,再加入返修打標(biāo)的實際故障樣本(返修會按有效返修手段標(biāo)注根因,該根因有可能和返修前的診斷意見并不一致)進行分類器模型訓(xùn)練,訓(xùn)練好的模型可以直接用于顆粒故障診斷。

2.5 故障預(yù)測設(shè)計

故障預(yù)測模塊在系統(tǒng)正常運行的情況下,通過對來自檢測模塊的歷史數(shù)據(jù)進行持續(xù)分析,對未來一段時間內(nèi)系統(tǒng)發(fā)生故障的可能性和發(fā)生故障的類型進行預(yù)判。其現(xiàn)實意義是在系統(tǒng)發(fā)生故障前,通過提前調(diào)度等預(yù)防措施,避免故障的發(fā)生或者降低故障發(fā)生帶來的系統(tǒng)資源損失。

故障預(yù)測是維護故障診斷系統(tǒng)中新加入的功能。根據(jù)第2 節(jié)研究結(jié)果,設(shè)計了尋找指標(biāo)數(shù)據(jù)周期性及趨勢性的算法,利用周期性及趨勢性對指標(biāo)進行預(yù)測。提高預(yù)測準(zhǔn)確率是該故障診斷系統(tǒng)的首要設(shè)計目標(biāo)。預(yù)測子系統(tǒng)的主體部分是針對一些專家已知的預(yù)測知識建立規(guī)則,對常用的場景建立預(yù)測模型。例如系統(tǒng)在進行專業(yè)測試時,對不同規(guī)模資源的正常功耗曲線進行建模,利用獲取的數(shù)據(jù)計算實時功耗,進行曲線擬合,發(fā)現(xiàn)異常即進行預(yù)測報警。

為使故障預(yù)測取得更多更好的實際效果,主要設(shè)計了2 種預(yù)測算法:

1)基于數(shù)據(jù)的趨勢性進行預(yù)測。算法持續(xù)對時間間隔t內(nèi)采集到的數(shù)據(jù)計算均值、…,檢測到均值的增長趨勢后,開始計算增長速度,然后計算在該速度下超報警閾值的時間。

2)基于已知的故障模型進行預(yù)測。如圖7 所示,該算法針對某場景預(yù)測s時間后將發(fā)生某故障,算法首先要對該場景的故障現(xiàn)場進行建模,如果故障時間為f時刻,建模選取f-s時刻前的一段t時間內(nèi)的數(shù)據(jù),保存其變化曲線。在預(yù)測時,將實際運行中t時間內(nèi)數(shù)據(jù)的變化曲線與保存的變化曲線進行相似度對比,在發(fā)現(xiàn)較高相似度的周期中,預(yù)報s時間后會發(fā)生故障。

圖7 基于已知故障預(yù)測模型Fig.7 Prediction model based on known faults

3 實驗驗證

本文實驗部分用到兩個環(huán)境,分別為神威·太湖之光及神威E 級原型機,其中神威E 級原型機為主要實驗環(huán)境。在該E 級原型機上,對上一節(jié)給出的邊緣診斷系統(tǒng)進行了實驗和驗證測試,并與神威·太湖之光維護故障診斷系統(tǒng)進行了比較。

神威·太湖之光(下文簡稱太湖之光)超級計算機是由國家并行計算機工程技術(shù)研究中心研制,安裝在國家超級計算無錫中心的超級計算機。太湖之光超級計算機峰值性能達到125.436 PFLOPS,系統(tǒng)內(nèi)有160 個運算超節(jié)點,每個超節(jié)點有32 塊插件,每個插件上有8 個運算節(jié)點,系統(tǒng)由40 960 個運算節(jié)點構(gòu)成。插件上BMC 系統(tǒng)僅提供基礎(chǔ)維護服務(wù)及數(shù)據(jù)采集,診斷系統(tǒng)駐留在維護管理服務(wù)器上,由維護管理服務(wù)器發(fā)起對指定目標(biāo)的診斷流程。

神威E 級原型機(下文簡稱E 級原型機)部署在國家超級計算(神威)中心,是繼神威藍光、太湖之光之后神威家族的第三代計算機,該計算機作為一臺E 級計算機的原型機,峰值性能為3.13 PFLOPS。系統(tǒng)由512個運算節(jié)點構(gòu)成,運算節(jié)點為雙節(jié)點結(jié)構(gòu)。E 級原型機采用層次化的組裝結(jié)構(gòu),維護故障診斷系統(tǒng)按照本文設(shè)計的架構(gòu)部署。一級維護分布在256 塊插件上,每個插件負責(zé)2 個運算節(jié)點,二級維護由4 個超節(jié)點維護板組成,每個超節(jié)點維護板負責(zé)64 個插件,三級維護是一臺2.2 GHz、40核、256 GB 內(nèi)存、千兆以太網(wǎng)48T 磁盤的維護管理服務(wù)器,與4 個二級維護交互信息。

3.1 總體架構(gòu)實驗

在E 級原型機系統(tǒng)及太湖之光上,設(shè)計如下兩個實驗:

1)實驗1 目的是觀察該維護診斷架構(gòu)在E 級原型機上的執(zhí)行效率。

在E 級原型機系統(tǒng)上,針對系統(tǒng)中256 個一級維護,在每個一級維護所負責(zé)的4 個運算節(jié)點上隨機挑選兩個節(jié)點,進行人為造錯,在三級維護上觀察并記錄異常檢測及故障診斷的耗時為0.83 s。

在太湖之光系統(tǒng)中選取同樣結(jié)構(gòu)的1 024 個運算節(jié)點,用同樣方法造錯,結(jié)果顯示耗時為21.4 s。

造成以上響應(yīng)時間差異的根本原因在于:太湖之光的檢測及診斷信息是從第三級管理服務(wù)器上逐級向下分發(fā)多線程,對每個節(jié)點執(zhí)行檢測及診斷流程。在診斷流程的執(zhí)行過程中,底層的維護服務(wù)會因為硬件故障的存在導(dǎo)致響應(yīng)時間過長,甚至只能等到超時返回,這些時間也都直接反映到了三級維護對故障診斷的響應(yīng)時間上。除了流程耗時外,信息通過網(wǎng)絡(luò)傳輸也需要耗時。而第3 節(jié)的總體架構(gòu)設(shè)計將最耗時的故障診斷功能分散在最接近底層的一級維護系統(tǒng)內(nèi),一級維護并發(fā)進行周期性及時診斷,將數(shù)據(jù)及時發(fā)往二級和三級維護數(shù)據(jù)庫從而保證在任何時刻,三級維護數(shù)據(jù)庫中均為系統(tǒng)最近一個周期內(nèi)的信息。用戶或管理員直接從第三級數(shù)據(jù)庫中即可迅速獲取系統(tǒng)最新信息。

2)實驗2 目的是評估該維護診斷架構(gòu)在十萬節(jié)點系統(tǒng)上的執(zhí)行效率。

根據(jù)E 級原型機的結(jié)構(gòu)組成,如果系統(tǒng)中有十萬個節(jié)點,按照每個一級維護負責(zé)4 個節(jié)點,每個二級維護對應(yīng)64 個一級維護來計算,系統(tǒng)中將會有大約25 000 個一級維護,約400 個二級維護。

十萬節(jié)點系統(tǒng)與E級原型機系統(tǒng)關(guān)系如圖8所示。

圖8 兩種系統(tǒng)結(jié)構(gòu)的關(guān)系Fig.8 Relation of two system structures

從圖8 可以看出,從一級維護開始執(zhí)行檢測及診斷行為到結(jié)果送至三級維護數(shù)據(jù)庫,十萬節(jié)點系統(tǒng)與E 級原型機系統(tǒng)的主要差別在于t3時段,t1和t2時段均為并發(fā)執(zhí)行,幾乎與規(guī)模擴展無關(guān)。

本文設(shè)計以下實驗對比4 個二級維護與400 個二級維護t3的時間差異。

因E 級原型機與太湖之光均不具備400 個二級維護的條件,選擇模擬實驗在太湖之光環(huán)境中選取400 個插件,將二級維護服務(wù)程序下沉到一級維護的嵌入式系統(tǒng)內(nèi),由400個一級維護模擬二級維護,各自將256條二級維護信息發(fā)往三級維護,記錄耗時為4.26 s。

同樣實驗環(huán)境,依次模擬4、64、128、256以及512 個二級維護,耗時分別為1.93、2.19、2.57、3.11 及5.07 s。

不同二級維護規(guī)模診斷信息匯入三級維護數(shù)據(jù)庫的時間變化趨勢如圖9 所示,據(jù)此可推測該架構(gòu)應(yīng)用于數(shù)E 量級的系統(tǒng),檢測診斷時間應(yīng)小于10 s,說明該架構(gòu)具有較好可擴展性。

圖9 不同二級維護規(guī)模信息匯入三級數(shù)據(jù)庫的時間變化趨勢示意圖Fig.9 Schematic diagram of time change trend of different level II maintenance scale information entering level III database

實驗數(shù)據(jù)顯示,十萬個節(jié)點(對應(yīng)400個二級維護)系統(tǒng)中t3值僅比1 024 個節(jié)點(對應(yīng)4 個二級維護)的系統(tǒng)多耗時數(shù)秒。對十萬個節(jié)點系統(tǒng)進行檢測及診斷的執(zhí)行效率做如下估計:因為t1和t2與規(guī)模擴展無關(guān),借用實驗1 的數(shù)據(jù)0.83 s,得出t=t1+t2+t3=0.83+4.26=5.09 s,說明在一個執(zhí)行周期(10 s)內(nèi),十萬個節(jié)點信息完全能夠在三級維護數(shù)據(jù)庫中更新完成。而用戶通過訪問三級維護數(shù)據(jù)庫獲取這些信息的時間遠小于t。據(jù)此推論,該架構(gòu)如果應(yīng)用于十萬個節(jié)點系統(tǒng)中,獲取最新檢測及診斷信息的時間在10 s 內(nèi)。

在太湖之光上對上萬節(jié)點(大約50 個二級維護)系統(tǒng)維護耗時達數(shù)分鐘,新的架構(gòu)將該性能提升了數(shù)百倍。

3.2 算法實驗

本節(jié)算法實驗環(huán)境均為E 級原型機系統(tǒng)。

1)過濾誤報算法

實驗選用一塊電源芯片,固件更換為在調(diào)試驗證階段發(fā)現(xiàn)有bug 的版本,對由其供電的節(jié)點進行開工跑題,分別使用無過濾誤報算法及有過濾誤報算法進行異常檢測,觀察24 h 內(nèi)的電壓數(shù)據(jù)的變化。實驗結(jié)果如下:無過濾誤報算法異常數(shù)據(jù)為107,有過濾誤報算法異常數(shù)據(jù)為0。實驗結(jié)果表明,設(shè)計的分段均值異常檢測算法對此類誤報數(shù)據(jù)的特征具有很好的識別性。

在太湖之光環(huán)境中統(tǒng)計調(diào)試驗證階段半年內(nèi)信息結(jié)果顯示,在檢測記錄的異常信息中,電源類誤報信息占3.3%。從實驗結(jié)果可以推測,過濾誤報算法幾乎可以消除全部該類誤報信息,認(rèn)為該類誤報率幾乎為0。

2)維護嵌入式系統(tǒng)異常檢測算法

實驗在E 級原型機所有板級維護嵌入式系統(tǒng)上部署該算法,觀察期為1 個月。實驗結(jié)果如表3 所示。

表3 維護嵌入式系統(tǒng)異常檢測算法實驗結(jié)果Table 3 Experimental results of maintaining embedded system anomaly detection algorithm

實驗結(jié)果表明,維護嵌入式系統(tǒng)異常檢測算法能夠及時發(fā)現(xiàn)維護嵌入式系統(tǒng)的各類常見問題,并準(zhǔn)確定位根因,問題的主動發(fā)現(xiàn)及解決成功避免了因維護系統(tǒng)自身的問題導(dǎo)致的維護信息損失。實驗結(jié)果同時表明,應(yīng)將該維護嵌入式系統(tǒng)的故障等級升至最高級別,促使運維人員及時對其進行處理。

該算法對硬件故障診斷覆蓋率的貢獻如下:對太湖之光半年內(nèi)的診斷信息進行統(tǒng)計,由維護嵌入式系統(tǒng)引起的故障占硬件總故障的4.2%,該算法將硬件系統(tǒng)故障診斷覆蓋率提升約4%,同時統(tǒng)計顯示維護嵌入式系統(tǒng)的故障在全部硬件故障中占比為5.9%,該算法亦將硬件系統(tǒng)故障檢測覆蓋率提升約6%。

3)類比故障診斷算法

實驗在一級、二級和三級管理上部署類比故障診斷算法,在近六周的時間內(nèi),記錄主要有3 例,如表4 所示。

表4 類比故障診斷算法實驗結(jié)果Table 4 Experimental Results of Analog Fault Diagnosis Algorithm

實驗結(jié)果表明,類比故障算法有效解決了和系統(tǒng)結(jié)構(gòu)及配置信息相關(guān)的問題,提升了系統(tǒng)診斷效率。

該算法對硬件系統(tǒng)故障診斷覆蓋率的貢獻如下:對太湖之光半年內(nèi)的故障信息進行統(tǒng)計分析,太湖之光維護故障診斷系統(tǒng)硬件系統(tǒng)故障診斷覆蓋率為71%。針對未能給出診斷結(jié)論的部分,通過同類對比可以得出診斷結(jié)論的占比超過65%。據(jù)此認(rèn)為,類比故障診斷算法可以將硬件故障診斷覆蓋率提升約19%。

4)專用模型對比預(yù)測算法

實驗中的預(yù)測算法專用場景介紹:針對在運行某特定課題時,系統(tǒng)中某一組指標(biāo)F{f1,f2,f3}出現(xiàn)特定變化趨勢后,大約3 min 后會發(fā)生節(jié)點故障,進而導(dǎo)致正在運行的應(yīng)用課題被中斷。

算法記錄三項指標(biāo)f1、f2、f3在故障發(fā)生3 min 前的18個掃描周期內(nèi)的數(shù)據(jù)信息M1{d0,d1,…,d17},

在實驗環(huán)境中選取64 個節(jié)點運行該課題,如圖7 所示,每經(jīng)過18 個掃描周期,用相應(yīng)的數(shù)據(jù)與M1、M2、M3計算差值,并在差值空間計算方差。3 個指標(biāo)方差均小于閾值就報在3 min 后即將發(fā)生某故障,否則無信息入庫。

以上實驗運行5 次,實驗部分結(jié)果如表5 所示。

表5 專用模型對比預(yù)測算法實驗結(jié)果Table 5 Experimental results of special model comparison prediction algorithm

該預(yù)測算法具有很強的針對性,通過多次實驗找到了能準(zhǔn)確預(yù)報故障的閾值,證明了該算法的有效性。及時預(yù)測使得課題能夠遷移相關(guān)作業(yè),避免了課題運行中斷。

5)趨勢判斷算法

在實驗環(huán)境中選取10 個節(jié)點,運行專門編寫的高功耗課題引起關(guān)鍵芯片溫度持續(xù)升高,部署趨勢判斷算法對溫度趨勢進行計算,并調(diào)用預(yù)測知識規(guī)則,當(dāng)判斷芯片溫度在30 s 后超預(yù)警值時做出預(yù)警。

實際溫度超閾值時間如圖10 所示。

圖10 溫度超閾值的實際時間示意圖Fig.10 Schematic diagram of actual time of temperature exceeding threshold

6)機器學(xué)習(xí)有關(guān)實驗

實驗環(huán)境為E 級原型機系統(tǒng),實驗根據(jù)E 級原型機系統(tǒng)中的顆粒故障根因的分類設(shè)置7 個根因標(biāo)簽,依據(jù)專家診斷存儲顆粒根因的經(jīng)驗知識,選取相關(guān)寄存器及顆粒位置形成11 個輸入特征向量,創(chuàng)造大約二十萬個樣本,再加入返修打標(biāo)的實際故障樣本進行兩層中間層的分類器模型訓(xùn)練。

實驗結(jié)果顯示,訓(xùn)練出的模型在測試樣本上取得了99.2%的準(zhǔn)確率,尤其是能被專家知識準(zhǔn)確診斷的樣本均完全正確。由于實際故障樣本本身數(shù)量不大,利用專家知識創(chuàng)造樣本的程序借用算法優(yōu)勢輕松地窮舉出了專家知識能覆蓋的樣本集合,因此模型可能存在過擬合問題。同時,如果專家規(guī)則并不算太復(fù)雜,系統(tǒng)中該類故障也并不多,在該具體的點上很難證明利用機器學(xué)習(xí)比用專家規(guī)則高效多少。

7)總體效果評價

從E 級原型機上的驗證結(jié)果可以看出,基于專家知識的檢測、診斷、預(yù)測算法均取得預(yù)期效果。

本文設(shè)計的故障診斷系統(tǒng)與太湖之光系統(tǒng)相比提升情況如表6 所示。

在表6 中,太湖之光的故障檢測誤報率、硬件系統(tǒng)故障檢測覆蓋率及診斷覆蓋率均為半年內(nèi)歷史數(shù)據(jù)的統(tǒng)計結(jié)果,本文設(shè)計的故障診斷系統(tǒng)中以上3 項指標(biāo)值均為估算值。

表6 兩種診斷系統(tǒng)總體效果對比Table 6 Comparison of overall effect of the two diagnosis systems

異常檢測覆蓋率及故障診斷覆蓋率的提升得益于設(shè)計中加入的關(guān)聯(lián)性分析及對維護嵌入式系統(tǒng)自身的檢測及診斷。覆蓋率的提高直接提升了系統(tǒng)的檢測效率及診斷效率,故障診斷的過程也解放了人工分析,進一步提升了診斷效率,故障預(yù)測也能夠比較準(zhǔn)確地預(yù)報重點監(jiān)測的指標(biāo)及幾種關(guān)注的場景。

4 結(jié)束語

維護故障診斷系統(tǒng)是高性能計算機系統(tǒng)的重要組成部分,高能性計算即將進入后E 時代,維護故障診斷系統(tǒng)的作用越來越突出,傳統(tǒng)機制的執(zhí)行效率及準(zhǔn)確率和覆蓋率需要進一步提升以滿足需求。本文面向E 量級高性能計算系統(tǒng)需求,對可擴展的高效維護故障診斷系統(tǒng)進行研究及設(shè)計。實驗結(jié)果表明,本文設(shè)計的維護故障診斷系統(tǒng)在運行性能上可滿足十萬節(jié)點規(guī)模系統(tǒng),在功能實現(xiàn)上,設(shè)計的融合系統(tǒng)結(jié)構(gòu)及專家知識的檢測、診斷及預(yù)測算法均達到了預(yù)期效果,執(zhí)行效率、準(zhǔn)確率及覆蓋率均取得較大提升。近年來,AIOps 作為更高效的工具逐漸成為運維領(lǐng)域的首要選擇[39],高性能計算機硬件的維護故障診斷也將趨向人工智能化。后續(xù)將研究智能手段與專家知識深度融合的技術(shù),找到更好更多的融合切入點,進一步提升維護故障診斷系統(tǒng)的準(zhǔn)確率及覆蓋率,并在故障診斷的基礎(chǔ)上實現(xiàn)部分故障自愈功能,提高維護故障診斷系統(tǒng)的智能化程度。

猜你喜歡
故障診斷節(jié)點預(yù)測
無可預(yù)測
黃河之聲(2022年10期)2022-09-27 13:59:46
CM節(jié)點控制在船舶上的應(yīng)用
選修2-2期中考試預(yù)測卷(A卷)
選修2-2期中考試預(yù)測卷(B卷)
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的門窗節(jié)點圖快速構(gòu)建
不必預(yù)測未來,只需把握現(xiàn)在
因果圖定性分析法及其在故障診斷中的應(yīng)用
抓住人才培養(yǎng)的關(guān)鍵節(jié)點
基于LCD和排列熵的滾動軸承故障診斷
凯里市| 嘉兴市| 栾城县| 盐池县| 岳阳县| 岫岩| 曲松县| 株洲市| 东明县| 鄯善县| 深泽县| 辛集市| 龙口市| 乌鲁木齐市| 万载县| 石屏县| 织金县| 瓮安县| 平舆县| 富锦市| 噶尔县| 南陵县| 晋江市| 乌审旗| 阿克苏市| 镇巴县| 湖北省| 丰原市| 简阳市| 五莲县| 河北省| 奉化市| 离岛区| 宁波市| 新泰市| 慈利县| 隆尧县| 磐安县| 漯河市| 卫辉市| 巴东县|