陳曉霞,史月琴,孫婧
1.國家氣象信息中心,北京 100081
2.中國氣象局,北京 100081
基于工作流的人影模式自動化監(jiān)控平臺的設計與實現(xiàn)
陳曉霞1,史月琴2,孫婧1
1.國家氣象信息中心,北京 100081
2.中國氣象局,北京 100081
數(shù)值天氣預報業(yè)務系統(tǒng)流程復雜,運行時間長等特點要求必須有一種直觀、方便的可視化的監(jiān)控界面對整個業(yè)務流程進行實時監(jiān)控。以人工影響天氣模式系統(tǒng)(2013 版)中的 MM5_CAMS 模式為例,平臺建設之前主要采用 shell 腳本運行的方式,無法實時監(jiān)控,定位錯誤也較困難,本文基于工作流的方式,全面梳理模式的工作流程,化繁為簡,設計并實現(xiàn)了 MM5_CAMS 模式的自動化監(jiān)控平臺,總結了氣象模式工作流的設計原則,同時全面分析系統(tǒng)建設前后的效益,為今后的數(shù)值預報模式的監(jiān)控平臺建設提供參考價值。
工作流;SMS;ecFLOW;MM5_CAMS 模式;高性能計算
氣象部門是高性能計算應用的主要領域之一,當前中國氣象局的高性能計算機系統(tǒng)是于 2013年引進、安裝并運行的總峰值達到 1054.2TFlops 的 IBM Flex P460 機群,數(shù)值預報模式是此系統(tǒng)的最大資源使用模式,約占到每月總使用量的 40%。數(shù)值預報模式是利用當前及歷史的綜合觀測資料信息,通過數(shù)值預報系統(tǒng)對未來大氣海洋狀態(tài)進行預報預測并提供產品的過程。數(shù)值預報業(yè)務系統(tǒng)包括觀測資料獲取、資料質量控制、客觀分析、預報模式、后處理、解釋應用等六大部分組成,從而形成了從觀測到產品加工這一個完整的業(yè)務流程。
數(shù)值預報模式業(yè)務系統(tǒng)有兩大特點[1],一是業(yè)務流程復雜,運行時間長。因為涉及到多種數(shù)據(jù)的處理、模式計算、統(tǒng)計檢驗環(huán)節(jié),而某些環(huán)節(jié)的運算可能需要持續(xù)數(shù)個小時。在這些環(huán)節(jié)的運行過程中,有可能會因為計算機硬件或軟件的原因出現(xiàn)一些無法預知的錯誤。二是每天定時循環(huán)運行兩次、四次或多次不等。系統(tǒng)每個時次的運行以及不同系統(tǒng)之間并不是孤立的,某個系統(tǒng)或某個時次的運行結果會作為另一個系統(tǒng)的輸入,因此及時了解系統(tǒng)運行的進度、發(fā)現(xiàn)運行過程中出現(xiàn)的錯誤,避免影響當天預報產品的發(fā)布。
人工影響天氣模式系統(tǒng)(2013 版)包括 GRAPES_CAMS 模式(Global and Regional Assimilation and Prediction System,Chinese Academy of Meteorological Sciences)和 MM5_CAMS 模式(Mesoscale Model 5,Chinese Academy of Meteorological Sciences)和),其中 GRAPES_CAMS 模式覆蓋全國范圍,水平分辨率為 25km,主要服務對象是大范圍層狀云系人工增雨作業(yè)條件預報;MM5_CAMS 模式根據(jù)需要覆蓋重點省區(qū),包括東北區(qū)域、華北區(qū)域和重點關注區(qū)域,水平分辨率為 15km,第二套網(wǎng)格水平分辨率為 5km,為混合云系和對流云人工增雨作業(yè)條件提供精準預報服務。該模式系統(tǒng)分別以 GRAPES 和 MM5 為動力框架,耦合中國氣象科學研究院研發(fā)的雙參數(shù)云分辨方案,增加了雨、雪和霰的粒子比數(shù)濃度的預報,完善了多個微物理過程的描述。從 2014年投入業(yè)務運行以來,為抗旱增雨、森林草原防撲火、重大活動保障提供了科技支撐,取得良好的服務效果。
當前包括全球 T639 同化系統(tǒng)、全球 GRAPES 同化系統(tǒng)等數(shù)值預報業(yè)務模式均已經(jīng)實現(xiàn)實時監(jiān)控,但是人工影響天氣模式系統(tǒng)(2013 版)包含的 MM5_CAMS 模式和 GRAPES_CAMS 模式主要是借助作業(yè)管理軟件提交作業(yè),而作業(yè)是一個帶有多重嵌套的shell 腳本,模式運行正常與否通過手動查看日志文件進行排查,不僅無法實時監(jiān)控其運行情況,查錯及排錯需要消耗大量的精力。因此要求有一種直觀、方便的監(jiān)控手段來對整個業(yè)務運行過程進行監(jiān)控管理。
在 WFMC(WorkFlow Management Coalition,工作流管理聯(lián)盟)提出的工作流參考模型中,工作流管理和監(jiān)控是重要的組件之一,工作流監(jiān)控對整個工作流管理系統(tǒng)而言是非常重要的。WFMC 對工作流的定義,工作流是一類能夠完全或者部分自動執(zhí)行的經(jīng)營過程,它根據(jù)一系列過程規(guī)則、文檔、信息或任務能夠在不同的執(zhí)行者之間進行傳遞與執(zhí)行[2]。
科學工作流管理系統(tǒng)(Scientific Workflow Management Syestems,SWfMS)作為一種輔助科學家進行科學探索的手段,可以對這些復雜應用程序及各程序之間的數(shù)據(jù)依賴關系進行組合,并控制各部分在在時間、空間以及資源等約束條件下按序完成,已經(jīng)成為復雜科學計處流程管理的必要手段,有效地推動了科研進展。國內外多個科研組織、實驗室分別開發(fā)了面向各自領域的科學工作流管理系統(tǒng)[3]。
在國內外氣象部門里,業(yè)務流程監(jiān)控管理系統(tǒng)普遍采用歐洲數(shù)值預報中心(ECMWF)開發(fā)的作業(yè)監(jiān)控管理軟件 SMS 及 ecFLOW。SMS 自20世紀 80年代開始不斷推出新版本;自 2011年起 ECMWF 不再進行 SMS 軟件的開發(fā)及更新,取而代之的是 ecFLOW管理軟件。當前包括 ECMWF、歐洲成員國及組織、美國國家氣象中心、中國氣象局、總參氣象局、空軍氣象中心等氣象部門均采用 SMS 或 ecFLOW 進行數(shù)值模式的監(jiān)控的二次開發(fā)。
本文主要利用歐洲數(shù)值預報中心 ECMWF 開發(fā)的作業(yè)監(jiān)控管理軟件技術進行二次開發(fā),設計并實現(xiàn)了人影 MM5_CAMS 模式的自動化監(jiān)控平臺,此平臺清晰梳理了業(yè)務流程,有效地提高了監(jiān)控的效率,并且實現(xiàn)高容錯,大大縮短了模式的運行時間,提高了運行效率。同時總結了適宜數(shù)值預報模式的自動化監(jiān)控的設計方法,為后期模式的平臺建設提供了參考價值。
當前并沒有一套業(yè)界標準設計規(guī)范,基于前期工作,我們總結出七大設計原則,包括業(yè)務流程定義、模塊化設計、監(jiān)控粒度設計、數(shù)據(jù)管理、高質量的注釋、工作流復用設計、良好的維護體驗等方面。
(1)業(yè)務流程定義:氣象模式有一套自己的運行機制,業(yè)務流程定義常依賴于重新歸類后的流程,以實現(xiàn)模塊之間的高效運行,同時也極大地方便了不同部門的人員了解模式的運行,而最顯著的一點就是有利于模式在未來的進一步發(fā)展,優(yōu)秀的業(yè)務流程定義是高效的模式監(jiān)控的基礎。
(2) 模塊化設計:因為當前高性能計算機上用戶以shell腳本為最小的監(jiān)控單元,因此為實現(xiàn)高冗余性,需要有合理的模塊設計。
(3)監(jiān)控粒度設計:數(shù)值預報模式運行出錯大致分為三類原因,一是高性能計算機系統(tǒng)本身的計算節(jié)點、存儲節(jié)點、文件系統(tǒng)故障;二是輸入數(shù)據(jù)不完整、未到達;三是模式本身積分溢出,設計存在漏洞等,因此從這三個層面進行設計,可以有效地區(qū)分是何種原因導致出錯,并以最快速度排錯,這也有效地提高維護效率。
(4)數(shù)據(jù)管理:輸出數(shù)據(jù)從用途來分類,一是作為下一個任務的輸入數(shù)據(jù);二是歸檔入庫;三是傳輸給最終用戶;從格式來分類,有二進制文件、grib 文件、圖片等多種形式,因此需要在設計時考慮其用途及格式,以免后期需要更改。
(5)高質量的注釋[4]:靜態(tài)注釋及過程提取并重,注釋包括合理運用標簽(label),標尺(meter)等,使得每一步流程清晰可見。
(6)工作流復用設計:對于某些子流程可以實現(xiàn)復用,方便新的流程建立。因此對于其中時間變量、數(shù)據(jù)位置變量等做到良好的設計,可以高效利用此流程。
(7)良好的維護體驗:流程、模塊的合理命名,錯誤報錯的提示語言的可讀性設計,都將有助于高效定位。
基于工作流的人影模式的自動化監(jiān)控平臺的系統(tǒng)結構包括:業(yè)務流程定義、引擎系統(tǒng)及最終的圖形化監(jiān)控管理顯示模塊。系統(tǒng)業(yè)務流程圖如圖4所示。
業(yè)務流程定義用于描述氣象數(shù)值預報業(yè)務流程,用于業(yè)務流程的創(chuàng)建和管理,描述業(yè)務邏輯及各種關系依賴。工作流引擎系統(tǒng)[5]則由流程解析器、作業(yè)編排表、作業(yè)調度器、作業(yè)執(zhí)行器、shell適配器及流程狀態(tài)監(jiān)控等部分組成。
流程解析器用于讀入、分析、解釋業(yè)務流程定義文件(.def)。當用戶編排好業(yè)務流程定義文件后,首先載入到流程解析器進行詞法、語法分析及語義檢查,驗證流程定義文件是否存在錯誤。如果存在語法錯誤,則報出錯誤;如果通過語法檢查,則根據(jù)文件中作業(yè)之間的關系生成一張作業(yè)編排表,供作業(yè)調度器使用。
圖1 系統(tǒng)業(yè)務流程圖Fig.1 The Architecture of Work flow System
圖2 作業(yè)狀態(tài)變遷Fig.2 Status of Jobs
作業(yè)調度器周期性檢查作業(yè)調度表,如果作業(yè)狀態(tài)發(fā)生變化,則根據(jù)作業(yè)之間的依賴關系及作業(yè)狀態(tài)變換機制確定下一步的作業(yè)調度,并將符合條件的作業(yè)提交給作業(yè)執(zhí)行器。作業(yè)狀態(tài)包括未知狀態(tài)、完成狀態(tài)、排隊狀態(tài)、掛起狀態(tài)、中止狀態(tài)、提交狀態(tài)、運行狀態(tài)等,作業(yè)狀態(tài)的變遷過程如圖2所示。
引擎系統(tǒng)中的作業(yè)狀態(tài)的變化是由特定的事件觸發(fā),排隊狀態(tài)隊列中的作業(yè)獲得合適的資源或條件滿足時(比如時間到或數(shù)據(jù)到達)則進行運行狀態(tài),如果作業(yè)正常執(zhí)行結束則變?yōu)橥瓿蔂顟B(tài),否則進入異常中止狀態(tài)[6],在監(jiān)控界面上以不同的顏色進行顯示 。運行之初,所有的作業(yè)初始化為未知狀態(tài),根據(jù)作業(yè)的依賴關系確定其執(zhí)行順序,滿足執(zhí)行條件的作業(yè)進行排隊、完成、掛起、中止狀態(tài)。
依據(jù)系統(tǒng)的結構,首先需要對人影模式 MM5_CAMS 的業(yè)務流程進行梳理,重新歸類后的 MM5_CAMS 重點關注區(qū)域數(shù)值預報系統(tǒng)業(yè)務流程如下圖所示,MM5_CAMS 模式分為數(shù)據(jù)獲取、數(shù)據(jù)前處理、模式主程序運行、后處理、數(shù)據(jù)歸檔、數(shù)據(jù)清理等六大部分。在流程定義文件中為 6個 family(族),每一個組下面可以有多個 family 或 task,將功能類似的模塊組合在一個作業(yè)族中,這種逐級分類方法非常有利于理清整個業(yè)務流程。每一個 task 文件就是一個 shell腳本,是最小的運行單位。
數(shù)據(jù)獲取(pre_data)模塊是對 T639 全球預報數(shù)據(jù)的接收處理,首先并行獲取 T639 數(shù)據(jù),所有文件同一時間下載。數(shù)據(jù)分析(analyse)模塊是模式運行的前處理程序,共分為四小步(ungrib,metgrid,regridder,interpf)來完成,首先生成 namelist 文件,然后生成初始場資料及側邊界資料。模式主程序(model)模塊是模式預報主程序,以初始場資料及側邊界資料為輸入。數(shù)據(jù)后處理(post)模塊用于實現(xiàn)向云降水精細分析平臺(CPAS)數(shù)據(jù)格式的轉換,同時生成檢驗用的雨量資料。數(shù)據(jù)歸檔(archive)模塊是預報結果存檔,分別向三個不同的FTP服務器傳送資料。數(shù)據(jù)清理(housekeeping)模塊用于預報結果的刪除,主要是定時刪除在整個模式運行過程中產生的中間數(shù)據(jù)和過期的模式數(shù)據(jù)。
以下從平臺的功能、性能兩大方面對基于工作流的人影模式自動化監(jiān)控平臺建設前后進行比較分析。
3.4.1 平臺的功能
(1)實時監(jiān)控:自動化監(jiān)控平臺實現(xiàn)之前,無法實時監(jiān)控,定位錯誤也比較困難,補做也很低效;自動化監(jiān)控平臺實現(xiàn)之后,一方面用戶可以通過可視化監(jiān)控平臺清晰地看到當前作業(yè)運行情況,一線值班人員根據(jù)注釋或提示直觀地判定是高性能計算機系統(tǒng)本身的錯誤或是程序、數(shù)據(jù)的錯誤,可在第一時間通知二線值班人員,從而做到精準定位,減少排查故障的時間,通過可視化監(jiān)控界面進行重做或是補做,實現(xiàn)了作業(yè)運行的高效管理。
(2)系統(tǒng)可擴展:作業(yè)組織通過 suit,family,task 三個層次的定義,使相關文件的組織結構更加清晰,易于管理和維護;同時可以根據(jù)業(yè)務調整的需要,通過修改業(yè)務流程定義文件輕松地修改業(yè)務流程,實現(xiàn)框架復用,比如 MM5_CAMS 模式依據(jù)不同區(qū)域形成了不同的系統(tǒng),在完成 MM5_CHINA(關注區(qū)域,依據(jù)干旱發(fā)展或應急情況而定)的自動化監(jiān)控平臺后,可快速完成 MM5_ANEC(東北區(qū)域)、MM5_ANCN(華北區(qū)域)等平臺的設計與實現(xiàn)。監(jiān)控粒度可以根據(jù)需求進行細化設計,基于此模式運行情況不斷調整其監(jiān)控粒度。
圖3 重新歸類后的 MM5_CAMS 模式重點關注區(qū)域數(shù)值預報系統(tǒng)業(yè)務流程Fig.3Re-organised MM5_CAMS Operational Process
圖4 效果展示圖Fig.4 The Interface of the Work flow-based Automatic Monitoring System
3.4.2 平臺的性能
(1)運行更加高效:并發(fā)處理數(shù)據(jù)的能力得到極大的提升,無論是數(shù)據(jù)獲取、數(shù)據(jù)分析及數(shù)據(jù)后處理階段,通過流程定義或設定觸發(fā)條件可實現(xiàn)并發(fā)處理,并對每一個模塊進行監(jiān)控,實現(xiàn)細粒度的監(jiān)控。比如在數(shù)據(jù)獲取階段,17個 T639 全球預報數(shù)據(jù)的獲取與處理同時進行,時間縮短至原來的1/17;比如后處理可在主模式積分到一定步長時開始,而不必等到主模式運行結束。 MM5_CAMS 模式在自動化監(jiān)控平臺建設前,總運行時長為260分鐘,而建設后提升至194分鐘,流程的簡化以及腳本的簡化使得模式主程序及后處理性能分別提升了 35% 及 95%。
表1 模式系統(tǒng)各部分運行所需時間對比(單位:分)Table 1 Comparisons of Time for Each Module before and after the System
(2)高魯棒性:對于耗時長、重復性較強的模塊,通過設定標尺進行運行進度的監(jiān)控,同時可通過標尺的值進行主模式運行的積分實時顯示,進而有效判斷是否是積分溢出或機器節(jié)點故障導致。而當系統(tǒng)的模塊運行出錯時,可以通過查看輸出文件直觀地進行錯誤定位。作業(yè)提交失敗,可以自動重新提交。對于因系統(tǒng)故障導致作業(yè)需要手動補做時,也只需要在監(jiān)控界面進行提交,可操作性強。
本文通過簡述工作流在人影模式自動化監(jiān)控平臺的應用實例,在全面梳理人影模式的運行流程后,進行模塊設計,并對平臺建設前后的效益進行分析,提煉出的設計原則對未來的數(shù)值預報模式的可視化監(jiān)控提供借鑒。目前該監(jiān)控平臺已經(jīng)業(yè)務化運行,極大地方便了人影中心的工作,提高工作效率。在平臺設計及實現(xiàn)過程中,我們發(fā)現(xiàn)氣象業(yè)界內并未形成規(guī)范,在未來的工作中,如果能形成一套行業(yè)規(guī)范,將會在更大程度上發(fā)揮建設效益。
[1] D Hollingsworth.WorkFlow Management Coalition[C]:The Work flow Reference Model.1995,TC00(1003):6-8.
[2] 宋君強、張衛(wèi)民、朱小謙等.基于網(wǎng)格的中尺度數(shù)值天氣預報系統(tǒng)設計與實現(xiàn)[J].計算機研究與發(fā)展,2002,39(8):968-972.
[3] 張衛(wèi)民,劉燦燦,駱志剛.科學工作流技術研究綜述[J].國防科技大學學報,2011,33(3):56-65.
[4] Kristina Hettne,Katy Wolstencroft,Khalid Belhajjame.Best practices for workflow design: how to prevent work flow decay[C].SWAT4LS,2012.
[5] 劉俊鋮,黃瑞芳,楊波,李婧.基于工作流的氣象高性能計算用戶環(huán)境[J].計算機工程,2010,36(8):278-280.
[6] Y.dudin,TKrasikova,Y.Dorozhko,N.Currle-Linde,Modular Workflow System for HPC Applications[J].International Journal of Computer,Electrical,Automation,Control and Information Engineering,2013,7(2):243-249.
2017年1月10日
陳曉霞:國家氣象信息中心,碩士,工程師,主要從事高性能計算應用與支持工作。
E-mail: chenxiaoxia@cma.gov.cn
Workflow-Based Automatic Monitoring Platform Design and Implementation for Weather Modi fi cation Model
Chen Xiaoxia1,Shi Yueqing2,Sun Jing1
1.National Meteorological Information Center,Beijing 100081,China
2.Weather Modi fi cation Center,China Meteorological Administration,Beijing 100081,China
Numerical Weather Prediction Model Operation System is a complicated system which requires a more direct and convenient method to display to monitor the whole system.Based on the principle of work flow,the author combs the process of the model and simpli fi es the necessary steps to make it more organized.This thesis is working on the MM5_CAMS model by using SMS to build the monitor system,and compares the effectiveness after the development.The paper also summarizes the basic principle of designing the work flow for meteorological models,which provides a good example for the future work.
Work flow; SMS; ecFLOW; MM5_CAMS; HPC
10.11871/j.issn.1674-9480.2017.01.008
公益性行業(yè)專項(氣象)科研專項( GYHY201306062)