袁 遠(yuǎn),李世杰,邢建英,蔣句平
(國防科技大學(xué)計(jì)算機(jī)學(xué)院,湖南 長沙 410073)
高性能計(jì)算能力是綜合國力的重要體現(xiàn),是國家創(chuàng)新體系的重要組成部分,是國家科研實(shí)力的重要標(biāo)志之一。國際上,美國、日本、歐盟都在研發(fā)E級高性能計(jì)算機(jī)系統(tǒng),預(yù)計(jì)2021年前后推出。國內(nèi),國防科技大學(xué)、江南計(jì)算所和曙光公司都已完成E級驗(yàn)證系統(tǒng)研制[1],各自探索出了構(gòu)建E級系統(tǒng)的技術(shù)路線。但是,驗(yàn)證系統(tǒng)畢竟規(guī)模有限,與實(shí)際E級系統(tǒng)相比,在處理器性能、網(wǎng)絡(luò)規(guī)模、可靠性、可用性和能耗等方面還存在較大差距,E級系統(tǒng)構(gòu)建中仍面臨諸多挑戰(zhàn),仍需要進(jìn)一步攻克一系列關(guān)鍵技術(shù),才能構(gòu)建出實(shí)用好用的E級系統(tǒng)。
監(jiān)控分系統(tǒng)作為高性能計(jì)算機(jī)系統(tǒng)的神經(jīng)中樞[2],為系統(tǒng)提供全方位的狀態(tài)監(jiān)控、配置控制和調(diào)試維護(hù)功能,是高性能計(jì)算機(jī)系統(tǒng)穩(wěn)定運(yùn)行的重要保障。隨著高性能計(jì)算機(jī)系統(tǒng)計(jì)算能力達(dá)到E級甚至數(shù)E級,組裝密度成倍增加,結(jié)點(diǎn)規(guī)模不斷擴(kuò)大,其可靠性、可擴(kuò)展性和能耗問題更加突顯[3],這導(dǎo)致監(jiān)控分系統(tǒng)自身在可擴(kuò)展性、可靠性、可服務(wù)性和高效運(yùn)維等方面面臨更大的挑戰(zhàn),現(xiàn)有監(jiān)控分系統(tǒng)架構(gòu)和軟硬件設(shè)計(jì)[4]已不能滿足E級系統(tǒng)需求,亟待全面革新,以支撐E級甚至數(shù)E級系統(tǒng)的構(gòu)建。
本文重點(diǎn)介紹了E級監(jiān)控分系統(tǒng)面臨的主要挑戰(zhàn)和應(yīng)對這些挑戰(zhàn)的設(shè)計(jì)思路。針對可擴(kuò)展性挑戰(zhàn),提出插件、機(jī)框到系統(tǒng)三級區(qū)域自治式監(jiān)控管理架構(gòu),3級之間統(tǒng)一通過高速以太網(wǎng)互連,可支持10萬以上結(jié)點(diǎn)規(guī)模E級系統(tǒng)的監(jiān)控管理;針對可靠性挑戰(zhàn),在專用監(jiān)控網(wǎng)絡(luò)中設(shè)計(jì)多級雙星型網(wǎng)絡(luò)拓?fù)洌ㄟ^核心交換機(jī)、機(jī)框管理單元和系統(tǒng)管理單元的冗余技術(shù),有效避免了單點(diǎn)故障,提升監(jiān)控分系統(tǒng)可靠性;針對可服務(wù)性挑戰(zhàn),設(shè)計(jì)單插件4結(jié)點(diǎn)以上的串口遠(yuǎn)程訪問、多結(jié)點(diǎn)固件帶外并發(fā)遠(yuǎn)程更新、插件管理單元BMU(Board Management Unit)物理位置映射、固件高速分發(fā)等功能,可有效支持大規(guī)模結(jié)點(diǎn)帶外配置與調(diào)試;針對高效運(yùn)維需求,引入智能化運(yùn)維AIOps(Artificial Intelligence for IT Operations)技術(shù)[5],基于全系統(tǒng)監(jiān)控?cái)?shù)據(jù),通過機(jī)器學(xué)習(xí)方法,支持故障診斷和預(yù)測、制冷設(shè)備能耗管理等功能,提升運(yùn)維效率,降低能耗。
本文剩余部分組織如下:第2節(jié)介紹E級監(jiān)控分系統(tǒng)面臨的主要挑戰(zhàn),第3節(jié)介紹E級監(jiān)控分系統(tǒng)為應(yīng)對各挑戰(zhàn)的針對性設(shè)計(jì),第4節(jié)通過原型系統(tǒng)對部分設(shè)計(jì)進(jìn)行驗(yàn)證,第5節(jié)總結(jié)全文。
E級監(jiān)控分系統(tǒng)主要在可擴(kuò)展性、可靠性、可服務(wù)性和高效運(yùn)維4個(gè)方面面臨更大的挑戰(zhàn)。
(1)可擴(kuò)展性。
監(jiān)控分系統(tǒng)的可擴(kuò)展性必須與高性能計(jì)算機(jī)系統(tǒng)的可擴(kuò)展性相匹配。E級系統(tǒng)較現(xiàn)有100P級系統(tǒng),雖然單結(jié)點(diǎn)計(jì)算能力有數(shù)倍提升,但計(jì)算結(jié)點(diǎn)規(guī)模仍將擴(kuò)展至5~10倍,可能達(dá)到10萬之多[6]。待監(jiān)控功能組件數(shù)量的大幅增加對監(jiān)控系統(tǒng)的可擴(kuò)展性帶來了更大挑戰(zhàn)。可擴(kuò)展性挑戰(zhàn)主要體現(xiàn)在2個(gè)方面:一是監(jiān)控架構(gòu)可擴(kuò)展,隨著計(jì)算結(jié)點(diǎn)數(shù)量的增加,為確保E級系統(tǒng)構(gòu)建成本可接受,必須不斷提高組裝密度,因此監(jiān)控架構(gòu)需滿足機(jī)框內(nèi)不斷增加的功能組件的精細(xì)化監(jiān)控需求;同時(shí)監(jiān)控架構(gòu)還需具有更強(qiáng)大的機(jī)框間橫向擴(kuò)展能力,用于支持未來數(shù)E級系統(tǒng)的構(gòu)建。二是處理方式的可擴(kuò)展,海量功能組件的精細(xì)化監(jiān)控,所產(chǎn)生的監(jiān)控信息大數(shù)據(jù)化,很難通過集中方式完成全系統(tǒng)監(jiān)控信息的處理分析,對監(jiān)控組件的處理方式提出了新要求。因此,如何綜合通過監(jiān)控分系統(tǒng)的架構(gòu)和網(wǎng)絡(luò)設(shè)計(jì)解決可擴(kuò)展性問題是亟待思考的關(guān)鍵問題。
(2)可靠性。
監(jiān)控分系統(tǒng)自身的可靠性是保障高性能計(jì)算機(jī)系統(tǒng)安全穩(wěn)定運(yùn)行的前提。在E級系統(tǒng)中,監(jiān)控、互連、存儲和基礎(chǔ)架構(gòu)組件的規(guī)模都將隨著計(jì)算結(jié)點(diǎn)規(guī)模的擴(kuò)大而擴(kuò)大[7]。假設(shè)未來E級系統(tǒng)中的計(jì)算結(jié)點(diǎn)規(guī)模達(dá)到10萬,按現(xiàn)有“天河二號”2倍計(jì)算密度的組裝結(jié)構(gòu)來估算,即使不考慮互連和存儲的監(jiān)控組件需求,插件級監(jiān)控組件數(shù)量將超過2萬,機(jī)框級監(jiān)控組件數(shù)量也達(dá)到800,監(jiān)控組件故障率將大幅提升。如不采取可靠性設(shè)計(jì),很可能導(dǎo)致監(jiān)控組件先于功能組件發(fā)生故障(此處故障指引起異常現(xiàn)象的根因),直接影響到功能組件的異常(此處異常指故障引起的現(xiàn)象)檢測與故障診斷,甚至在突發(fā)情況下導(dǎo)致安全事故。因此,如何提升監(jiān)控系統(tǒng)自身的可靠性,使其成為全系統(tǒng)安全穩(wěn)定運(yùn)行的堅(jiān)強(qiáng)后盾,是E級監(jiān)控系統(tǒng)面臨的主要挑戰(zhàn)之一。
(3)可服務(wù)性。
監(jiān)控分系統(tǒng)為高性能計(jì)算機(jī)全系統(tǒng)配置調(diào)試提供了必備手段。監(jiān)控分系統(tǒng)提供的配置調(diào)試手段主要包括狀態(tài)監(jiān)測、結(jié)點(diǎn)遠(yuǎn)程串口訪問、高速網(wǎng)絡(luò)配置管理、遠(yuǎn)程固件更新和加切電控制等。實(shí)踐證明,這些手段能夠有效地提升高性能計(jì)算機(jī)全系統(tǒng)調(diào)試效率,但同樣會由于E級系統(tǒng)計(jì)算密度增加與結(jié)點(diǎn)規(guī)模的擴(kuò)大而面臨新的挑戰(zhàn)。如遠(yuǎn)程串口訪問功能,如何實(shí)現(xiàn)單計(jì)算插件中4~8個(gè)計(jì)算結(jié)點(diǎn)遠(yuǎn)程并發(fā)串口訪問,需要監(jiān)控組件在軟硬件設(shè)計(jì)上提供支持;又如遠(yuǎn)程固件更新功能,如何通過帶外方式快速地將二進(jìn)制的固件文件分發(fā)到末端監(jiān)控組件上,這些都是需要思考解決的問題。因此,如何有效滿足E級系統(tǒng)大規(guī)模調(diào)試管理需求,提升全系統(tǒng)的配置調(diào)試效率,也是監(jiān)控分系統(tǒng)面臨的難點(diǎn)之一。
(4)高效運(yùn)維。
監(jiān)控分系統(tǒng)為高性能計(jì)算機(jī)系統(tǒng)的運(yùn)維管理提供了高效支撐。監(jiān)控分系統(tǒng)的運(yùn)維管理功能不但覆蓋了高性能計(jì)算機(jī)系統(tǒng)中計(jì)算、互連、存儲和基礎(chǔ)架構(gòu)等各個(gè)組成部分,還負(fù)責(zé)對超算中心配套的制冷系統(tǒng)和供電系統(tǒng)實(shí)施管理。在E級系統(tǒng)中,可靠性墻和能耗墻與計(jì)算規(guī)模和計(jì)算能力之間的矛盾變得難以調(diào)和[8]。為確保E級系統(tǒng)中各任務(wù)穩(wěn)定低耗運(yùn)行,海量組件故障的精確診斷與預(yù)測、主機(jī)系統(tǒng)與制冷系統(tǒng)協(xié)同能耗優(yōu)化管理等成為監(jiān)控分系統(tǒng)必須解決的難題。然而,現(xiàn)有的自動(dòng)化運(yùn)維和開發(fā)運(yùn)維方式由于效率低、準(zhǔn)確性差等問題,已無法滿足E級系統(tǒng)高效運(yùn)維管理的需求。如何充分利用好監(jiān)控分系統(tǒng)收集到的海量監(jiān)控?cái)?shù)據(jù),通過機(jī)器學(xué)習(xí)的方法開展智能化運(yùn)維,成為監(jiān)控分系統(tǒng)面臨的另一大挑戰(zhàn)。
針對監(jiān)控分系統(tǒng)在可擴(kuò)展性和可靠性上面臨的挑戰(zhàn),本文提出一種區(qū)域自治式3級監(jiān)控管理架構(gòu),如圖1所示。該架構(gòu)將系統(tǒng)中的監(jiān)控組件劃分為3個(gè)層級,包括插件管理單元BMU、機(jī)框管理單元CMU(Chassis Management Unit)和系統(tǒng)管理單元SMU(System Management Unit)。3個(gè)層級的監(jiān)控組件統(tǒng)一通過網(wǎng)絡(luò)接口接入專用監(jiān)控網(wǎng)絡(luò),實(shí)現(xiàn)監(jiān)控?cái)?shù)據(jù)和控制命令的上傳下達(dá)。

