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