何蕓?楊敏?許濤?景少軍
摘要:鑒于高密度、高精度地震采集數(shù)據(jù)量、處理計(jì)算量幾何級(jí)增長,使處理集群高性能計(jì)算和存儲(chǔ)資源緊缺。為滿足油氣勘探需求,擴(kuò)充數(shù)據(jù)處理能力。引進(jìn)部署國產(chǎn)自主安全可控的海光集群,利用xCAT等技術(shù)批量部署集群節(jié)點(diǎn),組建高速以太網(wǎng)交換網(wǎng)絡(luò),部署Gridview綜合系統(tǒng)實(shí)現(xiàn)集群高效監(jiān)控管理,搭建高性能計(jì)算處理集群環(huán)境,提升海量數(shù)據(jù)處理能力建設(shè)。
關(guān)鍵詞:Gridview;xCAT;LINPACK;作業(yè)管理
一、前言
海光高性能集群部署滿足了以密集計(jì)算為特征的地震資料處理新方法及其高性能計(jì)算集群運(yùn)行平臺(tái)需求,適用于處理復(fù)雜地質(zhì)目標(biāo)研究。高效部署運(yùn)維處理集群需建設(shè)綜合運(yùn)維管理體系,提供契合勘探科研需求的專業(yè)應(yīng)用軟件配置、調(diào)優(yōu)、維護(hù)及管理。如何研發(fā)集群應(yīng)用軟件高效部署、作業(yè)靈活調(diào)度等運(yùn)維管理軟件,搭建高速網(wǎng)絡(luò),將提高集群數(shù)據(jù)算力能力建設(shè)作為技術(shù)研究方向及重點(diǎn)[1]。
二、Gridview集群綜合管理系統(tǒng)
集群綜合管理系統(tǒng)對運(yùn)維系統(tǒng)管理員來說至關(guān)重要,它能實(shí)現(xiàn)集群資源使用情況的統(tǒng)一監(jiān)測與管理、各個(gè)計(jì)算節(jié)點(diǎn)的統(tǒng)一配置與維護(hù)、操作系統(tǒng)的統(tǒng)一部署與配置,降低集群管理復(fù)雜度,保障集群系統(tǒng)持續(xù)為地震資料處理與解釋提供穩(wěn)定、可靠的計(jì)算服務(wù)[2]。
Gridview綜合管理系統(tǒng)具備集群統(tǒng)一監(jiān)控、集中管理、多集群綜合管理、IPMI帶外硬件管理等功能。全方位狀態(tài)監(jiān)控功能提供機(jī)群總體運(yùn)行狀態(tài)視圖、機(jī)群總體IO狀態(tài)視圖、機(jī)群實(shí)際物理拓?fù)湟晥D以及多項(xiàng)性能視圖,用戶可直觀地監(jiān)控當(dāng)前機(jī)群系統(tǒng)運(yùn)行情況。機(jī)群管理功能提供了從IP管理、Hosts管理、進(jìn)程管理、服務(wù)管理到并行命令、關(guān)機(jī)管理、節(jié)點(diǎn)管理、用戶/組管理等機(jī)群管理功能,有效解決了大型機(jī)群管理的復(fù)雜性,保證了機(jī)群管理的擴(kuò)展性、可靠性、自主性。
另外,Gridview綜合管理系統(tǒng)建立了系統(tǒng)健康標(biāo)準(zhǔn)基線,應(yīng)定期線上、線下巡檢,建立數(shù)字化信息健康基準(zhǔn)。系統(tǒng)可及時(shí)、準(zhǔn)確采集系統(tǒng)數(shù)據(jù),聚合告警通知,具有多樣的通知方式。系統(tǒng)可以一鍵顯示異常作業(yè)和節(jié)點(diǎn)、多維度快速排查集群異常、快速定位查看作業(yè)狀態(tài)、支持多級(jí)指標(biāo)關(guān)聯(lián)分析、快速定位性能瓶頸智能分析作業(yè)性能、主動(dòng)推送異常告警。系統(tǒng)還可以面向業(yè)務(wù)運(yùn)維,實(shí)現(xiàn)全局業(yè)務(wù)拓?fù)?、主?dòng)預(yù)測故障發(fā)生、構(gòu)建自動(dòng)化運(yùn)維能力,提升業(yè)務(wù)持續(xù)運(yùn)行能力,幫助客戶構(gòu)建運(yùn)維可視化和數(shù)據(jù)分析挖掘能力,實(shí)現(xiàn)精準(zhǔn)化、智能化運(yùn)維。
Gridview主要功能分為作業(yè)提交與調(diào)度、監(jiān)控管理、用戶管理,以及其他一些與HPC集群和應(yīng)用相關(guān)的功能需求。
(一)作業(yè)提交與調(diào)度
Gridview自主可控,支持異構(gòu)的調(diào)度核心,提供統(tǒng)一的調(diào)度管理。調(diào)度策略靈活:支持GPU、“公平共享”“動(dòng)態(tài)作業(yè)優(yōu)先級(jí)”“節(jié)點(diǎn)獨(dú)占”等。容錯(cuò)處理穩(wěn)定可靠:作業(yè)斷點(diǎn)續(xù)算、計(jì)算節(jié)點(diǎn)狀態(tài)自檢、殘留進(jìn)程自動(dòng)查殺、作業(yè)異常處理自定義。應(yīng)用Portal:提供應(yīng)用的部署、發(fā)布與訂閱,ABAQUS、ANSYS、CFX、Fluent、LS-DYNA等幾十種預(yù)定義Portal,簡化作業(yè)提交,提供定義的開發(fā)規(guī)范和模板,支持定制化和自定義開發(fā)。
(二)監(jiān)控管理
對集群進(jìn)行監(jiān)控、管理,展現(xiàn)集群實(shí)時(shí)運(yùn)行狀態(tài),動(dòng)態(tài)顯示監(jiān)控信息,永久保存歷史告警信息,實(shí)時(shí)提供告警及統(tǒng)計(jì)分析,秒級(jí)采集響應(yīng)。系統(tǒng)可提供各種監(jiān)控指標(biāo)的自定義功能,以熱圖的方式展現(xiàn)集群中節(jié)點(diǎn)的性能指標(biāo),檢測性能瓶頸和熱點(diǎn),管理、監(jiān)控、作業(yè)、云桌面一切盡在掌握之中。
(三)用戶管理
隨著網(wǎng)絡(luò)安全越來越受到用戶的重視,根據(jù)需求將系統(tǒng)管理員劃分為三個(gè)角色,實(shí)現(xiàn)管理員權(quán)限分離,并提供三種管理員不同的管理角色分工,分別是:
系統(tǒng)管理員:配置系統(tǒng)運(yùn)行參數(shù),賬戶和賬戶組的創(chuàng)建、刪除、修改、查詢和導(dǎo)入;
安全保密管理員:賬戶授權(quán)與管理,查看系統(tǒng)管理員和安全審計(jì)員及用戶操作日志,監(jiān)控操作行為;
安全審計(jì)員:查看系統(tǒng)管理員和安全保密管理員及用戶操作日志,對系統(tǒng)管理員和安全保密管理員的操作行為進(jìn)行審計(jì)分析。
用戶管理功能建立了統(tǒng)一的用戶管理和認(rèn)證體系,整合了支持本地用戶、NIS、LDAP、AD等多種認(rèn)證系統(tǒng),對管理員和用戶提供了統(tǒng)一的使用和管理接口,支持用戶的添加、用戶查詢、修改密碼、導(dǎo)入導(dǎo)出等功能 。
(四)數(shù)據(jù)管理
對于整個(gè)集群來說,所有節(jié)點(diǎn)均使用同一套計(jì)算存儲(chǔ),數(shù)據(jù)在集群內(nèi)共享,同時(shí)支持設(shè)計(jì)集群和仿真計(jì)算集群數(shù)據(jù)共享,權(quán)限共享,可以實(shí)現(xiàn)云端數(shù)據(jù)共享,權(quán)限限制,使得用戶在設(shè)計(jì)集群和仿真計(jì)算集群之間無縫銜接。支持普通用戶和管理員的數(shù)據(jù)管理功能,支持瀏覽器方式文件傳輸(E-File)和客戶端方式文件傳輸(快傳),確保用戶間數(shù)據(jù)隔離與私密性。系統(tǒng)支持多用戶間資源隔離,資源僅對資源的擁有者或者被擁有者賦予權(quán)限的其他用戶開放訪問。數(shù)據(jù)隔離和私密性會(huì)降低系統(tǒng)數(shù)據(jù)的交換,系統(tǒng)支持?jǐn)?shù)據(jù)共享,用戶可以將自己有權(quán)限的數(shù)據(jù)分享給其他人。系統(tǒng)支持邏輯隔離、物理隔離等多種數(shù)據(jù)隔離方式及隔離策略。
(五)作業(yè)管理
系統(tǒng)具有豐富的作業(yè)管理功能,Web界面下呈現(xiàn)各種作業(yè)信息、統(tǒng)計(jì)信息,完成作業(yè)提交、查看、控制等操作。用戶提交作業(yè)后,需要查看歷史作業(yè),找到自己需要查看結(jié)果的作業(yè)信息并查看作業(yè)狀態(tài)。若作業(yè)為正常完成,則可以在作業(yè)詳情頁面中查看日志輸出,并下載結(jié)果文件;若作業(yè)為異常結(jié)束,則支持查看錯(cuò)誤輸出,進(jìn)行作業(yè)腳本的調(diào)整并再次提交運(yùn)行。
平臺(tái)提供狀態(tài)視圖統(tǒng)計(jì)集群作業(yè)運(yùn)行和節(jié)點(diǎn)信息。采用圖表直觀地統(tǒng)計(jì)并顯示集群當(dāng)前用戶的實(shí)時(shí)運(yùn)行作業(yè)狀態(tài)、節(jié)點(diǎn)狀態(tài)、核心狀態(tài)、用戶狀態(tài)、隊(duì)列狀態(tài),方便用戶了解當(dāng)前作業(yè)的情況和資源使用情況。通過熱圖形式查看集群整體節(jié)點(diǎn)和作業(yè)情況。系統(tǒng)管理員需要掌握調(diào)度系統(tǒng)管控的各個(gè)計(jì)算節(jié)點(diǎn)的作業(yè)占用核心情況,用不同的顏色標(biāo)識(shí)已占用節(jié)點(diǎn)(滿核心運(yùn)行作業(yè))、混合節(jié)點(diǎn)(部分核心運(yùn)行作業(yè))、空閑節(jié)點(diǎn)(無作業(yè)運(yùn)行)、下線節(jié)點(diǎn)(節(jié)點(diǎn)狀態(tài)為drain)、不可用節(jié)點(diǎn)(停機(jī)節(jié)點(diǎn))等不同節(jié)點(diǎn)狀態(tài),可以宏觀把控整體集群的利用率。
綜合應(yīng)用Gridview系統(tǒng),以系統(tǒng)管理人員需求為導(dǎo)向,集群監(jiān)管模塊化的管理模式、直觀的全方位狀態(tài)監(jiān)控、集中的資源管理操作、實(shí)時(shí)多樣的告警管理、強(qiáng)大的作業(yè)調(diào)度有效提高了系統(tǒng)管理效率,降低了運(yùn)維成本,實(shí)現(xiàn)了集群節(jié)點(diǎn)的全方位管理。
三、基于xCAT批量集群部署
勘探處理架構(gòu)節(jié)點(diǎn)復(fù)雜,軟硬件用戶平臺(tái)各異。因勘探需要,軟件大規(guī)模遷移工作增多,傳統(tǒng)的軟硬件各自獨(dú)立運(yùn)維導(dǎo)致安裝部署時(shí)間長,缺乏統(tǒng)一資源調(diào)度和集中管理,節(jié)點(diǎn)利用率低,缺乏共享,難以滿足勘探快速部署需求。計(jì)算節(jié)點(diǎn)為處理地震資料、處理解釋應(yīng)用提供了強(qiáng)大的計(jì)算資源,用于處理用戶發(fā)送的處理作業(yè)。軟件及數(shù)據(jù)庫節(jié)點(diǎn)主要用于部署相關(guān)軟件與數(shù)據(jù)庫系統(tǒng),為專業(yè)地震數(shù)據(jù)處理與解釋系統(tǒng)提供數(shù)據(jù)存儲(chǔ)支持。為高效、快速批量部署集群節(jié)點(diǎn),實(shí)現(xiàn)節(jié)點(diǎn)統(tǒng)一管理和故障診斷,設(shè)備納管、設(shè)備配置、固件升級(jí)、設(shè)備監(jiān)控、OS部署等全生命周期的管理能力幫助系統(tǒng)管理員提高運(yùn)維效率。
首先,分析不同處理應(yīng)用平臺(tái)特點(diǎn),對數(shù)據(jù)庫節(jié)點(diǎn)、軟件安裝節(jié)點(diǎn)、交互節(jié)點(diǎn)、計(jì)算隊(duì)列節(jié)點(diǎn)、管理服務(wù)器等集群節(jié)點(diǎn)進(jìn)行分類,為每類節(jié)點(diǎn)制作特定的操作系統(tǒng)和軟件鏡像文件并統(tǒng)一管理。其次,利用多種子點(diǎn)P2P快速分發(fā)技術(shù),多臺(tái)服務(wù)器同時(shí)復(fù)制指定鏡像,實(shí)現(xiàn)系統(tǒng)快速部署。最后,利用遠(yuǎn)程批量參數(shù)文件修改技術(shù),實(shí)現(xiàn)集群大量節(jié)點(diǎn)批量軟件功能定義[3]。
xCAT工具軟件是自動(dòng)化部署、彈性擴(kuò)展和管理裸機(jī)服務(wù)器和虛擬機(jī)的開源工具,它為HPC集群、渲染農(nóng)場、網(wǎng)格等基礎(chǔ)設(shè)施,以及云、數(shù)據(jù)中心等提供全面管理。作為一個(gè)開源的、可擴(kuò)展的高級(jí)集群管理和配置工具,允許使用者通過一個(gè)單點(diǎn)控制和管理一個(gè)集群系統(tǒng)。
xCAT是基于客戶機(jī)/服務(wù)器架構(gòu)的應(yīng)用程序,客戶端和服務(wù)器端的通信主要由管理節(jié)點(diǎn)上運(yùn)行的xCATdaemon(xcatd)來控制。當(dāng)管理節(jié)點(diǎn)上的xcatd接收到計(jì)算節(jié)點(diǎn)發(fā)送過來的用XML封裝的命令時(shí),它將通過ACL(Access Control Lists)來判定發(fā)送者是否有權(quán)限執(zhí)行這些命令。此外,xcatd在安裝、配置計(jì)算節(jié)點(diǎn)和各個(gè)節(jié)點(diǎn)重新啟動(dòng)的時(shí)候,還會(huì)收集各個(gè)節(jié)點(diǎn)發(fā)來的狀態(tài)和資源信息[4]。整個(gè)系統(tǒng)架構(gòu)如圖1所示。
xCAT具有多種集群管理和部署功能,主要包括:批量安裝OS、批量部署無盤系統(tǒng)、節(jié)點(diǎn)配置信息管理和同步批量管理節(jié)點(diǎn)并行執(zhí)行命令等。此文檔中使用的主要功能是采用xCAT批量啟動(dòng)無盤系統(tǒng),并且在無盤系統(tǒng)中進(jìn)行節(jié)點(diǎn)硬盤鏡像與恢復(fù),通過此方法可以快速進(jìn)行硬盤鏡像恢復(fù),部署操作系統(tǒng)。
四、組建高速以太網(wǎng)部署
網(wǎng)絡(luò)系統(tǒng)將各個(gè)計(jì)算節(jié)點(diǎn)、軟件及數(shù)據(jù)庫節(jié)點(diǎn)、集群管理系統(tǒng)、存儲(chǔ)系統(tǒng)進(jìn)行高速互聯(lián),構(gòu)建高帶寬、低延時(shí)的無阻塞互聯(lián)網(wǎng)絡(luò),滿足大容量地震資料與數(shù)據(jù)快速訪問與交換需求。主干核心網(wǎng)絡(luò)使用多通道高速100G鏈路,接入層網(wǎng)絡(luò)是25G鏈路,為滿足有效提升端口密度、較低部署成本的需求,組建“葉脊”網(wǎng)絡(luò)架構(gòu),具有更好的性價(jià)比和可擴(kuò)展性,并且能夠?yàn)槊總€(gè)計(jì)算節(jié)點(diǎn)提供公平、無阻塞網(wǎng)絡(luò)訪問能力,更適合勘探處理集群這種高通量集群組網(wǎng)需求[5]。
五、模塊化機(jī)房建設(shè)方案
集群系統(tǒng)“局部高熱”和“高品質(zhì)大容量電能需求”是集群建設(shè)必須重點(diǎn)攻關(guān)的技術(shù)難題??碧教幚砑航?jīng)常需要上百個(gè)節(jié)點(diǎn)同時(shí)長期全速完成計(jì)算工作以及配套的巨量存儲(chǔ)系統(tǒng),高速運(yùn)行加劇了攻關(guān)難度。為了有效降低能耗的空調(diào)變頻技術(shù),制定了“在集群機(jī)架行列間插水平送風(fēng)制冷排機(jī)柜并封閉冷通道,利用格柵地板和地板下冷風(fēng)格擋阻擋集群設(shè)備外放熱空氣對其他計(jì)算機(jī)設(shè)備影響”的模式,應(yīng)對勘探處理集群制冷難題。供配電方面,選擇從集中UPS系統(tǒng)上直接鋪設(shè)大容量供電電纜直通機(jī)柜PDU的模式。為有效減少供電線路鋪設(shè)數(shù)量和供電連接點(diǎn)數(shù)量,放棄目前業(yè)界最常用的供電列頭柜方案,借鑒“供電母排”的概念確定“柜頂供電小母線”模式。為進(jìn)一步減少線纜對地板下冷通道的阻擋,放棄長期沿用的“下走線”布線,選擇柜頂“上走線”布線模式部署供電線纜和網(wǎng)絡(luò)連接線纜。
通過多類別、多項(xiàng)技術(shù)研究,為勘探處理集群場地、保障環(huán)境建設(shè)制定了適宜的技術(shù)路線,采用了動(dòng)力環(huán)境統(tǒng)一監(jiān)控系統(tǒng)的模塊化機(jī)房建設(shè)方案,為地震勘探處理集群擴(kuò)充搭建了最適宜的硬件環(huán)境。
六、利用LINPACK衡量性能
依據(jù)現(xiàn)有地震勘探處理應(yīng)用軟件模塊運(yùn)行特點(diǎn),歸納常規(guī)處理和偏移處理兩大類應(yīng)用下不同處理方法,適應(yīng)模塊的資源需求特點(diǎn)以及處理員使用的作業(yè)模式,配置適宜的不同類型集群計(jì)算節(jié)點(diǎn)、網(wǎng)絡(luò)互聯(lián)技術(shù)、存儲(chǔ)技術(shù),并以不同配比組合形成了適用于勘探處理集群的硬件平臺(tái)。在應(yīng)用軟件運(yùn)行環(huán)境約束條件下,高性能LINPACK(HPL)測試、理論浮點(diǎn)峰值(Rpeak)、組網(wǎng)測試3個(gè)關(guān)鍵性能測試領(lǐng)先國內(nèi)石油行業(yè)。
LINPACK是常用的CPU性能測試程序。它通過計(jì)算雙精度線性方程組的求解來測試CPU的運(yùn)算能力。Intel MKL提供一個(gè)優(yōu)化版本的Intel Optimized LINPACK Benchmark,通過運(yùn)行這個(gè)程序,可以方便地進(jìn)行CPU的基準(zhǔn)性能測試。Intel Optimized LINPACK Benchmark根據(jù)HPL優(yōu)化后的程序,以及用戶指定的參數(shù)生成一個(gè)線性方程組,通過方程的求解時(shí)間與計(jì)算量,來計(jì)算CPU的浮點(diǎn)性能。理論浮點(diǎn)峰值=CPU主頻×CPU每個(gè)時(shí)鐘周期執(zhí)行浮點(diǎn)運(yùn)算的次數(shù)×系統(tǒng)中CPU數(shù)。對34個(gè)集群節(jié)點(diǎn)進(jìn)行單機(jī)LINPACK測試的結(jié)果見表1。
實(shí)測單機(jī)Linpack效率最高為80%,最低為79%,60個(gè)計(jì)算節(jié)點(diǎn)的單機(jī)效率平均值是79.8%。各節(jié)點(diǎn)運(yùn)行效率正常,且表現(xiàn)穩(wěn)定。
七、構(gòu)建集群運(yùn)維體系
有別于通用高性能計(jì)算集群運(yùn)維,勘探處理集群運(yùn)維更關(guān)心處理軟件運(yùn)行狀態(tài),關(guān)注專業(yè)軟件運(yùn)行測試和參數(shù)調(diào)優(yōu)。運(yùn)維人員不僅要精通計(jì)算機(jī)運(yùn)維,還要了解地震勘探處理工作原理和軟件模塊操作方式,需要以勘探人員視角觀察應(yīng)用平臺(tái)運(yùn)行狀態(tài),模仿科研人員發(fā)送處理作業(yè),觀察集群對作業(yè)指令的回應(yīng)和支持情況,對出現(xiàn)的問題給出專業(yè)化解釋和解決辦法。集群運(yùn)維以用戶需求為導(dǎo)向,借鑒IT 服務(wù)管理,結(jié)合集群運(yùn)維技術(shù)和協(xié)同管理平臺(tái)技術(shù),圍繞處理員和系統(tǒng)管理員,以知識(shí)管理為核心建立了集群運(yùn)維體系,減少日常管理事務(wù)性工作的精力消耗。集群狀態(tài)提取、展示和分析功能實(shí)現(xiàn)可視化、自動(dòng)化,結(jié)合協(xié)同平臺(tái)運(yùn)維流程管理的建立使得運(yùn)維管理工作有據(jù)可查,逐步形成運(yùn)維知識(shí)管理體系,保障處理集群高效穩(wěn)定運(yùn)行。
八、結(jié)語
依據(jù)地震勘探數(shù)據(jù)處理方法和新方法發(fā)展及技術(shù)實(shí)現(xiàn),從滿足現(xiàn)階段勘探精度需求出發(fā),綜合分析研究各種高性能計(jì)算業(yè)界先進(jìn)技術(shù),從集群架構(gòu)技術(shù)路線、集群管理調(diào)度到云計(jì)算、邊緣計(jì)算、遠(yuǎn)程終端應(yīng)用、本地胖節(jié)點(diǎn)應(yīng)用等多類別特性技術(shù)實(shí)現(xiàn)中,搭建適用于地震勘探處理應(yīng)用的高性能計(jì)算集群系統(tǒng)。通過多種軟件工具高效融合應(yīng)用,“以軟定硬”,調(diào)整集群節(jié)點(diǎn)、存儲(chǔ)、網(wǎng)絡(luò)等各環(huán)節(jié)參數(shù)配置,建設(shè)一體化綜合管理平臺(tái),持續(xù)助力油氣勘探重大發(fā)現(xiàn)。
參考文獻(xiàn)
[1]楊敏,郭清順,何海濤.基于MPI常用海洋數(shù)值模式并行處理的研究[J].實(shí)驗(yàn)技術(shù)與管理,2011,28(05):257-259.
[2] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò):第五版[M].北京:電子工業(yè)出版社,2008.
[3] 黃燕.計(jì)算機(jī)網(wǎng)絡(luò)教程[M].北京:人民郵電出版社,2004.
[4] 劉小偉.電腦局域網(wǎng)全面上手[M].北京:海洋出版社,2003.
[5] 黃傳河.計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)[M].武漢:武漢大學(xué)出版社,2004.
責(zé)任編輯:張津平