Figure 1 Architecture of the multi-level monitoring with regional autonomy圖1 區(qū)域自治式多級監(jiān)控管理架構(gòu)
(1)BMU。由于E級系統(tǒng)中計(jì)算插件組裝密度大幅提高,互連插件光端口數(shù)成倍增長,僅依賴硬件接口資源受限的機(jī)框監(jiān)控單元實(shí)施全機(jī)框扁平化監(jiān)控管理,監(jiān)控服務(wù)的可擴(kuò)展性和實(shí)時(shí)性無法得到保障。因此,在監(jiān)控架構(gòu)設(shè)計(jì)上向下延伸一級,增加插件管理單元BMU,承擔(dān)各功能插件內(nèi)部的精細(xì)化監(jiān)控管理。BMU采用模塊化的設(shè)計(jì)思路,一塊BMU板卡采用標(biāo)準(zhǔn)連接器與各種功能插件對接,通過軟件定義的方式同時(shí)滿足計(jì)算、互連和存儲等功能插件定制化的監(jiān)控需求。這樣既保證了插件級監(jiān)控服務(wù)的可擴(kuò)展性,同時(shí)BMU板卡可獨(dú)立設(shè)計(jì)與升級,且支持各插件單獨(dú)調(diào)測試,提高了研發(fā)和調(diào)測試效率。
(2)CMU。CMU硬件以獨(dú)立插件形式組裝在機(jī)框背板上。為提升機(jī)框級監(jiān)控服務(wù)的可擴(kuò)展性,CMU上集成一個(gè)機(jī)框交換模塊,通過背板實(shí)現(xiàn)與機(jī)框內(nèi)其它插件BMU的互連,用于構(gòu)建機(jī)框內(nèi)的監(jiān)控網(wǎng)絡(luò);為分擔(dān)系統(tǒng)管理單元SMU的服務(wù)壓力,CMU上集成一個(gè)機(jī)框管理模塊,該模塊由低功耗通用微處理器、內(nèi)存和本地盤構(gòu)成,可先于SMU對機(jī)框內(nèi)各功能插件監(jiān)控?cái)?shù)據(jù)進(jìn)行獨(dú)立收集、存儲與處理,提供區(qū)域自治管理能力;CMU上還安裝有一塊BMU板卡,實(shí)現(xiàn)對CMU插件、機(jī)框環(huán)境(溫度、煙霧等)和機(jī)框共享組件(電源模塊、散熱模塊)的監(jiān)控;為保障機(jī)框級監(jiān)控服務(wù)的可靠性,CMU采用冗余熱備設(shè)計(jì),支持單點(diǎn)故障后的自動(dòng)切換。
(3)SMU。SMU硬件基于通用高性能服務(wù)器構(gòu)建,負(fù)責(zé)對全系統(tǒng)實(shí)施多維度監(jiān)控管理,并通過基于Web的圖形化監(jiān)控管理軟件,為用戶提供系統(tǒng)級的狀態(tài)監(jiān)測、配置控制、調(diào)試維護(hù)、故障預(yù)測和能耗控制等服務(wù),保障全系統(tǒng)高效調(diào)測試和穩(wěn)定運(yùn)行。為保障系統(tǒng)級監(jiān)控服務(wù)的可靠性,SMU采用冗余多活設(shè)計(jì),多臺SMU互為備份,當(dāng)出現(xiàn)SMU宕機(jī),可確保系統(tǒng)級監(jiān)控服務(wù)不中斷。
3個(gè)層級的監(jiān)控組件共同實(shí)現(xiàn)區(qū)域自治管理功能。在區(qū)域自治管理機(jī)制中,根據(jù)計(jì)算結(jié)點(diǎn)的不同任務(wù)定位,由SMU將若干個(gè)機(jī)框組織成一個(gè)自治區(qū)域,如單個(gè)機(jī)柜由4個(gè)機(jī)框組成,可以被組織成一個(gè)區(qū)域,又或者多個(gè)機(jī)柜組織成一個(gè)區(qū)域。區(qū)域中CMU和BMU分飾“管理者”和“執(zhí)行者”的角色,并由多個(gè)“管理者”中選出一個(gè)作為“高級管理者”,“高級管理者”負(fù)責(zé)區(qū)域自治管理策略的制定,傳達(dá)SMU的命令,并收集上報(bào)區(qū)域內(nèi)各個(gè)“管理者”的監(jiān)控情況。“高級管理者”的選取可通過人工方式或者自動(dòng)選取算法,基于區(qū)域內(nèi)CMU的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),綜合考慮CMU之間、CMU和SMU之間的跳步數(shù)來確定。

