呂 爽,馬艷軍,陳 琪
(1.高原與盆地暴雨旱澇災害四川省重點實驗室,四川 成都 610072;2.四川省氣象探測數據中心, 四川 成都 610072;3.78127部隊,四川 成都 610011)
近年來極端天氣和極端氣候頻發,自然氣象災害增多,都對氣象行業的預報預警業務提出更高、更旺的需求;預報預警的準確率、時效性、精細化程度和服務水平都需要大幅度提高。相比傳統的經驗預報和統計預報,數值預報能夠提供更加客觀、定量、精細化的預報結果,而且能夠大幅提高預報過程的自動化[1-3]。為加強對西南地區精細化天氣預報業務的技術支撐,四川省氣象局花費大量精力建立了西南區域數值預報模式系統(South West Center WRF ADAS Real-time Modeling System,SWC-WARMS),于2014年6月投入運行,并將產品面向全省及西南各省提供共享,且效果良好,目前產品已經成為預報員不可缺少的參考工具。要保證SWC-WARMS業務模式能夠持續輸出產品,一方面要保證承載SWC-WARMS模式及其備份系統業務運行的IBM和曙光高性能計算機系統穩定可靠,另一方面要保證模式應用系統的穩定性。然而高性能計算機系統架構復雜,一直以來缺乏一種直觀有效的監控管理工具對其進行性能監視和資源管理。同時SWC-WARMS系統包括觀測資料的預處理、客觀分析、模式預報、后處理、氣象可視化等多個環節,其工作流程極為復雜,需要采用合適的技術對其進行有效的監視和管理。綜上所述,急需建設一套有用的監視管理系統來保證數值預報模式和計算環境的高可靠性和穩定性。
基于Ganglia分布式監控技術進行研發,實時監視高性能計算機系統每個計算節點的運行狀態、進程數量,按照不同時間粒度實時統計系統的CPU、內存、存儲資源利用率、I/O負載、進程和內部網絡流量情況。使管理員和用戶能夠方便、快捷的了解和掌握IBM和曙光高性能計算機系統的各項性能指標及資源使用情況,實現對計算資源性能的有效監視,為資源的合理分配和調度提供科學依據。梳理和研究SWC-WARMS數值預報系統的業務流程,基于SMS (Supervisor Monitor Scheduler)技術,實現對數值預報模式系統流程化的調度,對其整個運行過程實施有效的監控,在無人值守的情況下能夠記錄模式運行過程中各個關鍵節點狀態,確保用戶和管理員能夠在第一時間準確的進行故障定位,保證業務模式的時效性要求。
四川氣象高性能計算機及模式運行監控系統包含兩個子系統:省局高性能計算機性能監視子系統以及SWC-WARMS數值預報模式自動化監視管理子系統。
省局IBM PureFlex P460是刀片式高性能集群系統,其計算節點浮點峰值能力為26.35萬億次/s[4]。省局曙光TC5000集群系統包括28個計算節點,其計算節點理論浮點峰值性能為11.83萬億次/s[5]。
Ganglia是UC Berkeley發起的一個開源集群監視項目,設計用于測量數以千計的節點[3]。Ganglia的核心包含gmetad、gmond以及Web前端3部分,這3部分之間通過XDL(xml的壓縮格式)或者XML格式傳遞監控數據,達到監控效果[6]。RRDtool是一個基于Perl的功能強大的數據存儲和圖形生成工具[4],使用RRD以所謂循環的格式來存儲時間序列數據[7]。
3.1.1技術路線和結構設計結合省局IBM和曙光高性能計算機架構現狀,采用Ganglia+RRDTool+Apache開源架構,進行研發,實現對曙光TC5000和IBM PureFlex P460的性能監視。省局高性能計算機性能監視子系統從結構上分為客戶端、服務端和用戶端3部分。如圖1所示,將省局IBM和曙光高性能計算機被監視的計算節點作為客戶端,系統研發多個腳本實時采集客戶端的CPU、內存、硬盤、網絡流量等度量數據以及服務器類型、操作系統版本信息,并發送給服務端;服務端將數據實時存儲到rrdtool數據庫中,并為數據統計和頁面展示提供訪問接口,在Web頁面中通過提取并解析數據庫中的數據,以圖形方式實現對集群計算節點各項指標進行監控,從而直觀的反映整個集群的性能。用戶使用的個人計算機作為用戶端,通過用戶端的瀏覽器可以查看各個計算節點和整個高性能計算機系統的運行情況。系統功能主要包含兩個方面:監視和統計。監視功能主要是監視每個計算節點的運行狀態和資源使用情況,能夠實時自動刷新;統計功能主要是統計不同時間粒度下集群及每個計算節點的計算、存儲、網絡流量等各種資源使用情況。

