呂 爽,馬艷軍,陳 琪
(1.高原與盆地暴雨旱澇災(zāi)害四川省重點(diǎn)實(shí)驗(yàn)室,四川 成都 610072;2.四川省氣象探測(cè)數(shù)據(jù)中心, 四川 成都 610072;3.78127部隊(duì),四川 成都 610011)
近年來(lái)極端天氣和極端氣候頻發(fā),自然氣象災(zāi)害增多,都對(duì)氣象行業(yè)的預(yù)報(bào)預(yù)警業(yè)務(wù)提出更高、更旺的需求;預(yù)報(bào)預(yù)警的準(zhǔn)確率、時(shí)效性、精細(xì)化程度和服務(wù)水平都需要大幅度提高。相比傳統(tǒng)的經(jīng)驗(yàn)預(yù)報(bào)和統(tǒng)計(jì)預(yù)報(bào),數(shù)值預(yù)報(bào)能夠提供更加客觀、定量、精細(xì)化的預(yù)報(bào)結(jié)果,而且能夠大幅提高預(yù)報(bào)過程的自動(dòng)化[1-3]。為加強(qiáng)對(duì)西南地區(qū)精細(xì)化天氣預(yù)報(bào)業(yè)務(wù)的技術(shù)支撐,四川省氣象局花費(fèi)大量精力建立了西南區(qū)域數(shù)值預(yù)報(bào)模式系統(tǒng)(South West Center WRF ADAS Real-time Modeling System,SWC-WARMS),于2014年6月投入運(yùn)行,并將產(chǎn)品面向全省及西南各省提供共享,且效果良好,目前產(chǎn)品已經(jīng)成為預(yù)報(bào)員不可缺少的參考工具。要保證SWC-WARMS業(yè)務(wù)模式能夠持續(xù)輸出產(chǎn)品,一方面要保證承載SWC-WARMS模式及其備份系統(tǒng)業(yè)務(wù)運(yùn)行的IBM和曙光高性能計(jì)算機(jī)系統(tǒng)穩(wěn)定可靠,另一方面要保證模式應(yīng)用系統(tǒng)的穩(wěn)定性。然而高性能計(jì)算機(jī)系統(tǒng)架構(gòu)復(fù)雜,一直以來(lái)缺乏一種直觀有效的監(jiān)控管理工具對(duì)其進(jìn)行性能監(jiān)視和資源管理。同時(shí)SWC-WARMS系統(tǒng)包括觀測(cè)資料的預(yù)處理、客觀分析、模式預(yù)報(bào)、后處理、氣象可視化等多個(gè)環(huán)節(jié),其工作流程極為復(fù)雜,需要采用合適的技術(shù)對(duì)其進(jìn)行有效的監(jiān)視和管理。綜上所述,急需建設(shè)一套有用的監(jiān)視管理系統(tǒng)來(lái)保證數(shù)值預(yù)報(bào)模式和計(jì)算環(huán)境的高可靠性和穩(wěn)定性。
基于Ganglia分布式監(jiān)控技術(shù)進(jìn)行研發(fā),實(shí)時(shí)監(jiān)視高性能計(jì)算機(jī)系統(tǒng)每個(gè)計(jì)算節(jié)點(diǎn)的運(yùn)行狀態(tài)、進(jìn)程數(shù)量,按照不同時(shí)間粒度實(shí)時(shí)統(tǒng)計(jì)系統(tǒng)的CPU、內(nèi)存、存儲(chǔ)資源利用率、I/O負(fù)載、進(jìn)程和內(nèi)部網(wǎng)絡(luò)流量情況。使管理員和用戶能夠方便、快捷的了解和掌握IBM和曙光高性能計(jì)算機(jī)系統(tǒng)的各項(xiàng)性能指標(biāo)及資源使用情況,實(shí)現(xiàn)對(duì)計(jì)算資源性能的有效監(jiān)視,為資源的合理分配和調(diào)度提供科學(xué)依據(jù)。梳理和研究SWC-WARMS數(shù)值預(yù)報(bào)系統(tǒng)的業(yè)務(wù)流程,基于SMS (Supervisor Monitor Scheduler)技術(shù),實(shí)現(xiàn)對(duì)數(shù)值預(yù)報(bào)模式系統(tǒng)流程化的調(diào)度,對(duì)其整個(gè)運(yùn)行過程實(shí)施有效的監(jiān)控,在無(wú)人值守的情況下能夠記錄模式運(yùn)行過程中各個(gè)關(guān)鍵節(jié)點(diǎn)狀態(tài),確保用戶和管理員能夠在第一時(shí)間準(zhǔn)確的進(jìn)行故障定位,保證業(yè)務(wù)模式的時(shí)效性要求。
四川氣象高性能計(jì)算機(jī)及模式運(yùn)行監(jiān)控系統(tǒng)包含兩個(gè)子系統(tǒng):省局高性能計(jì)算機(jī)性能監(jiān)視子系統(tǒng)以及SWC-WARMS數(shù)值預(yù)報(bào)模式自動(dòng)化監(jiān)視管理子系統(tǒng)。
省局IBM PureFlex P460是刀片式高性能集群系統(tǒng),其計(jì)算節(jié)點(diǎn)浮點(diǎn)峰值能力為26.35萬(wàn)億次/s[4]。省局曙光TC5000集群系統(tǒng)包括28個(gè)計(jì)算節(jié)點(diǎn),其計(jì)算節(jié)點(diǎn)理論浮點(diǎn)峰值性能為11.83萬(wàn)億次/s[5]。
Ganglia是UC Berkeley發(fā)起的一個(gè)開源集群監(jiān)視項(xiàng)目,設(shè)計(jì)用于測(cè)量數(shù)以千計(jì)的節(jié)點(diǎn)[3]。Ganglia的核心包含gmetad、gmond以及Web前端3部分,這3部分之間通過XDL(xml的壓縮格式)或者XML格式傳遞監(jiān)控?cái)?shù)據(jù),達(dá)到監(jiān)控效果[6]。RRDtool是一個(gè)基于Perl的功能強(qiáng)大的數(shù)據(jù)存儲(chǔ)和圖形生成工具[4],使用RRD以所謂循環(huán)的格式來(lái)存儲(chǔ)時(shí)間序列數(shù)據(jù)[7]。
3.1.1技術(shù)路線和結(jié)構(gòu)設(shè)計(jì)結(jié)合省局IBM和曙光高性能計(jì)算機(jī)架構(gòu)現(xiàn)狀,采用Ganglia+RRDTool+Apache開源架構(gòu),進(jìn)行研發(fā),實(shí)現(xiàn)對(duì)曙光TC5000和IBM PureFlex P460的性能監(jiān)視。省局高性能計(jì)算機(jī)性能監(jiān)視子系統(tǒng)從結(jié)構(gòu)上分為客戶端、服務(wù)端和用戶端3部分。如圖1所示,將省局IBM和曙光高性能計(jì)算機(jī)被監(jiān)視的計(jì)算節(jié)點(diǎn)作為客戶端,系統(tǒng)研發(fā)多個(gè)腳本實(shí)時(shí)采集客戶端的CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)流量等度量數(shù)據(jù)以及服務(wù)器類型、操作系統(tǒng)版本信息,并發(fā)送給服務(wù)端;服務(wù)端將數(shù)據(jù)實(shí)時(shí)存儲(chǔ)到rrdtool數(shù)據(jù)庫(kù)中,并為數(shù)據(jù)統(tǒng)計(jì)和頁(yè)面展示提供訪問接口,在Web頁(yè)面中通過提取并解析數(shù)據(jù)庫(kù)中的數(shù)據(jù),以圖形方式實(shí)現(xiàn)對(duì)集群計(jì)算節(jié)點(diǎn)各項(xiàng)指標(biāo)進(jìn)行監(jiān)控,從而直觀的反映整個(gè)集群的性能。用戶使用的個(gè)人計(jì)算機(jī)作為用戶端,通過用戶端的瀏覽器可以查看各個(gè)計(jì)算節(jié)點(diǎn)和整個(gè)高性能計(jì)算機(jī)系統(tǒng)的運(yùn)行情況。系統(tǒng)功能主要包含兩個(gè)方面:監(jiān)視和統(tǒng)計(jì)。監(jiān)視功能主要是監(jiān)視每個(gè)計(jì)算節(jié)點(diǎn)的運(yùn)行狀態(tài)和資源使用情況,能夠?qū)崟r(shí)自動(dòng)刷新;統(tǒng)計(jì)功能主要是統(tǒng)計(jì)不同時(shí)間粒度下集群及每個(gè)計(jì)算節(jié)點(diǎn)的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)流量等各種資源使用情況。
圖1 高性能計(jì)算機(jī)性能監(jiān)視子系統(tǒng)軟件結(jié)構(gòu)Fig.1 The software structure of high performance computer performance monitoring subsystem
3.1.2技術(shù)實(shí)現(xiàn)及監(jiān)視結(jié)果在省局曙光TC5000集群中選擇登陸節(jié)點(diǎn)node33作為Gmetad程序運(yùn)行節(jié)點(diǎn),即服務(wù)節(jié)點(diǎn);node1至node28共計(jì)28個(gè)計(jì)算節(jié)點(diǎn)作為被監(jiān)控節(jié)點(diǎn),運(yùn)行g(shù)mond程序,即客戶端。在省局 IBM PureFlex P460集群中選擇cda01n02作為Gmetad程序運(yùn)行節(jié)點(diǎn),即服務(wù)節(jié)點(diǎn);cda01n[02-14]和cda02n[02-14]共計(jì)26個(gè)計(jì)算節(jié)點(diǎn)作為被監(jiān)控節(jié)點(diǎn),運(yùn)行g(shù)mond程序,即客戶端。由于曙光和IBM集群處理器結(jié)構(gòu)和操作系統(tǒng)不同,故在兩個(gè)集群中需要部署不同版本的Ganglia,并根據(jù)不同集群的編譯環(huán)境進(jìn)行本地化和二次開發(fā)。系統(tǒng)能夠監(jiān)視高性能計(jì)算機(jī)的34個(gè)性能指標(biāo),如下表1所示。
表1 高性能計(jì)算機(jī)性能監(jiān)視子系統(tǒng)監(jiān)視指標(biāo)Tab.1 The index of high performance computer performance monitoring subsystem
如圖2所示,省局曙光集群性能監(jiān)視Web主頁(yè)面上方,實(shí)時(shí)展示了集群的CPU核總數(shù),在線主機(jī)和下線主機(jī);最近15 min、5 min和1 min系統(tǒng)平均負(fù)載百分比。頁(yè)面主體部分實(shí)時(shí)顯示了整個(gè)集群所有被監(jiān)控的計(jì)算節(jié)點(diǎn)狀態(tài),包括每個(gè)計(jì)算節(jié)點(diǎn)上個(gè)小時(shí)CPU資源使用情況、內(nèi)存空間使用、網(wǎng)絡(luò)流量、運(yùn)行的進(jìn)程數(shù)量等,系統(tǒng)管理員可以將這些監(jiān)視結(jié)果信息作為參考依據(jù),結(jié)合各個(gè)節(jié)點(diǎn)的資源使用情況,安排各個(gè)作業(yè)的提交順序,避免出現(xiàn)大量節(jié)點(diǎn)繁忙,而部分節(jié)點(diǎn)完全空閑的狀態(tài),從而有效避免了用戶排隊(duì)等待時(shí)間過長(zhǎng)問題,提高了集群使用效率。
圖2 省局曙光集群性能監(jiān)視主頁(yè)面Fig.2 The monitoring page of Provincial Bureau Dawning Cluster performance
如圖3,展示了過去1d中,2017年3月27日03時(shí)—2017年3月28日00時(shí)(GMT)時(shí)間段內(nèi), 曙光集群node1計(jì)算節(jié)點(diǎn)CPU利用率,可以看到,最高利用率達(dá)到89.34%,最低利用率為85.71,可以推斷,此時(shí)間段內(nèi)曙光集群node1一直處于高度繁忙狀態(tài)。
圖3 曙光集群CPU利用率(2017年3月27日03時(shí)—2017年3月28日00時(shí)(GMT))Fig.3 CPU utilization of Dawning Cluster (March 27, 2017 03∶00—March 28, 2017 00∶00(GMT))
如下圖4所示,IBM集群性能監(jiān)視界面實(shí)時(shí)呈現(xiàn)了整個(gè)集群各個(gè)計(jì)算節(jié)點(diǎn)上個(gè)小時(shí)平均負(fù)載狀況。如圖5所示,性能監(jiān)視界面展示了IBM高性能集群cda02n14計(jì)算節(jié)點(diǎn)上個(gè)時(shí)次運(yùn)行的進(jìn)程數(shù)量和整個(gè)集群的進(jìn)程數(shù)量,從而系統(tǒng)管理員可以直觀的掌握各個(gè)計(jì)算節(jié)點(diǎn)在整個(gè)集群中的忙閑度,合理和客觀的為用戶分配資源。
圖4 IBM 高性能集群系統(tǒng)監(jiān)視頁(yè)面Fig.4 The monitoring page of Provincial Bureau IBM Cluster performance
3.2.1SMS技術(shù)SMS (Supervisor Monitor Scheduler)軟件是一種功能化編程語(yǔ)言,是歐洲中心中期天氣預(yù)報(bào)(ECWMF)開發(fā)的主要用于數(shù)值預(yù)報(bào)系統(tǒng)運(yùn)行的一個(gè)基礎(chǔ)軟件。它提供了一個(gè)面向工作流的開發(fā)組件,用于描述工作過程,調(diào)度運(yùn)行和監(jiān)控管理。
3.2.2結(jié)構(gòu)和設(shè)計(jì)基于SMS (Supervisor Monitor Scheduler)技術(shù),采用客戶端/服務(wù)器結(jié)構(gòu)進(jìn)行設(shè)計(jì)。服務(wù)器端:定義數(shù)值預(yù)報(bào)模式的業(yè)務(wù)流程,對(duì)這些作業(yè)進(jìn)行調(diào)度和管理,收集所需要的監(jiān)視信息,并通過遠(yuǎn)程調(diào)度的方式將數(shù)值預(yù)報(bào)模式提交到高性能計(jì)算機(jī)系統(tǒng)上運(yùn)行。客戶端:根據(jù)配置的參數(shù)對(duì)被控系統(tǒng)進(jìn)行監(jiān)控,用戶通過客戶端界面管理和監(jiān)視數(shù)值預(yù)報(bào)模式業(yè)務(wù)系統(tǒng)的運(yùn)行狀態(tài),出現(xiàn)異常情況則報(bào)警。
圖5 IBM 高性能集群系統(tǒng)運(yùn)行進(jìn)程監(jiān)視Fig.5 IBM high performance cluster system running process monitoring
設(shè)計(jì)思想是利用SMS 技術(shù),對(duì)SWC-WARMS數(shù)值預(yù)報(bào)的流程做詳盡的劃分,將功能類似的SWC-WARMS模式模塊組合在一起, 將復(fù)雜單一模塊拆分成多個(gè)任務(wù),設(shè)計(jì)程序?qū)崿F(xiàn)IBM高性能計(jì)算機(jī)loadlevel作業(yè)調(diào)度系統(tǒng)與數(shù)值預(yù)報(bào)自動(dòng)化接口的緊密結(jié)合,以圖形化界面直觀的顯示模式運(yùn)行流程,在出錯(cuò)的情況下,向維護(hù)人員提供模式系統(tǒng)出錯(cuò)的詳細(xì)信息,從而將模式出錯(cuò)的概率和損失程度降低到最低,進(jìn)而降低維護(hù)人員的工作強(qiáng)度。
3.2.3技術(shù)實(shí)現(xiàn)SWC-WARMS是西南區(qū)域氣象中心最為重要的業(yè)務(wù)模式系統(tǒng),該系統(tǒng)基于WRF(3.5.1)和ARPS5.3.3(ADAS)建立,中心經(jīng)緯度:(32°N,100°E),分辨率為9 km,預(yù)報(bào)時(shí)效72 h,每6 h輸出一次結(jié)果。對(duì)SWC-WARMS模式流程進(jìn)行詳細(xì)梳理:模式在世界時(shí)04時(shí)、10時(shí)、16時(shí)和22時(shí)自動(dòng)啟動(dòng),每次運(yùn)行都包括預(yù)處理(preprocess)、資料預(yù)處理(arps )、adas同化觀測(cè)和wps分析同化及主模式wrf運(yùn)行和后處理postprocess。結(jié)合SWC-WARMS的實(shí)際業(yè)務(wù)特點(diǎn),完成SWC-WARMS模式的流程化調(diào)度開發(fā),運(yùn)用了SMS觸發(fā)機(jī)制(triggering),各模塊之間密切關(guān)聯(lián),后一作業(yè)模塊的運(yùn)行依賴于前一模塊的完成,只有在前一作業(yè)模塊正常完成的情況下,才進(jìn)行下一模塊作業(yè)。SWC-WARMS模式自動(dòng)化運(yùn)行流程如下:SWC-WARMS模式定義文件SWCWARMS.def,定義了一個(gè)任務(wù)包(suite),包括sms文件和h文件,sms文件詳細(xì)定義了模式的相關(guān)作業(yè), h文件定義相關(guān)變量。用戶通過CDP登錄SMS服務(wù)器后,提交任務(wù)包定義文件SWCWARMS.def,即編譯def文件,并發(fā)送給SMS系統(tǒng)。在重啟動(dòng)SMS后,啟動(dòng)作業(yè)包。通過SMS圖形化窗口XCDP查看SWC-WARMS模式運(yùn)行如圖6所示。
圖6 SWC-WARMS模式自動(dòng)化管理流程圖Fig.6 SWC-WARMS model automation management flow chart
四川氣象高性能計(jì)算機(jī)及模式運(yùn)行監(jiān)控系統(tǒng)自2016年1月投入業(yè)務(wù)使用后,運(yùn)行穩(wěn)定。系統(tǒng)研發(fā)成果目前是系統(tǒng)管理員和數(shù)值模式運(yùn)維人員管理高性能集群和業(yè)務(wù)模式的重要工具。表2中各項(xiàng)指標(biāo)是每年省局向中國(guó)氣象局上報(bào)的高性能計(jì)算資源使用評(píng)估效益指標(biāo)。從各項(xiàng)指標(biāo)值來(lái)看,自從2016年初四川氣象高性能計(jì)算機(jī)及模式運(yùn)行監(jiān)控系統(tǒng)上線之后,系統(tǒng)年平均可用率和CPU年平均利用率有所提高,同時(shí)由于監(jiān)視工具的使用,使得系統(tǒng)軟硬件故障能夠得到及時(shí)發(fā)現(xiàn)和定位,2016年前后,高性能計(jì)算機(jī)系統(tǒng)故障影響業(yè)務(wù)時(shí)間明顯有所下降。全國(guó)區(qū)域業(yè)務(wù)模式統(tǒng)一檢驗(yàn)平臺(tái)對(duì)四川SWC-WARMS模式檢驗(yàn)的結(jié)果數(shù)據(jù)顯示,2014—2017年,四川SWC-WARMS模式系統(tǒng)發(fā)生故障使產(chǎn)品推遲生成時(shí)間在30 min以上的幾率分別為2.95%、2.83%、1.38%、1.23%呈逐年下降的趨勢(shì),自2016年開始,模式自動(dòng)化監(jiān)視管理工具的使用,實(shí)現(xiàn)了對(duì)SWC-WARMS流程化的調(diào)度監(jiān)視,不僅能夠快速發(fā)現(xiàn)故障,還可以從故障點(diǎn)實(shí)現(xiàn)斷點(diǎn)續(xù)作,大大降低了業(yè)務(wù)模式的故障率,使得該項(xiàng)指標(biāo)與2016年之前相比,大幅下降。
表2 高性能計(jì)算資源使用評(píng)估效益指標(biāo)Tab.2 Performance evaluation index of high performance calculation of resource consumption
四川氣象高性能計(jì)算機(jī)及模式運(yùn)行監(jiān)控系統(tǒng)的研發(fā)和使用有效保障了省局高性能計(jì)算機(jī)和數(shù)值預(yù)報(bào)模式的業(yè)務(wù)運(yùn)行,對(duì)于充分發(fā)揮省局高性能計(jì)算資源使用效益具有重要的意義,保證了模式能夠在規(guī)定時(shí)間內(nèi)高效的向預(yù)報(bào)員提供產(chǎn)品,對(duì)于省局預(yù)報(bào)預(yù)測(cè)業(yè)務(wù)水平的提高也起到了一定的作用。