Figure 2 Topology diagram of the system-level monitoring network圖2 監(jiān)控網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)示意圖
在每個(gè)自治區(qū)域中,“高級管理者”根據(jù)SMU下達(dá)的當(dāng)前區(qū)域劃分與任務(wù)定位,結(jié)合該區(qū)域的軟硬件配置、能耗需求和故障特點(diǎn),制定該區(qū)域的自治管理策略。如異構(gòu)科學(xué)計(jì)算區(qū)域中不但需要監(jiān)控多核微處理器結(jié)點(diǎn)的運(yùn)行狀態(tài),還需要重點(diǎn)監(jiān)控眾核加速器和集中共享存儲設(shè)備的軟硬件狀態(tài)、功耗和故障;大數(shù)據(jù)計(jì)算區(qū)域中則需要增加分布式存儲設(shè)備的狀態(tài)及故障監(jiān)控等等;在此基礎(chǔ)上,提供適合該區(qū)域任務(wù)的軟件環(huán)境和并發(fā)固件帶外更新、高速網(wǎng)絡(luò)配置管理、故障調(diào)試診斷等手段,高效實(shí)現(xiàn)區(qū)域全面自治管理。區(qū)域自治管理機(jī)制可有效降低SMU的管理復(fù)雜度,支持面向應(yīng)用任務(wù)劃分的區(qū)域管理,支持單柜、單排以及各種規(guī)模的系統(tǒng)調(diào)試,大幅提升監(jiān)控分系統(tǒng)的可擴(kuò)展性和管理效率,結(jié)合專用監(jiān)控網(wǎng)絡(luò)設(shè)計(jì),可有效滿足10萬結(jié)點(diǎn)甚至更大規(guī)模高性能計(jì)算機(jī)系統(tǒng)的監(jiān)控管理需求。
監(jiān)控網(wǎng)絡(luò)獨(dú)立于用于業(yè)務(wù)數(shù)據(jù)交互的高速互連網(wǎng)絡(luò),負(fù)責(zé)3級監(jiān)控組件之間互連互通,其設(shè)計(jì)是滿足E級監(jiān)控分系統(tǒng)高可擴(kuò)展性和高可靠性的關(guān)鍵。在高可擴(kuò)展性方面,通過機(jī)框內(nèi)CMU上的機(jī)框交換模塊設(shè)計(jì),滿足單機(jī)框最大組裝密度下的監(jiān)控需求;通過機(jī)框間的監(jiān)控網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)和2級外部交換機(jī)選型,滿足10萬結(jié)點(diǎn)規(guī)模E級系統(tǒng)的監(jiān)控需求。在高可靠性方面,通過多級雙星型網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì),實(shí)現(xiàn)CMU的冗余熱備、SMU的冗余多活和核心交換機(jī)的冗余熱備。
監(jiān)控網(wǎng)絡(luò)分為3層,如圖2所示:第1層為核心層,由2臺多端口高速核心交換機(jī)組成,端口數(shù)和吞吐率與匯聚層交換機(jī)數(shù)量和吞吐率相匹配;第2層為匯聚層,由若干多端口千兆以太網(wǎng)交換機(jī)組成,端口數(shù)與吞吐率與接入層CMU機(jī)框交換模塊相匹配;第3層為接入層,由所有主從CMU機(jī)框交換模塊組成,端口數(shù)由機(jī)框內(nèi)功能插件數(shù)量來決定。
(1)在核心層中,考慮監(jiān)控網(wǎng)絡(luò)的高可用性,選用的2臺多端口高速核心交換機(jī)互為冗余,可虛擬成1臺核心交換機(jī),核心交換機(jī)與匯聚交換機(jī)之間采用雙星型拓?fù)洌苊夂诵慕粨Q機(jī)單點(diǎn)故障。2臺或多臺SMU連接到2臺核心交換機(jī)上,通過核心交換機(jī)的網(wǎng)關(guān)功能實(shí)現(xiàn)SMU的冗余多活。
(2)在匯聚層中,若干機(jī)框分為1組,每組采用1臺48端口千兆網(wǎng)交換機(jī)構(gòu)建網(wǎng)絡(luò)。組內(nèi)每個(gè)機(jī)框的主從CMU都通過1路千兆以太網(wǎng)鏈路連接到該48端口千兆交換機(jī)上,千兆交換機(jī)分別上行2路萬兆以太網(wǎng)鏈路連接到2臺高速核心交換機(jī)上。
(3)在接入層中,主從CMU與各功能插件的BMU之間構(gòu)建雙星型冗余拓?fù)洌鐖D3所示,框內(nèi)2個(gè)交換平面相互獨(dú)立,通過冗余切換策略,可有效避免CMU的單點(diǎn)故障,提升機(jī)框級監(jiān)控服務(wù)的可靠性。

