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