張志堅,伍光勝,孫偉忠,張 靜
(1.廣州市氣象信息網絡中心,廣州 511430;2.廣州市氣象臺,廣州 511430)
?
IBM Flex P460高性能計算機系統及氣象應用
張志堅1,伍光勝1,孫偉忠1,張靜2
(1.廣州市氣象信息網絡中心,廣州511430;2.廣州市氣象臺,廣州511430)
摘要:高性能計算機在氣象領域的數值預報、科學研究及大量數據模擬計算等方面發揮重要的作用。以廣州市氣象局IBM Flex P460高性能計算機集群系統為例,從集群系統建設、硬件系統架構、軟件系統架構、氣象應用等方面對高性能計算機系統進行闡述,以提高對高性能計算機系統的認識和應用。
關鍵詞:高性能計算機;集群架構;GPFS;LoadLeveler;xCat
2013年,中國氣象局通過“氣候變化應對決策支撐系統工程”引進了IBM高性能計算機系統,總體峰值計算能力達1759TFlops,大大提高了氣象數值預報、科學研究及數據模擬計算等的能力和水平,在氣象預報、氣候預測和氣象防災減災中發揮重要的作用。該高性能計算機系統分國家局(Uranus)、國家局(Neptune)、廣州(國家局:Pluto,區域:Mercury)、沈陽(Venus)、上海(Saturn)、成都(Jupiter)和武漢(Mars)七個子系統。廣州市氣象局的IBM Flex P460高性能計算機系統作為子系統3,于2013年下半年開始建設,在2014年1月完成,主要承擔數值預報模式、華南中尺度天氣預報模式等數值模式業務運算以及相關科研的科學計算服務[1-3]。
IBM Flex P460高性能計算機集群子系統3主要由P460服務器(Power7處理器,芯片:8 Cores,3.55GHz,8 Floating Point/Cycle,227.2GFlops)組成,計算節點數量為427個,總理論峰值達到391.6TFlops,存儲物理容量超過400TB,全系統共計有CPU核數13664個,內存總量58000GB。集群配置了計算網絡、存儲網絡、管理網絡(以太網)和集群通信網絡(千兆以太網)等不同的網絡來滿足系統的數據傳輸、集群管理等需求,整個集群系統采用冗余方式進行設計,充分保證集群的高可用性和可靠性[4-5]。
高性能計算機系統及網絡架構分為計算節點、I/O存儲部分、前后處理節點、登錄節點、管理節點、管理網絡、集群通信網絡、Infiniband計算網絡和存儲網絡共計九部分構成[5-13]。高性能計算服務器集群系統架構圖如圖1所示。