Figure 3 Topology diagram of the chassis-level double star monitoring network圖3 機(jī)框內(nèi)雙星型監(jiān)控網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)示意圖
針對E級監(jiān)控分系統(tǒng)在可服務(wù)性上面臨的挑戰(zhàn),主要對BMU和CMU上的配置調(diào)試功能開展優(yōu)化設(shè)計(jì)。
(1)BMU。BMU作為整個(gè)監(jiān)控分系統(tǒng)的末端,是所有監(jiān)控功能的最終“執(zhí)行者”。BMU通過多路I2C、GPIO等接口與功能插件主板上的傳感器相連接,實(shí)時(shí)監(jiān)測器件的電壓、電流和溫度等狀態(tài)參數(shù),并負(fù)責(zé)根據(jù)閾值判斷狀態(tài)正常與否,利用SNMP-Trap的方式上報(bào)CMU;BMU還通過I2C或GPIO接口對功能插件上計(jì)算結(jié)點(diǎn)和高速互連芯片實(shí)施加切電控制,同時(shí)支持突發(fā)情況下自動(dòng)安全保護(hù),即過溫切電等。針對帶內(nèi)更新結(jié)點(diǎn)固件依賴于操作系統(tǒng)的問題,設(shè)計(jì)帶外多結(jié)點(diǎn)固件并發(fā)更新功能,使得更新時(shí)機(jī)與結(jié)點(diǎn)系統(tǒng)是否正常工作無關(guān),同時(shí)優(yōu)化固件更新的軟件棧,縮短固件更新時(shí)間,提高大規(guī)模系統(tǒng)配置效率。針對多結(jié)點(diǎn)并發(fā)遠(yuǎn)程調(diào)試需求,BMU的主控芯片通過外接USB轉(zhuǎn)串口芯片,可實(shí)現(xiàn)1路USB接口擴(kuò)展至少4路串口,并且通過硬件手段檢測USB設(shè)備的加載順序,支持多路串口設(shè)備與結(jié)點(diǎn)號之間有序映射,有效滿足了高組裝密度計(jì)算插件的結(jié)點(diǎn)遠(yuǎn)程調(diào)試需求。
(2)CMU。CMU作為機(jī)框的“管理者”,負(fù)責(zé)向機(jī)框內(nèi)各BMU下達(dá)命令,并收集處理BMU上報(bào)的各類監(jiān)控?cái)?shù)據(jù)。針對機(jī)框自動(dòng)分配IP地址的BMU無法定位物理位置的問題,CMU主控通過MDIO接口訪問機(jī)框交換模塊,獲取交換芯片的端口與IP地址映射表,再根據(jù)交換端口與槽位號的布線關(guān)系,可有效識別BMU物理位置,在高效配置IP地址的同時(shí)實(shí)現(xiàn)了監(jiān)控?cái)?shù)據(jù)源的精確定位。針對大規(guī)模系統(tǒng)中固件和服務(wù)更新速度慢的問題,CMU設(shè)計(jì)多級組播樹的文件分發(fā)機(jī)制,SMU將文件分發(fā)給少量CMU,再通過CMU之間“一傳十,十傳百”的方式,可有效提高文件在監(jiān)控網(wǎng)絡(luò)中的分發(fā)速度,滿足高效配置大規(guī)模系統(tǒng)需求。針對主從CMU冗余切換中存在誤切、拒切和“腦分裂”的問題,CMU設(shè)計(jì)一種基于混合狀態(tài)心跳的對端BMU仲裁冗余切換機(jī)制,該機(jī)制中的混合狀態(tài)心跳包含軟硬件多種狀態(tài)信息,以確保主從切換的準(zhǔn)確性;同時(shí),當(dāng)主從CMU之間的心跳線出現(xiàn)故障時(shí),通過收到補(bǔ)救心跳的對端BMU來實(shí)施主從仲裁,有效避免“腦分裂”現(xiàn)象的出現(xiàn)。
(3)SMU。SMU是全系統(tǒng)的“大總管”,通過基于RESTFUL形式的輕量級監(jiān)控管理協(xié)議與CMU交互。在SMU上部署的系統(tǒng)級監(jiān)控?cái)?shù)據(jù)管理平臺,負(fù)責(zé)存儲和展現(xiàn)海量多源異構(gòu)的帶內(nèi)、帶外的監(jiān)控?cái)?shù)據(jù),并提供掛載智能化運(yùn)維功能接口。針對大數(shù)據(jù)處理分析時(shí)訪問量大的特點(diǎn),設(shè)計(jì)高可靠的數(shù)據(jù)索引方法和高通量的數(shù)據(jù)訪問策略,為高效訓(xùn)練建模和預(yù)測推理提供支持,保證數(shù)據(jù)訪問的高可獲得性和海量數(shù)據(jù)分析的實(shí)時(shí)性。
為提高E級系統(tǒng)的運(yùn)維效率,需引入智能化運(yùn)維(AIOps)概念,基于海量監(jiān)控?cái)?shù)據(jù),結(jié)合機(jī)器學(xué)習(xí)算法,開展系統(tǒng)級智能化運(yùn)維探索。然而,智能化運(yùn)維不但覆蓋E級主機(jī)系統(tǒng)及配套的制冷系統(tǒng)和供電系統(tǒng),涉及資源管理與調(diào)度、故障診斷與預(yù)測、能耗管理與優(yōu)化等諸多方面,且海量監(jiān)控?cái)?shù)據(jù)作為智能運(yùn)維的基礎(chǔ),從采集、存儲到分析建模各步驟都面臨需要解決的問題。考慮到篇幅受限,本節(jié)主要從主機(jī)系統(tǒng)故障預(yù)測和制冷設(shè)備能耗管理2個(gè)方面分析建模相關(guān)設(shè)計(jì)思路。
3.4.1 主機(jī)系統(tǒng)故障預(yù)測
主機(jī)系統(tǒng)故障預(yù)測主要分3大功能模塊:異常檢測[9]、故障診斷[10]和故障預(yù)測[11]。
在異常檢測模塊中,通過收集一段時(shí)間系統(tǒng)某項(xiàng)指標(biāo)相關(guān)的監(jiān)控?cái)?shù)據(jù),結(jié)合人工標(biāo)注,利用機(jī)器學(xué)習(xí)的方法,如聚類算法、隨機(jī)森林等,來進(jìn)行關(guān)鍵性能指標(biāo)KPI(Key Performance Indicator)曲線分析,構(gòu)建起其中的正常模式與異常模式,再對實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)進(jìn)行模式匹配,發(fā)現(xiàn)異常。
在故障診斷模塊中,由于E級系統(tǒng)規(guī)模大,系統(tǒng)復(fù)雜,導(dǎo)致同一故障源會觸發(fā)一系列異常事件,不同的故障源也可能觸發(fā)得到相同的異常事件。因此,需要基于檢測到的海量異常事件,結(jié)合運(yùn)維人員經(jīng)驗(yàn),通過機(jī)器學(xué)習(xí)的方法,如FP-Growth、Apriori等,對異常事件之間的關(guān)聯(lián)關(guān)系開展分析挖掘,構(gòu)建較完備的故障傳播鏈。故障傳播鏈可以用有向無環(huán)圖來表示,當(dāng)系統(tǒng)檢測出異常時(shí),可通過搜索算法,沿著故障傳播鏈找出根因,實(shí)現(xiàn)異常診斷。
在故障預(yù)測模塊中,主要挑戰(zhàn)在于訓(xùn)練故障預(yù)測模型的監(jiān)控?cái)?shù)據(jù)需要足夠多,但實(shí)際情況中故障數(shù)量較少,且監(jiān)控?cái)?shù)據(jù)中有效信息也相對較少。故障預(yù)測首先要通過機(jī)器學(xué)習(xí)的方法,如決策樹、聚類樹和隨機(jī)森林等,并結(jié)合運(yùn)維人員經(jīng)驗(yàn),從歷史監(jiān)控?cái)?shù)據(jù)中找出導(dǎo)致該類異常事件的相關(guān)信號,當(dāng)出現(xiàn)這些信號,則認(rèn)為異常事件將會發(fā)生,并通過故障診斷定位根因,幫助運(yùn)維人員提前處理問題。
3.4.2 制冷設(shè)備能耗管理
制冷系統(tǒng)作為超算中心中除E級主機(jī)系統(tǒng)外的第一“能耗大戶”,能耗優(yōu)化需求迫切[12]。現(xiàn)有制冷系統(tǒng)能耗優(yōu)化手段缺乏制冷設(shè)備相互之間的和與主機(jī)系統(tǒng)之間的有效協(xié)同,效率低、效果差。此外,由于制冷設(shè)備種類多,參數(shù)量大,影響能耗的因素復(fù)雜,且與主機(jī)系統(tǒng)之間存在復(fù)雜能量轉(zhuǎn)換關(guān)系,耦合緊密,因此協(xié)同能耗管理是一個(gè)極具挑戰(zhàn)的難題。采用大數(shù)據(jù)加機(jī)器學(xué)習(xí)的方法是解決這一難題的有效手段之一[13]。本節(jié)給出一種基于機(jī)器學(xué)習(xí)的制冷設(shè)備能耗調(diào)節(jié)方法。該方法包括制冷設(shè)備能耗預(yù)測和面向?qū)崟r(shí)負(fù)載的制冷設(shè)備能耗調(diào)節(jié)2個(gè)模塊。
在制冷設(shè)備能耗預(yù)測方法中,基于監(jiān)控分系統(tǒng)采集到的制冷設(shè)備歷史能耗、配置參數(shù)和環(huán)境等數(shù)據(jù),結(jié)合系統(tǒng)歷史作業(yè)負(fù)載數(shù)據(jù),在對樣本數(shù)據(jù)清理、抽取的基礎(chǔ)上,綜合利用數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)的方法進(jìn)行分析,訓(xùn)練并構(gòu)建制冷設(shè)備智能化能耗預(yù)測模型。該模型包括2個(gè)方面:一是多配置參數(shù)條件下制冷量和能耗預(yù)測模型,為制冷設(shè)備配置參數(shù)方案優(yōu)化提供評估手段;二是面向作業(yè)負(fù)載的最小制冷量需求和最低制冷能耗預(yù)測模型,為制冷設(shè)備配置參數(shù)方案調(diào)整提供優(yōu)化目標(biāo)。
在制冷設(shè)備能耗調(diào)節(jié)方法中,面向動(dòng)態(tài)變化的系統(tǒng)負(fù)載,設(shè)計(jì)面向系統(tǒng)負(fù)載的制冷設(shè)備配置參數(shù)生成框架,生成過程將劃分為2個(gè)階段,第1階段基于作業(yè)負(fù)載變化對制冷量與能耗需求進(jìn)行預(yù)測,采取面向最小制冷量和最低能耗目標(biāo)的配置參數(shù)反向設(shè)計(jì)方式,達(dá)到快速生成目標(biāo)參數(shù)配置方案的目標(biāo);第2階段基于制冷量與能耗量目標(biāo)評估實(shí)現(xiàn)參數(shù)配置方案快速生成,即面向確定的制冷量與能耗量目標(biāo),設(shè)計(jì)可快速收斂的高維配置參數(shù)空間近似最優(yōu)解算法,從而可根據(jù)作業(yè)負(fù)載數(shù)據(jù)找出滿足該負(fù)載且支持制冷設(shè)備最低能耗的配置參數(shù),實(shí)現(xiàn)制冷設(shè)備的有效節(jié)能。
為對監(jiān)控分系統(tǒng)的設(shè)計(jì)進(jìn)行階段性驗(yàn)證,完成了BMU、CMU硬件原型的設(shè)計(jì)與實(shí)現(xiàn),以及3級監(jiān)控組件主要軟件功能研發(fā),并依托基礎(chǔ)架構(gòu)分系統(tǒng)構(gòu)建了一個(gè)機(jī)框規(guī)模的原型系統(tǒng)。在該原型系統(tǒng)上,開展了監(jiān)控架構(gòu)、監(jiān)控網(wǎng)絡(luò)和監(jiān)控功能的相關(guān)驗(yàn)證。但是,由于原型系統(tǒng)規(guī)模小,實(shí)際運(yùn)行時(shí)間短,部分系統(tǒng)級設(shè)計(jì),如區(qū)域自治管理、固件分發(fā)、智能化運(yùn)維相關(guān)功能,尚不具備驗(yàn)證條件,因此本節(jié)僅對可驗(yàn)證功能情況進(jìn)行描述。
如圖4所示,機(jī)框原型系統(tǒng)由1套機(jī)框結(jié)構(gòu)件、32塊計(jì)算插件、2塊互連插件、2個(gè)機(jī)框管理單元CMU、1塊背板以及配套供電和散熱組件等組成。計(jì)算插件、互連插件和CMU上都安裝有插件管理單元BMU,BMU和CMU之間通過背板實(shí)現(xiàn)互連,構(gòu)建機(jī)框內(nèi)雙星型監(jiān)控網(wǎng)絡(luò);系統(tǒng)管理單元SMU與CMU之間通過以太網(wǎng)實(shí)現(xiàn)互連。

