汪宣晟 何小紅
[摘? ? 要] 信息化時(shí)代,面向海量信息或數(shù)據(jù),信息的處理能力或數(shù)據(jù)的計(jì)算速率顯得尤為重要。為提高信息處理能力或數(shù)據(jù)計(jì)算速率,高性能計(jì)算應(yīng)運(yùn)而生,目前,高性能計(jì)算集群已被廣泛應(yīng)用于各應(yīng)用領(lǐng)域當(dāng)中。本文主要以企業(yè)研發(fā)產(chǎn)品仿真計(jì)算領(lǐng)域?yàn)槔?,探索企業(yè)如何構(gòu)建仿真高性能計(jì)算集群,并應(yīng)用于結(jié)構(gòu)、流體、電磁等多物理領(lǐng)域,從而提高企業(yè)仿真分析計(jì)算能力,提升企業(yè)核心競(jìng)爭(zhēng)力。
[關(guān)鍵詞] 高性能計(jì)算;集群;仿真
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2020. 01. 041
[中圖分類號(hào)] F270.7? ? [文獻(xiàn)標(biāo)識(shí)碼]? A? ? ? [文章編號(hào)]? 1673 - 0194(2020)01- 0098- 02
0? ? ? 引? ? 言
高性能計(jì)算(High Performance Computing,HPC),是指利用聚集起來的計(jì)算能力來處理標(biāo)準(zhǔn)工作站無法完成的數(shù)據(jù)密集型計(jì)算任務(wù),包括仿真、建模和渲染等。目前,在信息技術(shù)飛速發(fā)展的時(shí)代,處理信息的能力尤為重要。而在未應(yīng)用HPC之前,人們?cè)谔幚砀鞣N計(jì)算問題時(shí)常常遇到這樣的情況:由于需要大量的運(yùn)算,一臺(tái)通用的計(jì)算機(jī)無法在合理的時(shí)間內(nèi)完成工作,或者由于所需的數(shù)據(jù)量過大而可用的資源有限,導(dǎo)致根本無法執(zhí)行計(jì)算。HPC通過使用專門或高端的硬件,或是將多個(gè)單元的計(jì)算能力進(jìn)行整合,能夠有效地克服這些限制。因此,HPC被廣泛應(yīng)用于各行各業(yè)。
聚焦公司產(chǎn)品研發(fā)領(lǐng)域仿真計(jì)算,當(dāng)前,公司研發(fā)人員在做仿真計(jì)算時(shí),基本上使用自己本地電腦做仿真計(jì)算,條件稍好的研發(fā)部門會(huì)使用離散分布的服務(wù)器做仿真計(jì)算,由于單個(gè)計(jì)算機(jī)或離散服務(wù)器的硬件資源相對(duì)有限,導(dǎo)致在做一些規(guī)模大且任務(wù)重的計(jì)算時(shí),往往會(huì)出現(xiàn)計(jì)算資源不夠、計(jì)算時(shí)間過長、影響自己其他日常辦公的情況,且無法對(duì)仿真數(shù)據(jù)資源進(jìn)行集中統(tǒng)一管理。
上述問題或不足,對(duì)于研發(fā)仿真分析人員而言,尤其是經(jīng)常需要做大規(guī)模計(jì)算或仿真任務(wù)中的人員,是極為不便的。
1? ? ? 仿真高性能計(jì)算集群建設(shè)目標(biāo)及原則
根據(jù)公司所處行業(yè)特點(diǎn)及產(chǎn)品研發(fā)人員實(shí)際需求,在探索并構(gòu)建仿真高性能計(jì)算集群時(shí),主要有以下四個(gè)方面的建設(shè)目標(biāo):一是,建成可擴(kuò)展、穩(wěn)定可靠、高效節(jié)能的高性能計(jì)算集群系統(tǒng);二是,實(shí)現(xiàn)仿真計(jì)算資源的統(tǒng)一管理;三是,實(shí)現(xiàn)仿真計(jì)算作業(yè)及結(jié)果文件的統(tǒng)一管理;最后,保障仿真數(shù)據(jù)的安全。
同時(shí),根據(jù)企業(yè)構(gòu)建仿真高性能集群的實(shí)際情況,通常在構(gòu)建仿真高性能計(jì)算集群時(shí),主要遵循以下原則:第一,先進(jìn)性原則,即選擇代表先進(jìn)水平和全球主流趨勢(shì)的軟硬件平臺(tái)產(chǎn)品;第二,高管理性原則,即對(duì)所有計(jì)算機(jī)系統(tǒng)資源進(jìn)行統(tǒng)一監(jiān)控與管理;第三,開放性原則,即采用開放標(biāo)準(zhǔn),開放結(jié)構(gòu),開放系統(tǒng)組件和用戶接口;第四,高能效原則,即采用綠色節(jié)能設(shè)備和技術(shù),使系統(tǒng)整體耗能較低。
2? ? ? 仿真高性能計(jì)算集群總體架構(gòu)設(shè)計(jì)
仿真高性能計(jì)算集群,主要是由硬件和軟件兩部分構(gòu)成,其中,硬件主要包含管理節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)、存儲(chǔ)系統(tǒng)及網(wǎng)絡(luò)等;軟件主要包含集群管理系統(tǒng)、作業(yè)調(diào)度系統(tǒng)、WEB門戶、文件系統(tǒng)等。要具備可靠性、可用性、可擴(kuò)展性和安全性等通用要求。集群總體架構(gòu)圖如圖1所示。
2.1? ?仿真高性能計(jì)算集群硬件
高性能仿真計(jì)算集群硬件主要由管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)、刀片計(jì)算節(jié)點(diǎn)構(gòu)成,其中:管理節(jié)點(diǎn)有2個(gè)(主要用于做集群系統(tǒng)的管理、用戶訪問接口等管理功能),其中1個(gè)為備份冗余;存儲(chǔ)節(jié)點(diǎn)有4臺(tái)(總共54TB,用于向服務(wù)器提供數(shù)據(jù)存取訪問服務(wù));計(jì)算節(jié)點(diǎn)有4個(gè)刀片,共144核,主要用于仿真計(jì)算,包含CAE仿真計(jì)算類應(yīng)用軟件(如Ansys,F(xiàn)luent等)的仿真計(jì)算;網(wǎng)絡(luò)系統(tǒng)(連接存儲(chǔ)系統(tǒng)、計(jì)算節(jié)點(diǎn)和管理節(jié)點(diǎn),主要用于通用計(jì)算模塊作業(yè)進(jìn)程間通信和其他分系統(tǒng)的數(shù)據(jù)訪問)。具體硬件架構(gòu)如圖2所示。
2.2? ?仿真高性能計(jì)算集群軟件
高性能仿真計(jì)算集群軟件基于B/S架構(gòu),主要由集群管理系統(tǒng)、作業(yè)調(diào)度系統(tǒng)、WEB門戶、文件系統(tǒng)、可視化工具等構(gòu)成,其中:
(1)WEB門戶。主要用于用戶訪問集群,提交作業(yè)至計(jì)算節(jié)點(diǎn),管理應(yīng)用程序、用戶、資源和數(shù)據(jù),并集成Ansys、Fluent等CAE軟件。
(2)集群管理系統(tǒng)。主要實(shí)現(xiàn)集群部署和配置、集群管理、系統(tǒng)監(jiān)控、集群預(yù)警、系統(tǒng)管理、統(tǒng)計(jì)分析等功能。
(3)作業(yè)調(diào)度系統(tǒng)。主要用于CPU、內(nèi)存等計(jì)算資源的調(diào)度,支持自定義并行計(jì)算作業(yè)的分布運(yùn)行方式(如指定節(jié)點(diǎn)、跨節(jié)點(diǎn)),且支持多種調(diào)度算法(如優(yōu)先級(jí))。
(4)文件系統(tǒng)。主要用于在集群中的多個(gè)節(jié)點(diǎn)間實(shí)現(xiàn)對(duì)共享文件系統(tǒng)中文件的快速存取操作。
(5)可視化工具。通過VNC或XManager等圖形界面對(duì)仿真計(jì)算軟件進(jìn)行模型參數(shù)設(shè)置、提交作業(yè)并查看作業(yè)運(yùn)行結(jié)果,并支持用戶模型數(shù)據(jù)文件的上傳和下載。
仿真高性能計(jì)算集群的軟件架構(gòu)如圖3所示。
3? ? ? 仿真高性能計(jì)算集群建設(shè)效果
3.1? ?支持多物理領(lǐng)域仿真
根據(jù)上述總體架構(gòu)搭建的仿真高性能計(jì)算集群平臺(tái),主要支持結(jié)構(gòu)(Ansys)、流體(Fluent)、電磁(Maxwell)等物理領(lǐng)域的仿真計(jì)算,且支持其他物理仿真領(lǐng)域的橫向靈活擴(kuò)展,如ABAQUS、HFSS(高頻結(jié)構(gòu)仿真)等。
3.2? ?多種仿真作業(yè)提交方式
(1)WEB提交。仿真人員可通過WEB界面的作業(yè)調(diào)度平臺(tái),提交仿真作業(yè),即通過WEB頁面先將仿真計(jì)算前處理文件上傳至文件系統(tǒng),然后選擇相應(yīng)的軟件,在界面中輸入前處理文件,并設(shè)置好節(jié)點(diǎn)數(shù)、計(jì)算核數(shù)、計(jì)算時(shí)長、隊(duì)列、工作目錄等參數(shù),提交至仿真高性能計(jì)算集群上進(jìn)行計(jì)算,并能查看作業(yè)的狀態(tài),且計(jì)算完成后,可以下載結(jié)果文件進(jìn)行驗(yàn)證。此外,還可以借助可視化工具查看計(jì)算過程。
(2)PBS腳本提交。除了通過WEB頁面提交仿真作業(yè),還支持PBS腳本的方式提交計(jì)算作業(yè),即通過編寫作業(yè)腳本,將其提交至服務(wù)器,服務(wù)器根據(jù)各節(jié)點(diǎn)狀態(tài)進(jìn)行調(diào)度,并在服務(wù)器端執(zhí)行。此外,用戶也可以通過命令查詢作業(yè)狀態(tài)及結(jié)果。
3.3? ?集群使用效果
(1)集群注冊(cè)用戶。自仿真高新能計(jì)算集群搭建完成并投入使用以來,已注冊(cè)用戶數(shù)量達(dá)130,主要涉及永磁電機(jī)、牽引電機(jī)、技術(shù)研究等研發(fā)業(yè)務(wù)。
(2)仿真計(jì)算作業(yè)。自仿真高新能計(jì)算集群搭建完成并投入使用以來,已通過集群提交的仿真計(jì)算任務(wù)數(shù)量達(dá)3 000,涉及結(jié)構(gòu)、流體和電磁三類物理仿真,作業(yè)主要包含作業(yè)ID、作業(yè)名、所有者、所屬隊(duì)列、入隊(duì)時(shí)間、結(jié)束時(shí)間以及運(yùn)行節(jié)點(diǎn)等信息。
3.4? ?集群性能數(shù)據(jù)
為集中反映仿真高性能計(jì)算集群的性能,特選取集群計(jì)算峰值能力、CPU利用率、內(nèi)存利用率、計(jì)算核數(shù)使用率和共享存儲(chǔ)利用率等指標(biāo),用以反映集群的性能,實(shí)際運(yùn)行數(shù)據(jù)如下:
(1)集群計(jì)算峰值:9.06TFLOPS(每秒萬億次的浮點(diǎn)運(yùn)算);
(2)CPU利用率:55%(平均值);
(3)內(nèi)存利用率:58%(平均值);
(4)計(jì)算核數(shù)使用率:100%(高峰值)、75%(低峰值);
(5)共享存儲(chǔ)利用率:42%。
4? ? ? 結(jié)? ? 語
后續(xù)隨著公司研發(fā)人員對(duì)仿真計(jì)算能力需求的日益增長,企業(yè)也將基于構(gòu)建的可靈活擴(kuò)展的高性能計(jì)算集群,橫向擴(kuò)展計(jì)算節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)、管理節(jié)點(diǎn)以及其他物理領(lǐng)域的仿真計(jì)算軟件,以保障仿真高性能計(jì)算集群所提供的軟硬件資源能滿足研發(fā)人員的需求,從而提高公司仿真分析計(jì)算能力。
主要參考文獻(xiàn)
[1]張?jiān)迫?2018年中國高性能計(jì)算機(jī)發(fā)展現(xiàn)狀分析與展望[J].計(jì)算機(jī)科學(xué),2019,46(1):1-5.
[2]袁國興,張?jiān)迫?2018年中國高性能計(jì)算機(jī)發(fā)展現(xiàn)狀分析[J].計(jì)算機(jī)工程與科學(xué),2018,40(12):2097-2102.
[3]聶含伊,楊希,張文喆.面向多領(lǐng)域的高性能計(jì)算機(jī)應(yīng)用綜述[J].計(jì)算機(jī)工程與科學(xué),2018,40(z1):145-153.
[4]陳紅梅,郭偉,賴重遠(yuǎn).小型通用高性能計(jì)算平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2019(10):1-6.