圖1 高性能計算服務器集群系統架構圖
2.1節點類型
IBM Flex P460高性能計算機集群子系統3按節點功能分計算節點、I/O節點、前后處理節點、登錄節點和管理節點五類。節點按一定的規則命名,按順序放置在7953型機柜的刀箱(Chassis),每個機柜配備了4個刀箱,每個刀箱都配置了雙刀箱管理模塊CMM(Chassis Management Module)用于刀箱內部的節點管理。
計算節點:作為高性能計算機系統的計算核心,主要承擔業務應用和科研的計算任務。子系統3的計算節點由404臺4GB per Core P460節點和23臺8GB per Core P460節點構成,P460節點均使用4口1GB IP網卡1塊和2口QDR IB卡1塊來進行通訊。
I/O存儲節點:作為高性能計算機系統的GPFS服務器和數據服務器,為高性能計算提供快速的I/O訪問。子系統3共計8臺P740存儲節點,均使用4口1GBIP網卡1塊、10GB IP網卡2塊和2口QDR IB卡4塊來進行通訊。
前后處理節點:承擔前后處理等任務。子系統3共計有8臺8GB per Core P460節點前后處理節點,分布在2臺刀箱中,與計算節點共同使用相同的7953機柜,均使用4口1GB IP網卡1塊和2口QDR IB卡1塊來進行通訊。
登錄節點:作為到集群的網關,用于用戶遠程登錄集群。子系統3的登錄節點由4臺4GB per Core P460節點構成,采用硬件冗余方式,分布在2臺刀箱中,均使用4口1GB IP網卡1塊和2口QDR IB卡2塊來進行通訊。
管理節點:作為管理軟件xCat服務器,用于管理和監控節點,子系統3共計2臺P750管理節點做為主備模式,均使用4口1GB IP網卡1塊, 10GB IP網卡2塊,來進行通訊。
2.2管理網絡和集群通信網絡
IBM Flex P460高性能計算機集群子系統3的內部IP網絡配置了管理網絡(以太網)和集群通信網絡(千兆以太網)。管理網絡是由雙機熱備份EMS管理節點、雙機熱備份硬件管理控制臺HMC(Hardware Management Console)、其他節點以及存儲設備構成,主要用于管理節點通過HMC對節點硬件方面的控制,包括創建和維護多分區環境,診斷、報告和保存硬件環境的改動,控制被管理的系統加電和關機以及其他管理功能。集群通信網絡是由管理節點、計算節點、I/O存儲節點、前后處理節點、登錄節點以及存儲設備之間的互聯構成,主要用于節點之間的通信和集群管理。
2.3 Infiniband計算網絡
Infiniband以提供易于使用的消息服務作為原則。消息服務可以用來與其他應用程序、進程或者存儲進行通信。Infiniband消息服務是一個非常高效、直接的消息服務,它摒棄了傳統網絡和應用程序之間消息傳遞的復雜結構,應用程序不再向操作系統提交訪問其他資源的申請,直接使用Infiniband消息服務,其低延遲、高帶寬和原生的通道架構更加適合高性能計算系統進程通信的科學運算需求。
計算網絡使用的是InfiniBand網絡,計算網絡用于計算節點在計算時進程的數據交換,主要是在計算節點與IO存儲節點、計算節點與計算機之間進行數據交換。IBM Flex P460高性能計算機集群子系統3內部采用無阻塞胖樹架構(Fat-Tree)Infiniband網絡進行互連,構成系統內部高速數據交換網絡。每個計算節點和IO存儲節點配置2個InfiniBand端口,分別連接到所在刀箱內置的兩個相互獨立邊緣交換機(Edge IB Switch),再通過2個邊緣交換機分別連接到2個核心交換機(Core IB Switch)。單個節點對外通訊的聚合帶寬最大可達雙向160Gb/s+160Gb/s,計算節點的Infini-Band端口、IB邊緣交換機和IB核心交換機均采用基于硬件冗余的方式進行設計,消除單點故障的可能性,充分保證系統數據交換網絡的可靠性、高可用性以及足夠的節點通信帶寬。
2.4存儲網絡
存儲網絡由P740IO存儲節點、DCS3700存儲以及Exp擴展柜構成,用于集群GPFS并行文件系統的通信和數據訪問。8個I/O節點通過光纖通道擁有對集群存儲的可見性。每四個I/O節點通過光纖通道SAN連接四個DCS3700存儲,DCS3700存儲通過光纖通道跟Exp擴展柜連接,為集群的提供共享的存儲訪問,提高系統數據訪問效率和高可用性。
集群主要的組成軟件有操作系統AIX(Advanced Interactive eXecutive)、集群管理軟件xCAT (Extreme Cloud Administration Toolkit)、文件系統GPFS(General Parallel File System)和作業調度器LoadLeveler等[14-19]。高性能計算機系統軟件架構如圖2所示。