Figure 4 Chassis prototype圖4 機(jī)框原型系統(tǒng)
(1)BMU板卡上集成一顆嵌入式SOC主控、DDR3內(nèi)存顆粒和SPI FLASH等器件,通過SODIMM插槽與各功能插件的主板連接,提供多路I2C、RGMII、SPI、USB、JTAG、GPIO等硬件I/O接口。BMU上基于嵌入式操作系統(tǒng)部署有插件級監(jiān)控管理軟件。BMU實(shí)物如圖5所示。

Figure 5 BMU prototype圖5 BMU板卡實(shí)物圖
(2)CMU主板由一顆低功耗的FT-HK芯片作為主控,配置有2 GB DDR4的內(nèi)存顆粒、256 GB SSD固態(tài)盤、48端口的交換芯片和1塊BMU板卡。前面板提供2個(gè)RJ45千兆網(wǎng)接口用于對接外部的匯聚交換機(jī),1個(gè)USB接口用于系統(tǒng)配置與調(diào)試。CMU上基于裁剪優(yōu)化后Linux操作系統(tǒng)部署有機(jī)框級監(jiān)控管理軟件。CMU實(shí)物如圖6所示。

Figure 6 CMU prototype圖6 CMU實(shí)物圖
(3)SMU硬件上為一款12盤位的雙路通用服務(wù),在通用Linux操作系統(tǒng)上部署有基于ElasticSearch和Kibana的系統(tǒng)級監(jiān)控?cái)?shù)據(jù)統(tǒng)管理平臺。SMU實(shí)物如圖7所示。