圖1 高性能計算機性能監視子系統軟件結構Fig.1 The software structure of high performance computer performance monitoring subsystem
3.1.2技術實現及監視結果在省局曙光TC5000集群中選擇登陸節點node33作為Gmetad程序運行節點,即服務節點;node1至node28共計28個計算節點作為被監控節點,運行gmond程序,即客戶端。在省局 IBM PureFlex P460集群中選擇cda01n02作為Gmetad程序運行節點,即服務節點;cda01n[02-14]和cda02n[02-14]共計26個計算節點作為被監控節點,運行gmond程序,即客戶端。由于曙光和IBM集群處理器結構和操作系統不同,故在兩個集群中需要部署不同版本的Ganglia,并根據不同集群的編譯環境進行本地化和二次開發。系統能夠監視高性能計算機的34個性能指標,如下表1所示。

表1 高性能計算機性能監視子系統監視指標Tab.1 The index of high performance computer performance monitoring subsystem
如圖2所示,省局曙光集群性能監視Web主頁面上方,實時展示了集群的CPU核總數,在線主機和下線主機;最近15 min、5 min和1 min系統平均負載百分比。頁面主體部分實時顯示了整個集群所有被監控的計算節點狀態,包括每個計算節點上個小時CPU資源使用情況、內存空間使用、網絡流量、運行的進程數量等,系統管理員可以將這些監視結果信息作為參考依據,結合各個節點的資源使用情況,安排各個作業的提交順序,避免出現大量節點繁忙,而部分節點完全空閑的狀態,從而有效避免了用戶排隊等待時間過長問題,提高了集群使用效率。

圖2 省局曙光集群性能監視主頁面Fig.2 The monitoring page of Provincial Bureau Dawning Cluster performance
如圖3,展示了過去1d中,2017年3月27日03時—2017年3月28日00時(GMT)時間段內, 曙光集群node1計算節點CPU利用率,可以看到,最高利用率達到89.34%,最低利用率為85.71,可以推斷,此時間段內曙光集群node1一直處于高度繁忙狀態。

圖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集群性能監視界面實時呈現了整個集群各個計算節點上個小時平均負載狀況。如圖5所示,性能監視界面展示了IBM高性能集群cda02n14計算節點上個時次運行的進程數量和整個集群的進程數量,從而系統管理員可以直觀的掌握各個計算節點在整個集群中的忙閑度,合理和客觀的為用戶分配資源。

圖4 IBM 高性能集群系統監視頁面Fig.4 The monitoring page of Provincial Bureau IBM Cluster performance
3.2.1SMS技術SMS (Supervisor Monitor Scheduler)軟件是一種功能化編程語言,是歐洲中心中期天氣預報(ECWMF)開發的主要用于數值預報系統運行的一個基礎軟件。它提供了一個面向工作流的開發組件,用于描述工作過程,調度運行和監控管理。
3.2.2結構和設計基于SMS (Supervisor Monitor Scheduler)技術,采用客戶端/服務器結構進行設計。服務器端:定義數值預報模式的業務流程,對這些作業進行調度和管理,收集所需要的監視信息,并通過遠程調度的方式將數值預報模式提交到高性能計算機系統上運行。客戶端:根據配置的參數對被控系統進行監控,用戶通過客戶端界面管理和監視數值預報模式業務系統的運行狀態,出現異常情況則報警。