圖2 高性能計算機集群系統軟件架構圖
3.1操作系統AIX和作業調度器LoadLeveler
AIX操作系統是高性能計算機系統完成所有功能的基礎。AIX7是目前功能最完善,穩定性和擴展性最好的企業級UNIX操作系統。
作業調度器LoadLeveler具有多個隊列和靈活的調度策略,可以根據作業的優先級和資源需求對作業進行調度,管理集群中的資源包括節點、網絡、CPU、內存等,具有負載均衡作用,保證高性能計算機系統資源的充分利用,是氣象行業最常用的作業調度軟件。
3.2管理軟件xCat
xCAT作為集群管理和配置工具,允許用戶通過一個單點控制和管理一個集群系統,主要功能是硬件管理(電源控制、硬件識別和配置、固件和ASU配置更新等)、軟件管理和集群性能和狀態監控這三個方面。xCAT是基于C/S架構的應用程序,由管理節點上運行的xCAT Daemon(xcatd)來控制客戶端和服務器端之間的通信。當客戶端需要管理節點完成某項任務時,輸入的任務指令就會被封裝成XML格式發送給管理節點,管理節點上的xCat Daemon(xcatd)接收到指令后對指令進行解析,并通過ACL(Access Control Lists)來判定該用戶是否有權限執行這些命令,如果ACL判決出該用戶有權限發起該任務指令,則該任務就將被放進運行隊列中等待執行;xCat執行完該任務指令后會把指令的執行結果返回給客戶端。此外,xCAT daemon (xcatd)在安裝配置計算節點和各個節點重新啟動的時候還會收集各個節點發來的狀態和資源信息。子系統3配置了2臺EMS管理節點,通過xCAT集群管理軟件實現子系統級別的軟硬件管理以及系統監控。
3.3通用并行文件系統
GPFS通用并行文件系統是IBM為AIX操作系統開發的,可以使HPCS直接接入全局文件系統。GPFS是一種專門為集群環境系統提供高性能、共享磁盤、分布式文件系統服務的并行文件系統。GPFS可以在集群中的多個節點間實現快速存儲,提供統一的文件系統視圖。GPFS沒有單一故障點,通過配置它可以為所有的磁盤和服務器的故障提供容錯機制。這種類型的文件系統可以為用戶存儲超過249PBytes的數據。每個文件系統所支持的最大文件為2.56億。GPFS允許通過任意的GPFS客戶端節點訪問系統內的文件,可以被各種串行和并行作業使用,并且在多個集群的多個存儲設備的范圍內共享數據。
lsdef+節點名,可以查看特定節點的定義。例如:lsdef gza01n01,可以查看gza01n01這個計算節點的定義信息,如下所示:
Object name: gza01n01
cons=fsp
getmac=blade
groups=all,compute,blade,aixnodes,gza01n,gza01b1n,128G
hcp=192.168.38.1
hwtype=blade
id=1
mac=00:0a:f7:1b:a1:6c
os=AIX
parent=gza01b1cmm
nodels+節點組名,可以查看Xcat中定義群組的所有節點。例如,需要查看第一個機柜的第一個刀箱有定義的節點,可以用:nodels gza01b1n,結果如下所示:
gza01n01gza01n02gza01n03gza01n04gza01n05gza01n06gza 01n07
xdsh+節點組名+uname+-uM,可以查看指定節點組名每個節點的可訪問性,如果節點可以訪問,則會列出該節點的umane;如果節點應故障不可訪問,則會列出該節點的不可訪問。例如,查看所有存儲節點是否可以訪問:xdsh nsd uname–uM,結果如下所示:
gzai06: IBM,8205-E6C IBM,0206B859T
gzai03: IBM,8205-E6C IBM,0206B853T
gzai07: IBM,8205-E6C IBM,0206B856T
gzai01: IBM,8205-E6C IBM,0206B858T
gzai04: IBM,8205-E6C IBM,0206B855T
gzai02: IBM,8205-E6C IBM,0206B857T
gzai05: IBM,8205-E6C IBM,0206B854T
gzai08: IBM,8205-E6C IBM,0206B85AT
mmgetstate-aL-s,可以查看GPFS的狀態信息,-a表示查看所有節點,-L表示勒出仲裁數,-s表示添加匯總信息。例如,xdsh gza01n01 mmgetstate–s,返回結果如下所示:
gza01n01: Node number Node name GPFS state
gza01n01: ---------------------
gza01n01: 2 gza01n01 active
gza01n01: Summary information
gza01n01: ---------------------
gza01n01: Number of nodes defined in the cluster: 437
gza01n01: Number of local nodes active in the cluster: 436
gza01n01: Number of remote nodes joined in this cluster: 0
gza01n01: Number of quorum nodes defined in the cluster: 7
gza01n01: Number of quorum nodes active in the cluster: 7
gza01n01: Quorum = 4, Quorum achieved
xdsh+節點名+mmstartup(mmshutdown),xdsh +節點名1,節點名2+mmstartup(mmshutdown),xdsh+節點名+ mmgetstartup(mmshutdown)–a分別可以啟動(關閉)單個節點、啟動多節點、啟動所有節點的GPFS。
llstatus可以查看檢查loadleveler狀態信息,例如,執行xdsh gza01n01 llstatus,返回的結果如下所示:
gza01n01: Active 423/423
gza01n01: Schedd 2/2 33 job steps
gza01n01: Startd 420/421 2755 running tasks
xdsh+節點名+llctl start,xdsh +節點名1,節點名2+ llctl start,xdsh+節點組名+llctl start分別可以啟動單個節點、多節點、所有節點的loadleveler。
rpower+單個節點名或者多個節點名(中間用逗號隔開)或者節點群組名+on(off),可以開啟(關閉)節點的電源;rpower+單個節點名或者多個節點名(中間用逗號隔開)或者節點群組名+state可以查看節點的電源狀態信息。例如,需要查看存儲節點的電源狀態信息,執行rpower nsd state,返回的結果如下:
gzai01: Runninggzai02: Runninggzai03: Runninggzai04: Running
gzai05: Runninggzai06: Runninggzai07: Runninggzai08: Running
高性能計算機在氣象領域的數值預報、科學研究及大量數據模擬計算等方面所起的作用越來越重要。中國氣象局“氣候變化應對決策支撐系統工程”高性能計算機系統子系統3計算資源主要用于運行業務模式,以GRAPES_MESO為核心模塊,其中包括中國南海臺風模式(TRAMS,0.36)、華南中尺度模式(MARS,0.12)、華南精細數值預報模式(MARS,0.03)、專業模式海洋氣象數值預報模式和環境氣象數值預報模式。如表1所示,74%的系統計算資源主要用于數值模式業務運算,約26%的系統計算資源用于氣象科學研究、科學實驗、數據模擬運算以及其他的計算任務。