Figure 7 SMU server圖7 SMU實(shí)物圖

Figure 8 Connectivity verification of the 3-level monitoring architecture圖8 3級監(jiān)控架構(gòu)連通性驗(yàn)證
4.2.1 功能驗(yàn)證
(1)監(jiān)控架構(gòu)驗(yàn)證。
SMU向CMU發(fā)送powerctl指令進(jìn)行指定計(jì)算插件的加切電控制,CMU接收到后,向BMU發(fā)送基于IPMI的加切電指令,并完成計(jì)算插件的加切電控制。驗(yàn)證情況如圖8所示。
圖8a表示從SMU的終端上輸入powerctl指令,通知CMU對原型系統(tǒng)中8,9,24,25,26號計(jì)算插件進(jìn)行加電操作,圖8c顯示上述計(jì)算插件初始狀態(tài)均為未上電狀態(tài),用0表示。圖8b顯示CMU的后臺程序執(zhí)行情況,可以看出在收到SMU命令后,CMU對相應(yīng)計(jì)算插件進(jìn)行了加電power on操作,相應(yīng)的圖8d顯示了加電后的計(jì)算插件狀態(tài),可以發(fā)現(xiàn)目標(biāo)計(jì)算插件均已變?yōu)樯想姞顟B(tài),用1表示。該結(jié)果驗(yàn)證了3級監(jiān)控架構(gòu)中組件之間的連通性。
(2)遠(yuǎn)程并發(fā)串口訪問功能驗(yàn)證。
SMU上的SecureCRT軟件同時(shí)開啟多個(gè)計(jì)算結(jié)點(diǎn)串口,并通過操作驗(yàn)證遠(yuǎn)程并發(fā)串口訪問功能。驗(yàn)證情況如圖9所示,結(jié)果表明各計(jì)算結(jié)點(diǎn)的串口能同時(shí)遠(yuǎn)程訪問和交互。

