楊寅



摘要:高性能計算系統(tǒng)在國民經(jīng)濟(jì)的許多領(lǐng)域有非常重要的應(yīng)用。全世界高性能計算機(jī)500TOP甚至是一個國家綜合國力的體現(xiàn)。基于Linux的Rocks cluster系統(tǒng)提供了一種可行的高性能集群計算機(jī)的搭建方案。介紹了Rocks cluster的特點(diǎn),提供了Rocks cluster服務(wù)器的詳細(xì)部署方法,并給出了集群管理和監(jiān)控的方案。旨在提高集群系統(tǒng)的易用率,為高性能計算系統(tǒng)集群應(yīng)用系統(tǒng)提供了一個易部署、高效且穩(wěn)定的構(gòu)建方法。
關(guān)鍵詞:高性能計算系統(tǒng);集群;HPC;Linux;Rocks Cluster
中圖分類號:TP315? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)32-0068-03
1 概述
1.1高性能計算機(jī)集群
超級計算機(jī)于20世紀(jì)60年代問世,幾十年后,矢量計算機(jī)成為20世紀(jì)90年代的主導(dǎo)設(shè)計。擁有數(shù)萬個現(xiàn)成處理器的大規(guī)模并行超級計算機(jī)現(xiàn)在已經(jīng)成為常態(tài)。中國的超級計算發(fā)展也十分迅速,截至目前已部署天河、神威·太湖之光等高性能計算機(jī)。
高性能計算集群(High Performance Computing Cluster),通常是指使用多個處理器或以幾臺計算機(jī)組成的計算系統(tǒng),用于各種領(lǐng)域的大型計算任務(wù),包括量子力學(xué)、氣候研究、分子建模和密碼分析。可以由多臺超級計算機(jī)組成,也可以通過由網(wǎng)絡(luò)連接的PC機(jī)組成的集群。由于在某些廉價而通用的計算平臺上運(yùn)行并行計算集群可以提供極佳的性能價格比,所以近年來這種解決方案越來越受到用戶的青睞[1]。
1.2高性能計算系統(tǒng)
現(xiàn)如今,大多數(shù)現(xiàn)代超級計算機(jī)使用Linux內(nèi)核作為操作系統(tǒng),但每臺超算的設(shè)計人員都會對他們使用的系統(tǒng)做了特定更改,并且沒有行業(yè)標(biāo)準(zhǔn),主要原因是不同計算機(jī)硬件架構(gòu)的差異。例如IBM Blue Gene超級計算機(jī)在計算節(jié)點(diǎn)上使用CNK操作系統(tǒng)、天河超級計算機(jī)使用Slurm,以及OpenHPC。然而。對于非專業(yè)人員來說,集群的建立,安裝、管理和監(jiān)控一直是一致和困擾的問題。
Rocks集群是一個基于SMP的分布式架構(gòu)開發(fā)的Linux系統(tǒng)。作為業(yè)內(nèi)一流的免費(fèi)集群操作系統(tǒng),Rocks集群具有低成本、易擴(kuò)展、結(jié)構(gòu)精簡、多軟件可繼承等特點(diǎn),向廣泛的科學(xué)應(yīng)用提供集群計算能力,提高研究者們的工作效率。
本文選用Rocks6.2版本以最便捷的方式搭建高性能計算集群平臺,低成本建立計算機(jī)集群,為普通用戶大規(guī)模計算任務(wù)提供了快捷有效的解決方案。
2 Rocks集群結(jié)構(gòu)
Rocks Cluster在軟件結(jié)構(gòu)上由FRONTEND(前端節(jié)點(diǎn))和NODE(計算節(jié)點(diǎn))組成。一般來說,前端節(jié)點(diǎn)可通過局域網(wǎng)交換機(jī)連接到多個計算節(jié)點(diǎn),前端節(jié)點(diǎn)可配置一個網(wǎng)絡(luò)適配器連接到公共網(wǎng)絡(luò)(外網(wǎng)),通過前端節(jié)點(diǎn)上的外網(wǎng)端口,計算節(jié)點(diǎn)可以同時實(shí)現(xiàn)對公共網(wǎng)絡(luò)(外網(wǎng))的訪問。Rocks Cluster的具體結(jié)構(gòu)如圖1所示:
另外,Rocks系統(tǒng)中的模塊化Roll機(jī)制也是其關(guān)鍵組成部分之一,它可以為特定的專業(yè)領(lǐng)域定制Roll包。在使用GEON Roll構(gòu)建集群前端節(jié)點(diǎn)時,所有計算節(jié)點(diǎn)都將安裝Geo專用軟件。通過這種機(jī)制,我們可以輕松地將某些專業(yè)軟件安裝到Rocks集群系統(tǒng)中。
Rocks是一份完整的光盤機(jī)群解決方案,它面向x86及IA64的Red Hat Linux COTS機(jī)群。組建一套Rocks cluster并不需要任何機(jī)群方面的經(jīng)歷,實(shí)際上,機(jī)群架構(gòu)師將能找到一條靈活的并且標(biāo)題化的方式來重新設(shè)計整個軟件棧,而這對大多數(shù)用戶而言則適當(dāng)?shù)仉[藏了[2]。盡管Rocks包括了在任何機(jī)群軟件結(jié)構(gòu)中都應(yīng)指望的工具(PBS、Maui、GM支持、Ganglia等),它的安裝簡易性則是獨(dú)一無二的[3]。
3 安裝Rocks集群
在硬件方面,主節(jié)點(diǎn)為一臺IBM System x3650 M4服務(wù)器,兩顆CPU:2.6GHz Intel Xeon E5-2670,64GB內(nèi)存,2.4TB硬盤。
系統(tǒng)軟件方面,在Rocks cluster的官方網(wǎng)站http://www.rocksclusters.org下載 rocks 6.2 ISO安裝包,安裝包內(nèi)提供的工具詳情如下表:
以上準(zhǔn)備工作完成后,安裝內(nèi)容如下:
3.1 RAID磁盤陣列設(shè)置
Redundant Array of Independence Disks(RAID)磁盤陣列是一種數(shù)據(jù)存儲虛擬化技術(shù),它將多個物理磁盤驅(qū)動器組件按不同的方式組合起來形成一個或多個邏輯單元,以實(shí)現(xiàn)數(shù)據(jù)冗余、提升性能。下面是常見RAID方案的對比:
磁盤陣列卡進(jìn)行RAID1+0模式后,磁盤容量減半獲得容錯能力[4]。綜合可靠性與性能,選用RAID 10作為系統(tǒng)磁盤陣列。設(shè)置步驟如下:
(1) 服務(wù)器啟動后,等待進(jìn)入陣列卡提示出現(xiàn),按“Ctrl + H”進(jìn)入RAID卡選項(xiàng),點(diǎn)擊“start”進(jìn)入配置界面。
(2) 在配置界面中,進(jìn)入“Configuration Wizard”選項(xiàng),選擇“new configuration”創(chuàng)建新配置,確認(rèn)后系統(tǒng)將清除磁盤內(nèi)所有數(shù)據(jù)。
(3) 在下一個界面中選擇“manual configuration”進(jìn)行手動分配磁盤空間,根據(jù)RAID 10的配置方式,將四個硬盤為一組添加到“Drives groups”,按此方式添加兩組。
(4) 將制作好的兩組硬盤放入“Span”, 在“virtual disk definition”配置界面選擇RAID Level為RAID 10,其他參數(shù)保持默認(rèn)。更新數(shù)據(jù)“Update Size”后開始磁盤陣列創(chuàng)建。
(5) 保存設(shè)置并返回主配置界面,可以看到陣列設(shè)置為RAID 10,VD狀態(tài)為最佳, 兩組共8塊硬盤狀態(tài)在線。
3.2 Rocks主節(jié)點(diǎn)安裝
(1) 插入Kernel/Boot Roll光盤,從光盤啟動服務(wù)器,在安裝選項(xiàng)界面輸入Build。
(2) 選擇安裝的必要功能,包括area51、kernel、 base、OS、 SGE、 HPC、 Ganglia、 Java、Python等。
(3) 輸入集群信息,集群名稱保持默認(rèn),輸入接口eth0與eth1的外網(wǎng)地址、私網(wǎng)IP、外網(wǎng)網(wǎng)關(guān)、外網(wǎng)DNS等。
(4) 配置系統(tǒng)root的密碼,設(shè)置時區(qū)為Asia/Shanghai,硬盤自動分區(qū)。
(5) 系統(tǒng)主節(jié)點(diǎn)開始自動安裝,安裝完成后會自動重啟,至此主節(jié)點(diǎn)安裝完成。
3.3 Rocks計算節(jié)點(diǎn)安裝
Rocks最大的優(yōu)點(diǎn)在于把你所需要的軟件在系統(tǒng)安裝時都一次安裝好, 不需要安裝者更多地配置[5]。計算節(jié)點(diǎn)可以從主節(jié)點(diǎn)獲取所需文件,自行安裝。
(1) 以root用戶登錄主管理節(jié)點(diǎn),打開終端,執(zhí)行# insert-ethers命令,選擇計算節(jié)點(diǎn)屬性Compute。
(2) 通過交換機(jī)連接主節(jié)點(diǎn)與計算節(jié)點(diǎn),將子節(jié)點(diǎn)服務(wù)器啟動,BIOS設(shè)置引導(dǎo)順序?yàn)椋篊D、PXE(網(wǎng)絡(luò)引導(dǎo))、Hard Disk。主節(jié)點(diǎn)識別成功后,子節(jié)點(diǎn)將自行安裝。安裝完成后,子節(jié)點(diǎn)自動重新啟動并加入計算機(jī)群。
(3) 更改計算節(jié)點(diǎn)的根密碼以提高Rocks系統(tǒng)的安全性。執(zhí)行命令如下:# rocks set host sec_attr compute attr=root_pw,系統(tǒng)確認(rèn)用戶自定義密碼后即設(shè)置完成。
(4) 至此Rocks 集群搭建完畢,可通過命令# rocks list host查看集群主節(jié)點(diǎn)及計算節(jié)點(diǎn)狀態(tài)。
3.4 Rocks系統(tǒng)網(wǎng)絡(luò)配置
節(jié)點(diǎn)設(shè)置完成后,此時系統(tǒng)仍然無法連接互聯(lián)網(wǎng),不能及時進(jìn)行遠(yuǎn)程調(diào)試和提交運(yùn)行任務(wù)。經(jīng)調(diào)試,系統(tǒng)還需要修改以下參數(shù):
(1) 使用命令# ifconfig查看網(wǎng)絡(luò)配置,再通過vim修改ONBOOT=yes,將Rocks系統(tǒng)的雙網(wǎng)卡eth0和eth1網(wǎng)絡(luò)連接設(shè)置為開機(jī)自動啟用。
(2) 修改完成后使用命令# service network restart重啟網(wǎng)絡(luò)。
(3) 至此,網(wǎng)絡(luò)配置完成。可以使用# ping IP 查看網(wǎng)絡(luò)狀態(tài)。
4 Rocks集群管理和監(jiān)控
4.1 集群用戶管理
Rocks 的用戶管理方式是使用411安全信息服務(wù)來代替?zhèn)鹘y(tǒng)NIS(Network Information Service)服務(wù)。這個系統(tǒng)設(shè)計的目的是提高拓展性、安全性與意外處理能力,并且411 服務(wù)與 NIS 服務(wù)的使用和配置方式與 NIS 服務(wù)幾乎沒有區(qū)別[6]。
4.2 集群任務(wù)管理
Rocks安裝包內(nèi)包括Sun Grid Engine(SGE)分布式資源管理軟件,保證集群內(nèi)的資源得到有效利用并且不需要NFS進(jìn)行操作。使用它可以極大提升用戶提交計算任務(wù)的效率,并更加合理分配和提高整個集群的計算資源[7]。
4.3 集群監(jiān)控系統(tǒng)
Ganglia是一個開源的分布式監(jiān)控系統(tǒng),由美國加利福尼亞大學(xué)發(fā)起,用于集群和網(wǎng)格這樣的高性能計算系統(tǒng)。Ganglia偏向于操作系統(tǒng)低層一點(diǎn)的監(jiān)控,主要是收集集群中的各個機(jī)器的CPU使用情況、內(nèi)存使用情況、磁盤I0、網(wǎng)絡(luò)IO、磁盤容量等[8]。它基于針對集群整體的層次結(jié)構(gòu)設(shè)計,利用諸如用于數(shù)據(jù)表示的XML、用于緊湊、可移植的數(shù)據(jù)傳輸?shù)腦DR以及用于數(shù)據(jù)存儲和可視化的RRDtool工具。Ganglia使用精心設(shè)計的數(shù)據(jù)結(jié)構(gòu)和算法來實(shí)現(xiàn)高效的節(jié)點(diǎn)調(diào)度與高并發(fā)性。
Rocks系統(tǒng)安裝包中已包含ganglia卷,我們僅需要使用命令# rocks enable roll ganglia激活roll中的ganglia安裝程序,并執(zhí)行語句# cd /export/rocks/install切換到對應(yīng)安裝包目錄進(jìn)行安裝。
安裝完成后,可以在瀏覽器中進(jìn)入http://localhost/ganglia生成系統(tǒng)實(shí)時狀態(tài)顯示,向用戶提供直觀的Web界面。
5 總結(jié)
本文基于Rocks cluster系統(tǒng)搭建一組高性能計算集群。介紹了當(dāng)今高性能計算機(jī)集群與系統(tǒng)的現(xiàn)狀,針對Rocks集群結(jié)構(gòu)展開說明,詳細(xì)描述基于Rocks構(gòu)建高性能計算集群系統(tǒng)的過程,并且討論服務(wù)器RAID磁盤陣列的設(shè)置過程,最后對Rocks計算節(jié)點(diǎn)進(jìn)行配置與部署,為用戶提供一個快速易用的集群搭建方案。
參考文獻(xiàn):
[1] 張瀾宇,鄒溪.PC實(shí)驗(yàn)室的高性能運(yùn)算平臺的實(shí)施[J].實(shí)驗(yàn)室科學(xué),2016,19(5):53-56,62.
[2] Rocks Cluster Distribution: Users Guider[M].UC Regents,2011.
[3] 林先津.桌面虛擬化技術(shù)在分布式設(shè)備管理中的研究與應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2013,30(4):68-70.
[4] 賴策,祝元仲.虛擬機(jī)基于不同存儲池模式下的磁盤性能測試分析[J].輕工科技,2020,36(7):90-91.
[5] 張洋,陳文波,李廉.基于Rocks的高性能集群平臺搭建與應(yīng)用[J].計算機(jī)工程與科學(xué),2008,30(11):137-139,143.
[6] 徐明,羅明宇,蔡文舉,等.Rocks集群應(yīng)用系統(tǒng)發(fā)布技術(shù)研究[J].自動化技術(shù)與應(yīng)用,2015,34(3):38-41.
[7] 侯建軍.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2003.
[8] 狄曉嬌.企業(yè)級Hadoop平臺實(shí)現(xiàn)的相關(guān)技術(shù)[J].中國新通信,2016,18(4):89-90.
【通聯(lián)編輯:王力】