表1 HPC計算資源使用分布表
高性能計算機的引進,對改進和提高天氣預報應用模式的分辨率以及時效起到關鍵性的作用。高性能計算機的高運算能力不僅使得天氣預報模式的預報準確性得到提升,還使數值模式計算的時間減短,提供了預報模式的效率;另外,還為氣象科研工作提供了強有力的支撐,解決了科研中復雜的科學運算問題。引進高性能計算機將滿足氣象業務發展和科研工作對高性能計算的需求,這也是提升數值預報能力必不可少的一項任務,也是實現氣象現代化的重要舉措之一。
參考文獻:
[1]中國氣象局高性能計算機系統使用簡介_v1.pdf.北京:國家氣象信息中心,2014.
[2]廣州氣象局子系統3實施手冊2.0.doc.北京:國家氣象信息中心,2014.
[3]王彬.高性能計算技術在氣象部門的應用[J].計算機工程與設計,2014,35(4):1476-1479.
[4]廣州市氣象局高性能計算機簡介.ppt.廣州:廣州市氣象局,2014.
[5]廣州市氣象局HPC培訓.ppt.北京:國家氣象信息中心,2015.
[6]陳曉霞,孫婧.中國氣象局的高性能計算機系統[J].科技信息化與應用,2012,3(5):83-90.
[7]沈瑜,孫婧,李娟.中國氣象局高性能計算機系統高可靠性設計[J].信息安全與技術,2013,(6)::42-45.
[8]宗翔,王彬.國家級氣象高性能計算機管理與應用網絡平臺設計[J].應用氣象學報,2006,17(5):629-634.
[9]謝向輝,彭龍根,吳志兵等.基于InfiniBand的高性能計算機技術研究[J].計算機研究與發展,2005,42(6):905-912.
[10]羅明,卜俊輝.基于InfiniBand的高性能計算機技術研究[EB/OL]. http://www.ibm.com/developerworks/cn/aix/library/1105_luoming_infiniband/,2011-05-10/2015-07-18.
[11]金戈. Linux高性能集群-硬件和網絡體系結構[EB/OL]. http://www.ibm.com/developerworks/cn/linux/cluster/hpc/part3/,2002-11-20/2015-07-18.
[12]Graham White,Mandie Quartly.安裝大型Linux集群,第1部分簡介和硬件配置[EB/OL]. http://www.ibm.com/developerworks/cn/ linux/es-linuxclusterintro/,2007-03-13/2015-07-18.
[13]程燕,王磊,孫婧. IBM System p集群節點的快速發現與管理[EB/OL]. http://www.ibm.com/developerworks/cn/aix/library/1003_ chengyan_openslp/#authorN1003B,2010-03-29/2015-07-18.
[14]楊析. GPFS文件系統的原理和模式I/O優化方法[J].氣象科技,2006,34(增刊):27-30.
[15]張雨馨. xCAT在IBM高性能計算機集群系統中的應用[J].中國管理信息化,2014,17(21):34-35.
[16]祁曉璐.使用xCAT簡化AIX集群的部署和管理[EB/OL].http://www.ibm.com/developerworks/cn/aix/library/1009_qixl_xcataix/,2010-09-01/2015-07-18.
[17]Chris Gibson.在IBM AIX上構建一個雙節點的IBM GPFS集群[EB/OL].http://www.ibm.com/developerworks/cn/aix/library/au-aixbuilding-two-node-gpfs-cluster/.2013-10-31/2015-07-18.
[18]李威.使用LoadLeveler實現AIX無盤工作站集群上的作業調度管理[EB/OL].http://www.ibm.com/developerworks/cn/aix/library/ 1103_liwei_loadlevelerforaix/,2011-03-17/2015-07-18.
[19]王榮.構建高可用、高性能的GPFS集群[EB/OL].http://www.ibm.com/developerworks/cn/aix/library/au-gpfsplan/,2007-12-17/ 2015-07-18.
張志堅(1989-),男,廣東茂名人,本科,助理工程師,研究方向為高性能計算機應用、氣象大數據挖掘
伍光勝(1966-),男,高級工程師,研究方向為探測技術與信息處理
孫偉忠(1986-),男,工程師,研究方向為網絡管理和數據庫管理
張靜(1987-),女,工程師,研究方向為氣象預報和氣象服務。
IBM Flex P460 High Performance Computer System and Its Meteorological Application
ZHANG Zhi-jian1,WU Guang-sheng1, SUN Wei-zhong1,ZHANG Jing2
(1. Guangzhou Meteorological Information &Network Center, Guangzhou Guangdong 511430;2. Guangzhou Meteorological Observatory, Guangzhou 511430)
Abstract:High performance computer play an important role in the field of meteorological numerical prediction, scientific research, a large number of data simulation calculation and other aspects. introduces the IBM Flex P460 high performance computer of Guangzhou Meteorological Bureau from the construction of cluster, hardware architecture, software architecture and meteorological application, in order to improve the understanding of high performance computer system and its application.
Keywords:High Performance Computer; Cluster Architecture; GPFS; LoadLeveler; xCat
收稿日期:2015-12-31修稿日期:2016-03-03
作者簡介:
文章編號:1007-1423(2016)09-0051-05
DOI:10.3969/j.issn.1007-1423.2016.09.013