Figure 9 Verification of the parallel serial port over lan access圖9 遠(yuǎn)程并發(fā)串口訪問功能驗(yàn)證
(3)監(jiān)控?cái)?shù)據(jù)采集功能驗(yàn)證。
在CMU的終端上輸入計(jì)算插件監(jiān)控?cái)?shù)據(jù)采集命令,等待BMU返回結(jié)果。驗(yàn)證情況如圖10所示,結(jié)果表明CMU能夠有效地從BMU上獲取計(jì)算插件所有傳感器信息。

Figure 10 Verification of monitoring data acquisition function圖10 監(jiān)控?cái)?shù)據(jù)采集功能驗(yàn)證

Figure 11 Verification of the BIOS firmware update function圖11 固件更新功能驗(yàn)證
(4)固件遠(yuǎn)程更新功能驗(yàn)證。
在CMU的終端上輸入計(jì)算結(jié)點(diǎn)固件(BIOS)遠(yuǎn)程更新命令,對相應(yīng)固件進(jìn)行在線遠(yuǎn)程更新,等待BMU返回結(jié)果。驗(yàn)證情況如圖11所示,結(jié)果表明固件遠(yuǎn)程更新功能正確。
(5)監(jiān)控圖形化界面功能驗(yàn)證。
在瀏覽器中輸入SMU的web界面URL,查看SMU圖形化監(jiān)控功能。驗(yàn)證情況如圖12所示,結(jié)果表明圖形化監(jiān)控功能正常。