圖5 IBM 高性能集群系統運行進程監視Fig.5 IBM high performance cluster system running process monitoring
設計思想是利用SMS 技術,對SWC-WARMS數值預報的流程做詳盡的劃分,將功能類似的SWC-WARMS模式模塊組合在一起, 將復雜單一模塊拆分成多個任務,設計程序實現IBM高性能計算機loadlevel作業調度系統與數值預報自動化接口的緊密結合,以圖形化界面直觀的顯示模式運行流程,在出錯的情況下,向維護人員提供模式系統出錯的詳細信息,從而將模式出錯的概率和損失程度降低到最低,進而降低維護人員的工作強度。
3.2.3技術實現SWC-WARMS是西南區域氣象中心最為重要的業務模式系統,該系統基于WRF(3.5.1)和ARPS5.3.3(ADAS)建立,中心經緯度:(32°N,100°E),分辨率為9 km,預報時效72 h,每6 h輸出一次結果。對SWC-WARMS模式流程進行詳細梳理:模式在世界時04時、10時、16時和22時自動啟動,每次運行都包括預處理(preprocess)、資料預處理(arps )、adas同化觀測和wps分析同化及主模式wrf運行和后處理postprocess。結合SWC-WARMS的實際業務特點,完成SWC-WARMS模式的流程化調度開發,運用了SMS觸發機制(triggering),各模塊之間密切關聯,后一作業模塊的運行依賴于前一模塊的完成,只有在前一作業模塊正常完成的情況下,才進行下一模塊作業。SWC-WARMS模式自動化運行流程如下:SWC-WARMS模式定義文件SWCWARMS.def,定義了一個任務包(suite),包括sms文件和h文件,sms文件詳細定義了模式的相關作業, h文件定義相關變量。用戶通過CDP登錄SMS服務器后,提交任務包定義文件SWCWARMS.def,即編譯def文件,并發送給SMS系統。在重啟動SMS后,啟動作業包。通過SMS圖形化窗口XCDP查看SWC-WARMS模式運行如圖6所示。

圖6 SWC-WARMS模式自動化管理流程圖Fig.6 SWC-WARMS model automation management flow chart
四川氣象高性能計算機及模式運行監控系統自2016年1月投入業務使用后,運行穩定。系統研發成果目前是系統管理員和數值模式運維人員管理高性能集群和業務模式的重要工具。表2中各項指標是每年省局向中國氣象局上報的高性能計算資源使用評估效益指標。從各項指標值來看,自從2016年初四川氣象高性能計算機及模式運行監控系統上線之后,系統年平均可用率和CPU年平均利用率有所提高,同時由于監視工具的使用,使得系統軟硬件故障能夠得到及時發現和定位,2016年前后,高性能計算機系統故障影響業務時間明顯有所下降。全國區域業務模式統一檢驗平臺對四川SWC-WARMS模式檢驗的結果數據顯示,2014—2017年,四川SWC-WARMS模式系統發生故障使產品推遲生成時間在30 min以上的幾率分別為2.95%、2.83%、1.38%、1.23%呈逐年下降的趨勢,自2016年開始,模式自動化監視管理工具的使用,實現了對SWC-WARMS流程化的調度監視,不僅能夠快速發現故障,還可以從故障點實現斷點續作,大大降低了業務模式的故障率,使得該項指標與2016年之前相比,大幅下降。

表2 高性能計算資源使用評估效益指標Tab.2 Performance evaluation index of high performance calculation of resource consumption
四川氣象高性能計算機及模式運行監控系統的研發和使用有效保障了省局高性能計算機和數值預報模式的業務運行,對于充分發揮省局高性能計算資源使用效益具有重要的意義,保證了模式能夠在規定時間內高效的向預報員提供產品,對于省局預報預測業務水平的提高也起到了一定的作用。