韓琦琦 劉 鑫 曾云輝 朱光慧
(齊魯工業(yè)大學(xué)(山東省科學(xué)院) 山東 濟(jì)南 250000) (山東省計(jì)算中心(國(guó)家超級(jí)計(jì)算濟(jì)南中心) 山東 濟(jì)南 250101) (山東省計(jì)算機(jī)網(wǎng)絡(luò)重點(diǎn)實(shí)驗(yàn)室 山東 濟(jì)南 250014)
海洋數(shù)值模式研究在21世紀(jì)非常重要,已經(jīng)成為海洋研究領(lǐng)域的主要手段之一。隨著海洋數(shù)值模式網(wǎng)格細(xì)化、分辨率提高,海洋模擬所需要的計(jì)算性能越來(lái)越高,一般說(shuō)來(lái),水平分辨率每提升1倍,模式的計(jì)算量要增大10倍以上,為模式的業(yè)務(wù)化運(yùn)行帶來(lái)了巨大的挑戰(zhàn)。
隨著高性能計(jì)算技術(shù)和超級(jí)計(jì)算機(jī)的發(fā)展,特別是近年來(lái)CPU/GPU、CPU/MIC等異構(gòu)系統(tǒng)的異軍突起,高性能計(jì)算機(jī)的峰值計(jì)算能力得到了快速提升,使E級(jí)計(jì)算成為可能。百億億次超級(jí)計(jì)算機(jī)又稱“E級(jí)計(jì)算機(jī)”,被公認(rèn)為“超級(jí)計(jì)算機(jī)界的下一頂皇冠”。2018年8月5日中國(guó)新一代超級(jí)計(jì)算機(jī)神威E級(jí)原型機(jī)在濟(jì)南正式啟用。神威E級(jí)計(jì)算機(jī)原型系統(tǒng)由國(guó)家并行計(jì)算機(jī)工程技術(shù)中心研制,落戶于國(guó)家超級(jí)計(jì)算濟(jì)南中心,系統(tǒng)架構(gòu)源自神威太湖之光[1],采用了申威眾核國(guó)產(chǎn)處理器申威26010+,具有4顆主核、256顆從核,處理器性能與神威太湖之光的申威26010處理器性能相同,其運(yùn)行速度約3~4 PFlops,主要應(yīng)用在海洋模擬、電磁計(jì)算、醫(yī)養(yǎng)健康和高端裝備等方面。
目前,海洋數(shù)值模式軟件大約有數(shù)十種,大多數(shù)是基于分散的命令行方式進(jìn)行離線管理,相同數(shù)值模式的多個(gè)版本部署在同一高性能計(jì)算機(jī)環(huán)境中,其依賴的基礎(chǔ)編譯器和第三方擴(kuò)展庫(kù)也有多種不同的版本,在管理上比較隨意和混亂。用戶在使用模式軟件時(shí),大多基于命令行或交互界面的方式提交到作業(yè)管理系統(tǒng)排隊(duì)運(yùn)行。用戶在提交前需要自行選擇模式軟件、配置模式和設(shè)計(jì)算例,運(yùn)行完成后再離線對(duì)結(jié)果進(jìn)行診斷分析,這種方式既不方便用戶使用,也容易引入意外的失誤。為了規(guī)范海洋數(shù)值模式軟件的管理和使用流程,簡(jiǎn)化用戶的編譯和使用過(guò)程,我們基于國(guó)產(chǎn)神威超級(jí)計(jì)算機(jī)研制了海洋模式運(yùn)行管理系統(tǒng),以提高國(guó)產(chǎn)超級(jí)計(jì)算機(jī)的易用性和海洋數(shù)值模式的運(yùn)行管理效率。
海洋模式運(yùn)行管理系統(tǒng)的設(shè)計(jì)目標(biāo)是為了規(guī)范海洋數(shù)值模式軟件的管理和使用流程,簡(jiǎn)化用戶的編譯和使用過(guò)程,能夠保障海洋數(shù)值模式的連續(xù)性運(yùn)行。海洋數(shù)值模式在國(guó)產(chǎn)神威超級(jí)計(jì)算環(huán)境上運(yùn)行時(shí),能夠快速分析和定位模式軟件的運(yùn)行故障問(wèn)題,實(shí)現(xiàn)模式作業(yè)自動(dòng)重新提交、實(shí)時(shí)監(jiān)測(cè)、在線分析、性能比對(duì)和結(jié)果比對(duì),提供在線可視化功能,提高國(guó)產(chǎn)神威超級(jí)計(jì)算系統(tǒng)使用的友好程度,為模式軟件系統(tǒng)的優(yōu)化提供運(yùn)行數(shù)據(jù)支撐。
該系統(tǒng)采用主流的B/S模式,用戶通過(guò)瀏覽器即可進(jìn)入系統(tǒng),采用JeeSite框架實(shí)現(xiàn)系統(tǒng)快速開(kāi)發(fā)。后臺(tái)采用MySQL數(shù)據(jù)庫(kù),對(duì)節(jié)點(diǎn)信息、作業(yè)信息、模式運(yùn)行特征、各性能參數(shù)的閾值范圍、故障信息、異常現(xiàn)象和故障處理方法等進(jìn)行集中統(tǒng)一管理。文件系統(tǒng)用來(lái)存儲(chǔ)模式軟件、模式運(yùn)行日志和初始/中間/結(jié)果數(shù)據(jù)等。該系統(tǒng)的節(jié)點(diǎn)、隊(duì)列、作業(yè)信息等數(shù)據(jù)通過(guò)國(guó)產(chǎn)神威超級(jí)計(jì)算機(jī)的監(jiān)控平臺(tái)獲得。系統(tǒng)體系結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)的體系結(jié)構(gòu)圖
為了實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)目標(biāo),依據(jù)系統(tǒng)的先進(jìn)性、穩(wěn)定性、科學(xué)性以及安全性原則,該系統(tǒng)設(shè)計(jì)了系統(tǒng)監(jiān)控、日志解析、智能分析、模式流程管理、軟件與數(shù)據(jù)管理、性能比對(duì)和結(jié)果比對(duì)、輔助工具等七大模塊,如圖2所示。
圖2 系統(tǒng)功能模塊圖
(1) 系統(tǒng)監(jiān)控。系統(tǒng)監(jiān)控包括資源狀態(tài)監(jiān)控和作業(yè)管理監(jiān)控兩個(gè)子模塊。資源狀態(tài)監(jiān)控模式運(yùn)行時(shí)的資源性能情況,包括計(jì)算節(jié)點(diǎn)(含主核和從核)狀態(tài)及負(fù)載率、內(nèi)存(含mpeMEM和speMEM)剩余大小、網(wǎng)絡(luò)連接狀態(tài)及速率、文件系統(tǒng)掛載狀態(tài)、文件數(shù)量和文件占用空間大小等。作業(yè)管理監(jiān)控作業(yè)運(yùn)行情況,包括作業(yè)編號(hào)、作業(yè)狀態(tài)、作業(yè)所在計(jì)算節(jié)點(diǎn)和隊(duì)列的狀態(tài)等。
(2) 日志解析。日志解析包括作業(yè)日志解析、隊(duì)列日志解析、節(jié)點(diǎn)日志解析和網(wǎng)絡(luò)日志解析四個(gè)子模塊,日志信息通過(guò)國(guó)產(chǎn)神威超級(jí)計(jì)算機(jī)的集中監(jiān)控平臺(tái)實(shí)時(shí)獲取。作業(yè)日志解析所有用戶提交的作業(yè)信息,包括作業(yè)編號(hào)、作業(yè)名稱、作業(yè)狀態(tài)、作業(yè)運(yùn)行的隊(duì)列和節(jié)點(diǎn)、開(kāi)始時(shí)間和結(jié)束時(shí)間等信息。隊(duì)列日志解析所有隊(duì)列信息,包括隊(duì)列名稱、隊(duì)列狀態(tài)、隊(duì)列包含的節(jié)點(diǎn)和隊(duì)列中的用戶等信息。節(jié)點(diǎn)日志解析所有計(jì)算節(jié)點(diǎn)的信息,包括節(jié)點(diǎn)編號(hào)、CPU編號(hào)、核心數(shù)、狀態(tài)、內(nèi)存、所在隊(duì)列等信息。網(wǎng)絡(luò)日志解析網(wǎng)絡(luò)文件名稱、網(wǎng)絡(luò)內(nèi)容等。
(3) 智能分析。智能分析包括模式故障發(fā)現(xiàn)與快速定位、運(yùn)行特征分析、預(yù)警分析三個(gè)子模塊。其中,模式故障發(fā)現(xiàn)與快速定位是該系統(tǒng)的重要功能,為海洋數(shù)值模式的業(yè)務(wù)連續(xù)運(yùn)行提供保障。本文基于狀態(tài)獲取的故障信息,對(duì)可能導(dǎo)致作業(yè)運(yùn)行失敗的原因事件進(jìn)行分類和嚴(yán)重等級(jí)分級(jí),進(jìn)而通過(guò)問(wèn)題規(guī)模及其關(guān)聯(lián)關(guān)系,有效解決了大規(guī)模作業(yè)運(yùn)行過(guò)程中故障快速定位的問(wèn)題。運(yùn)行特征分析提取模式運(yùn)行時(shí)特征,將同一用戶的同一模式的各次運(yùn)行情況進(jìn)行記錄,進(jìn)而對(duì)模式運(yùn)行規(guī)模、運(yùn)行時(shí)長(zhǎng)、模式參數(shù)變更等特征作出對(duì)比分析。預(yù)警分析推送故障告警信息、隱患信息和異?,F(xiàn)象等給用戶或者平臺(tái)管理人員處理。
(4) 模式流程管理。模式流程管理主要對(duì)海洋數(shù)值模式軟件使用流程進(jìn)行規(guī)范化管理。通過(guò)梳理分析模式軟件的使用過(guò)程及相關(guān)參數(shù)設(shè)置情況,該系統(tǒng)將模式軟件使用流程分解為“選模式—配模式—資源準(zhǔn)備—作業(yè)提交”等環(huán)節(jié)。超級(jí)計(jì)算環(huán)境負(fù)責(zé)后臺(tái)與計(jì)算機(jī)密切相關(guān)的軟件編譯、作業(yè)提交、變量抽取及數(shù)據(jù)的比對(duì)工作,用戶只需要直觀地選擇模式軟件及依賴的相關(guān)庫(kù)、設(shè)定算例及計(jì)算規(guī)模后即可提交運(yùn)行,運(yùn)行完成后對(duì)模式結(jié)果進(jìn)行比對(duì)分析。
該系統(tǒng)在模式流程管理提交作業(yè)階段設(shè)置了是否自動(dòng)重提交選項(xiàng),若選擇了自動(dòng)重提交,模式作業(yè)由于故障異常退出后,系統(tǒng)會(huì)在2分鐘內(nèi)自動(dòng)重提交作業(yè)。此時(shí),如果計(jì)算資源充足,則模式作業(yè)即可運(yùn)行;否則,模式作業(yè)先進(jìn)行排隊(duì),等待故障資源處理完成后恢復(fù)可用時(shí)即可運(yùn)行。對(duì)于三次重新提交仍不能成功運(yùn)行的模式作業(yè)交由客戶分析處理。
(5) 軟件與數(shù)據(jù)管理。軟件與數(shù)據(jù)管理主要為模式協(xié)商確定標(biāo)準(zhǔn)統(tǒng)一的數(shù)據(jù)格式和存儲(chǔ)規(guī)范,對(duì)海洋數(shù)值模式計(jì)算數(shù)據(jù)進(jìn)行規(guī)范分類和管理[2-3]。軟件管理模塊對(duì)海洋數(shù)值模式軟件、依賴的第三方庫(kù)、編譯環(huán)境和模式算例等進(jìn)行集中管理。用戶使用時(shí)僅需要對(duì)新的版本軟件進(jìn)行在線編譯,對(duì)系統(tǒng)中已有的軟件版本用戶直接調(diào)用即可,方便用戶使用的同時(shí)也避免了軟件版本混亂。數(shù)據(jù)管理主要對(duì)初始數(shù)據(jù)、邊界數(shù)據(jù)、地形數(shù)據(jù)、驅(qū)動(dòng)場(chǎng)數(shù)據(jù)、再啟動(dòng)數(shù)據(jù)、結(jié)果數(shù)據(jù)等進(jìn)行統(tǒng)一分類后規(guī)范化存儲(chǔ)和管理。
(6) 性能比對(duì)和結(jié)果比對(duì)。性能比對(duì)和結(jié)果比對(duì)是以原始模式的串行計(jì)算作為基準(zhǔn),同一模式在不同計(jì)算進(jìn)程規(guī)模下的并行計(jì)算結(jié)果與其進(jìn)行比對(duì)[4]。將同一用戶的同一模式的各次運(yùn)行情況進(jìn)行記錄,進(jìn)而對(duì)模式運(yùn)行規(guī)模、運(yùn)行時(shí)長(zhǎng)、模式參數(shù)變更等特征作出對(duì)比分析,方便用戶快速地對(duì)自己模式的各個(gè)規(guī)模的計(jì)算進(jìn)行性能比對(duì)、加速比和效率分析,作為依據(jù)供給用戶選擇最優(yōu)的模式參數(shù)方案和運(yùn)行規(guī)模。
(7) 輔助工具。輔助工具包括性能測(cè)試和計(jì)算拓?fù)鋬?yōu)化兩個(gè)子模塊。性能測(cè)試基于國(guó)產(chǎn)神威超級(jí)計(jì)算機(jī)的監(jiān)控和監(jiān)測(cè)工具、模式軟件的運(yùn)行及輸出情況,對(duì)國(guó)產(chǎn)神威超級(jí)計(jì)算機(jī)系統(tǒng)的節(jié)點(diǎn)計(jì)算性能、MPI通信性能、文件系統(tǒng)I/O性能和負(fù)載均衡等指標(biāo)進(jìn)行分析[5]。計(jì)算拓?fù)鋬?yōu)化讓具有不同通信要求的進(jìn)程映射到具有不同網(wǎng)絡(luò)性能分布的異構(gòu)節(jié)點(diǎn)上,從而起到優(yōu)化網(wǎng)絡(luò)設(shè)置,提高通信效率、模式運(yùn)行效率和優(yōu)化性能的目的。
該系統(tǒng)采用MySQL作為數(shù)據(jù)庫(kù),對(duì)計(jì)算節(jié)點(diǎn)信息、作業(yè)信息和模式運(yùn)行特征等數(shù)據(jù)進(jìn)行集中統(tǒng)一存儲(chǔ)。隨著系統(tǒng)的穩(wěn)定運(yùn)行,需要存儲(chǔ)的的計(jì)算節(jié)點(diǎn)信息數(shù)量巨大,以神威藍(lán)光國(guó)產(chǎn)超級(jí)計(jì)算機(jī)運(yùn)行萬(wàn)核規(guī)模作業(yè)為例,需要至少2 500顆CPU,每顆CPU分成4個(gè)核組,以5 s/次的頻率獲取計(jì)算節(jié)點(diǎn)信息,那么作業(yè)持續(xù)運(yùn)行一個(gè)月,讀取的計(jì)算節(jié)點(diǎn)信息超過(guò)10億條。龐大的數(shù)據(jù)量和頻繁的讀取給數(shù)據(jù)庫(kù)服務(wù)器帶來(lái)巨大的壓力,導(dǎo)致應(yīng)用程序運(yùn)行崩潰。
為了解決這一問(wèn)題,在應(yīng)用程序端對(duì)每次獲取的計(jì)算節(jié)點(diǎn)信息進(jìn)行篩選判斷,對(duì)于同一計(jì)算節(jié)點(diǎn)下一個(gè)時(shí)序點(diǎn)僅將和上一個(gè)時(shí)序點(diǎn)的信息不同的記錄存儲(chǔ)到數(shù)據(jù)庫(kù)里[6],計(jì)算節(jié)點(diǎn)歷史記錄表中只存儲(chǔ)了節(jié)點(diǎn)初始狀態(tài)和其變化的記錄,根據(jù)模式作業(yè)運(yùn)行時(shí)長(zhǎng)和計(jì)算節(jié)點(diǎn)的穩(wěn)定性,大大縮減了數(shù)據(jù)量,減輕了數(shù)據(jù)庫(kù)的存儲(chǔ)壓力。但是隨著系統(tǒng)的穩(wěn)定運(yùn)行,計(jì)算節(jié)點(diǎn)信息表數(shù)量會(huì)非常巨大,單機(jī)數(shù)據(jù)庫(kù)將不能滿足大規(guī)模的數(shù)據(jù)存儲(chǔ)和訪問(wèn)的需求,因此本系統(tǒng)利用了數(shù)據(jù)庫(kù)切分技術(shù)將數(shù)據(jù)切分到不同的數(shù)據(jù)庫(kù)中,來(lái)提高系統(tǒng)的整體性能。
系統(tǒng)采用Mycat實(shí)現(xiàn)數(shù)據(jù)切分[7]。Mycat是介于數(shù)據(jù)庫(kù)與應(yīng)用之間進(jìn)行數(shù)據(jù)處理與交互的中間服務(wù),其核心功能就是分庫(kù)分表,主要修改server.xml、schema.xml和rule.xml文件。server.xml是Mycat服務(wù)器參數(shù)調(diào)整和用戶授權(quán)的配置文件;schema.xml是邏輯庫(kù)定義和表以及分片定義的配置文件;rule.xml是分片規(guī)則的配置文件。數(shù)據(jù)庫(kù)切分思路是:首先進(jìn)行一次垂直切分,把計(jì)算節(jié)點(diǎn)記錄表切分到一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)中。由于該計(jì)算節(jié)點(diǎn)記錄表匯總數(shù)據(jù)量巨大,一次性查數(shù)據(jù)速度很慢,所以再對(duì)計(jì)算節(jié)點(diǎn)記錄表進(jìn)行水平切分。通過(guò)對(duì)計(jì)算節(jié)點(diǎn)的VN號(hào)的取模規(guī)則將數(shù)據(jù)分別存放到三個(gè)數(shù)據(jù)庫(kù)中,把計(jì)算節(jié)點(diǎn)的VN號(hào)記為n,則分別把n%3=1、n%3=2、n%3=3的計(jì)算節(jié)點(diǎn)記錄分別存放到單獨(dú)數(shù)據(jù)庫(kù)中,但是表結(jié)構(gòu)是完全一樣的。數(shù)據(jù)庫(kù)架構(gòu)如圖3所示。
圖3 數(shù)據(jù)庫(kù)切分
模式運(yùn)行時(shí)特征綜合了硬件資源的運(yùn)行性能情況和模式軟件的運(yùn)行性能情況,對(duì)模式運(yùn)行速度、中間變量和統(tǒng)計(jì)量的趨勢(shì)特征、數(shù)據(jù)文件的輸出特征、計(jì)算負(fù)載、內(nèi)存負(fù)載、網(wǎng)絡(luò)利用率和MPI通信特征等模式運(yùn)行特征數(shù)據(jù)進(jìn)行表征。利用統(tǒng)計(jì)分析和時(shí)間序列分析技術(shù)[8],通過(guò)對(duì)模式運(yùn)行時(shí)特征數(shù)據(jù)的關(guān)聯(lián)分析和動(dòng)態(tài)分析,預(yù)測(cè)模式運(yùn)行時(shí)特征在下一時(shí)刻的趨勢(shì)走向和量值范圍,通過(guò)比較實(shí)際輸出與預(yù)期輸出的差別來(lái)判斷是否發(fā)生異常。模式性能異常分析基于模式運(yùn)行時(shí)特征,主要包括四類分析方法:
(1) 相關(guān)性分析。計(jì)算節(jié)點(diǎn)運(yùn)行狀態(tài)、計(jì)算性能負(fù)載、(主核/從核)內(nèi)存負(fù)載的使用時(shí)段和使用變化時(shí)間點(diǎn)應(yīng)基本一致。
(2) 常態(tài)范圍判別。在模式運(yùn)行過(guò)程中模式運(yùn)行速度、運(yùn)行時(shí)計(jì)算負(fù)載、運(yùn)行時(shí)內(nèi)存負(fù)載和中間統(tǒng)計(jì)量的幅值應(yīng)基本固定,其中運(yùn)行時(shí)計(jì)算負(fù)載上下浮動(dòng)范圍應(yīng)不超過(guò)10%的負(fù)載率,運(yùn)行時(shí)內(nèi)存負(fù)載上下浮動(dòng)范圍應(yīng)不超過(guò)50 MB的內(nèi)存負(fù)載。另外,同一版本模式軟件在同一算例、同等計(jì)算規(guī)模下的MPI通信特征應(yīng)一致,通信矩陣中發(fā)送/接收進(jìn)程的關(guān)系保持不變,通信次數(shù)和通信量基本一致。所以,一個(gè)直接的方法就是按上下浮動(dòng)范圍不超過(guò)10%進(jìn)行判定。
(3) 固定周期預(yù)測(cè)。在模式進(jìn)入正常的計(jì)算模擬后,模式運(yùn)行日志文件和數(shù)據(jù)文件即表現(xiàn)為周期性增長(zhǎng)的現(xiàn)象,包括增長(zhǎng)的時(shí)間點(diǎn)、增長(zhǎng)的大小等。如超出1.5個(gè)周期仍未監(jiān)測(cè)到日志輸出,則可判斷為運(yùn)行異常。
(4) 時(shí)間序列分析。通過(guò)時(shí)間序列分析方法對(duì)單變量的數(shù)據(jù)序列值進(jìn)行時(shí)間序列模型識(shí)別、周期信息獲取、預(yù)測(cè)和判別等。
① 輸出的中間變量數(shù)值,在模式作業(yè)運(yùn)行一定周期(2個(gè)至10個(gè))后即進(jìn)入穩(wěn)定運(yùn)行過(guò)程,呈現(xiàn)出顯著的周期性特征。如果監(jiān)測(cè)到的中間變量值超出基于時(shí)間序列模型預(yù)測(cè)的范圍,則判別為作業(yè)運(yùn)行異常。
② 網(wǎng)絡(luò)利用率,在模式作業(yè)運(yùn)行過(guò)程中呈現(xiàn)周期性變化,但會(huì)存在一定的背景通信流量,因此建議容許不超過(guò)20%的上下浮動(dòng)范圍。
本文通過(guò)問(wèn)題規(guī)模及國(guó)產(chǎn)神威超級(jí)計(jì)算機(jī)架構(gòu)之間的關(guān)聯(lián)關(guān)系,實(shí)現(xiàn)了針對(duì)批量大規(guī)模并行作業(yè)運(yùn)行故障的快速定位。根據(jù)獲取到的故障信息,主要包括作業(yè)ID號(hào)、作業(yè)狀態(tài)、與作業(yè)相關(guān)的故障節(jié)點(diǎn)數(shù)量、對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)號(hào)、結(jié)構(gòu)號(hào)、計(jì)算節(jié)點(diǎn)狀態(tài)、HCA卡狀態(tài)和文件系統(tǒng)狀態(tài)等,把導(dǎo)致故障發(fā)生的原因分為直接原因和間接原因。直接原因通過(guò)故障現(xiàn)象本身或直接關(guān)聯(lián)知識(shí)庫(kù),即可給出故障原因和處理建議;間接原因則通過(guò)故障關(guān)聯(lián)分析方法找到故障的根本原因。對(duì)于故障之間存在關(guān)聯(lián)關(guān)系的情況,首先根據(jù)問(wèn)題規(guī)模及其關(guān)聯(lián)關(guān)系,判斷故障的類型和級(jí)別,篩選出主要故障;然后按照已有歷史故障處理方法排查局部故障[9-10]。故障定位分析流程圖如圖4所示。
圖4 故障定位分析流程圖
海洋數(shù)值模式運(yùn)行管理系統(tǒng)已經(jīng)開(kāi)發(fā)完成,并部署應(yīng)用到神威藍(lán)光超級(jí)計(jì)算環(huán)境和神威E級(jí)原型驗(yàn)證系統(tǒng)環(huán)境中。用戶在瀏覽器中輸入網(wǎng)址http://192.168.126.66:8080/csms/,進(jìn)入海洋數(shù)值模式運(yùn)行管理系統(tǒng)網(wǎng)站登錄界面,輸入用戶名和密碼后進(jìn)入系統(tǒng)主頁(yè)。主頁(yè)包含了用戶功能、日志解析、系統(tǒng)監(jiān)控、智能分析、模式流程管理和軟件與數(shù)據(jù)管理等欄目,海洋數(shù)值模式運(yùn)行管理系統(tǒng)網(wǎng)站主頁(yè)如圖5所示。
圖5 海洋數(shù)值模式運(yùn)行管理系統(tǒng)主頁(yè)
軟件管理功能對(duì)海洋數(shù)值模式軟件、依賴的第三方庫(kù)、編譯環(huán)境和模式算例等進(jìn)行集中管理,如圖6所示。數(shù)據(jù)管理功能對(duì)邊界數(shù)據(jù)、初始數(shù)據(jù)、地形數(shù)據(jù)和參考數(shù)據(jù)集進(jìn)行集中分類后規(guī)范化存儲(chǔ)和管理,如圖7所示。該系統(tǒng)對(duì)模式軟件和算例進(jìn)行了依賴關(guān)聯(lián),選擇某一模式軟件,會(huì)列出其對(duì)應(yīng)的算例供用戶選擇,避免用戶使用時(shí)造成混亂。
圖6 軟件管理界面
圖7 數(shù)據(jù)管理界面
下面以運(yùn)行海洋數(shù)值模式軟件MPIPOM為例,演示模式流程管理功能。首先在模式流程管理選模式階段選擇軟件名稱、軟件版本、編譯器、配置算例和第三方庫(kù),如圖8所示。然后進(jìn)入配模式階段,如圖9所示,輸入日志存放路徑、診斷變量、中間文件名稱、數(shù)據(jù)文件和參數(shù)文件。接著進(jìn)入資源準(zhǔn)備階段,如圖10所示,該界面顯示可用隊(duì)列、狀態(tài)及可用節(jié)點(diǎn)情況,為用戶提交作業(yè)階段選擇隊(duì)列做參考。最后進(jìn)入提交作業(yè)階段,用戶可以在模式作業(yè)提交時(shí)設(shè)置是否自動(dòng)重提交選項(xiàng),如圖11所示,設(shè)置自動(dòng)提交后,若模式作業(yè)異常退出,則2分鐘內(nèi)系統(tǒng)自動(dòng)重提交作業(yè)。這樣一個(gè)MPIPOM的算例就提交完成了。
圖8 選模式界面
圖9 配模式界面
圖10 資源準(zhǔn)備界面
圖11 提交作業(yè)界面
針對(duì)批量大規(guī)模并行作業(yè)運(yùn)行的故障發(fā)現(xiàn)與快速定位是該系統(tǒng)的重要功能,為海洋數(shù)值模式的業(yè)務(wù)連續(xù)運(yùn)行提供保障。例如:某客戶在國(guó)產(chǎn)神威超級(jí)計(jì)算機(jī)上提交了2個(gè)作業(yè),分配的計(jì)算資源分別為0~63和64~127號(hào)CPU。在作業(yè)運(yùn)行過(guò)程中執(zhí)行bjobs命令檢查發(fā)現(xiàn)作業(yè)1和作業(yè)2狀態(tài)變?yōu)楫惓=Y(jié)束。通過(guò)cnload命令檢查發(fā)現(xiàn)作業(yè)1和作業(yè)2分配的計(jì)算節(jié)點(diǎn)都出現(xiàn)了同樣的文件系統(tǒng)掛載失敗現(xiàn)象,且對(duì)應(yīng)同一個(gè)文件系統(tǒng)服務(wù)節(jié)點(diǎn),由此判定為該文件系統(tǒng)服務(wù)節(jié)點(diǎn)狀態(tài)出現(xiàn)異常。通過(guò)重啟該服務(wù)節(jié)點(diǎn)后,問(wèn)題解決并恢復(fù)正常。系統(tǒng)中的故障定位診斷結(jié)果如圖12所示。
圖12 運(yùn)算系統(tǒng)服務(wù)節(jié)點(diǎn)故障界面
本文分析了海洋模式運(yùn)行管理系統(tǒng)的主要功能,基于國(guó)產(chǎn)神威超級(jí)計(jì)算機(jī)設(shè)計(jì)開(kāi)發(fā)了一套海洋模式運(yùn)行管理系統(tǒng)并開(kāi)展了應(yīng)用示范。該海洋模式運(yùn)行管理系統(tǒng)的數(shù)據(jù)來(lái)源于超算中心環(huán)境已有的工具手段,適用于國(guó)產(chǎn)環(huán)境和通用集群環(huán)境,適應(yīng)多種模式軟件及多個(gè)版本的使用需求,能夠簡(jiǎn)化模式軟件的技術(shù)服務(wù)成本,大大提升我國(guó)超級(jí)計(jì)算基礎(chǔ)設(shè)施的應(yīng)用和服務(wù)能力。目前,該海洋模式運(yùn)行管理系統(tǒng)已部署應(yīng)用到神威藍(lán)光超級(jí)計(jì)算環(huán)境和神威E級(jí)原型驗(yàn)證系統(tǒng)環(huán)境,后續(xù)也可以應(yīng)用到未來(lái)的神威E級(jí)計(jì)算環(huán)境。