Figure 12 Function Verification of monitoring graphical interface圖12 監(jiān)控圖形化界面功能驗(yàn)證
4.2.2 性能驗(yàn)證
在原型系統(tǒng)性能驗(yàn)證中,將本文提出的系統(tǒng)與上一代實(shí)際系統(tǒng)中的監(jiān)控分系統(tǒng)進(jìn)行了對比測試,分別從CMU的數(shù)據(jù)采集時(shí)間、加切電時(shí)延、固件更新時(shí)間等3個(gè)方面評測原型系統(tǒng)的性能表現(xiàn)。性能比較結(jié)果如表1所示。
(1)機(jī)框數(shù)據(jù)采集。
由于原型系統(tǒng)中3級監(jiān)控架構(gòu)采用了CMU到BMU、BMU到多個(gè)結(jié)點(diǎn)的2級并發(fā)數(shù)據(jù)采集機(jī)制,而上一代監(jiān)控分系統(tǒng)中無BMU,CMU僅通過多路低速I2C硬件接口與對應(yīng)數(shù)量插件相連,因此原型系統(tǒng)的機(jī)框數(shù)據(jù)采集時(shí)間要遠(yuǎn)優(yōu)于上一代監(jiān)控分系統(tǒng)。

Table 1 Results of the performance comparison表1 性能驗(yàn)證對比測試結(jié)果
(2)加切電時(shí)延。
由于原型系統(tǒng)的監(jiān)控診斷分系統(tǒng)中增加了插件的監(jiān)控層級,計(jì)算插件上復(fù)雜可編程邏輯器件CPLD(Complex Programmable Logic Device)設(shè)計(jì)預(yù)留的加切電延時(shí)相應(yīng)增加,以保證加切電命令確實(shí)完整執(zhí)行,因此相比上一代監(jiān)控分系統(tǒng),原型系統(tǒng)的加切電時(shí)延有所增大。
(3)固件更新時(shí)間。
在單結(jié)點(diǎn)上,原型系統(tǒng)中采用的帶外遠(yuǎn)程固件更新方式和上一代使用的帶內(nèi)固件更新方式相比時(shí)間更短,主要原因是帶外固件更新硬件通路與帶內(nèi)固件更新一致,但從軟件進(jìn)行了裁剪優(yōu)化,因此表現(xiàn)更好。
(4)冗余切換。
由于上一代監(jiān)控分系統(tǒng)不具備主從CMU冗余架構(gòu),本文僅對原型系統(tǒng)上主從CMU冗余切換功能進(jìn)行測試。通過模擬主CMU故障,共進(jìn)行750次冗余切換,記錄下每次冗余切換時(shí)間,驗(yàn)證結(jié)果如圖13所示。從結(jié)果可以看出,冗余切換時(shí)間比較穩(wěn)定地維持在430 ms左右,表明冗余切換準(zhǔn)確性和穩(wěn)定性較強(qiáng)。

Figure 13 Verification of redundancy switching 圖13 冗余切換功能驗(yàn)證
本文重點(diǎn)介紹了E級高性能計(jì)算機(jī)系統(tǒng)中監(jiān)控分系統(tǒng)面臨的主要挑戰(zhàn)和應(yīng)對這些挑戰(zhàn)的設(shè)計(jì)思路。針對可擴(kuò)展性挑戰(zhàn),可通過增加監(jiān)控層級和區(qū)域自治的方式解決;針對可靠性挑戰(zhàn),可通過專用監(jiān)控網(wǎng)絡(luò)設(shè)計(jì)和增加監(jiān)控組件冗余備份能力來避免單點(diǎn)故障;針對可服務(wù)性挑戰(zhàn),可通過軟硬件協(xié)同設(shè)計(jì),優(yōu)化各類監(jiān)控服務(wù)大規(guī)模系統(tǒng)效率來解決;針對高效運(yùn)維的需求,可通過探索智能化運(yùn)維方法來提升E級系統(tǒng)可靠性,降低能耗。這些設(shè)計(jì)思路部分已在機(jī)框規(guī)模原型系統(tǒng)上得到驗(yàn)證,對于下一步E級監(jiān)控分系統(tǒng)的構(gòu)建有較大的指導(dǎo)意義。