摘 要:針對(duì)集群系統(tǒng)節(jié)點(diǎn)數(shù)較多,安裝配置工作繁雜及個(gè)別計(jì)算節(jié)點(diǎn)死機(jī)難以檢測(cè)的情況,采用XCAT管理集群的系統(tǒng)安裝與環(huán)境配置、PBS管理作業(yè)的調(diào)度、GANGLIA監(jiān)控集群資源的方法能很好的解決集群面臨的管理和資源合理利用問題,大大的減輕了集群管理員的負(fù)擔(dān),使集群最大限度的發(fā)揮其計(jì)算優(yōu)勢(shì)。
關(guān)鍵詞:集群XCATPBSMAUIGANGLIA
中圖分類號(hào):TP338文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X(2011)08(c)-0043-02
在許多生產(chǎn)和科研領(lǐng)域,傳統(tǒng)的單臺(tái)計(jì)算機(jī)獨(dú)立工作的方式已經(jīng)不能再滿足與日俱增的計(jì)算需求,越來越多的科研和生產(chǎn)單位需要計(jì)算能力足夠強(qiáng)大的高性能計(jì)算機(jī)。集群作為構(gòu)建高性能計(jì)算平臺(tái)首選的架構(gòu),具有性價(jià)比高、可擴(kuò)展性好、資源利用效率較高等優(yōu)點(diǎn),但集群也有它存在的不足,比如當(dāng)集群系統(tǒng)中的節(jié)點(diǎn)數(shù)比較多時(shí),會(huì)出現(xiàn)集群的安裝配置工作相當(dāng)繁雜,集群資源利用率不充分,有的計(jì)算節(jié)點(diǎn)死機(jī)了很難檢測(cè)到等情況,因此需要有一個(gè)比較科學(xué)的集群系統(tǒng)管理、作業(yè)管理、資源監(jiān)控的方法,來對(duì)集群系統(tǒng)的資源進(jìn)行有效的利用。
1 背景知識(shí)
集群(Cluster)是一組相互聯(lián)連接的獨(dú)立節(jié)點(diǎn)的集合,節(jié)點(diǎn)可以是個(gè)人計(jì)算機(jī)(同構(gòu)或異構(gòu)),也可以是工作站,或者其它高性能計(jì)算機(jī)等等,并以單一系統(tǒng)的模式加以管理,即充分利用集群中每一節(jié)點(diǎn)的資源,實(shí)現(xiàn)復(fù)雜運(yùn)算的并行處理。每個(gè)節(jié)點(diǎn)有其自己的存儲(chǔ)器(亦有共享存儲(chǔ)設(shè)備)、I/O設(shè)備和操作系統(tǒng),它們除了可以作為一個(gè)單一的計(jì)算資源供交互式用戶使用外,還可協(xié)同工作,并表現(xiàn)為一個(gè)單一的、集中的計(jì)算資源。一般而言,集群由以下重要部件組成:多個(gè)節(jié)點(diǎn)(PC、工作站、HPC或SMP);支持集群系統(tǒng)的操作系統(tǒng)(Linux,Solaris);高性能網(wǎng)絡(luò)(如千兆以太網(wǎng)或Myrinet);網(wǎng)絡(luò)接口卡(NIC);快速通信協(xié)議和服務(wù);集群中間件;并行編程環(huán)境和工具(如編譯器、PvM和MPI)。
2 集群管理過程與資源調(diào)度實(shí)現(xiàn)
集群系統(tǒng)的安裝是集群管理的基礎(chǔ),集群系統(tǒng)安裝主要是指計(jì)算節(jié)點(diǎn)上操作系統(tǒng)、文件系統(tǒng)的安裝。在完成系統(tǒng)安裝過程后,就可以進(jìn)行集群管理軟件的安裝和配置。
2.1 XCAT的配置
在執(zhí)行相應(yīng)的安裝腳本后,需要配置網(wǎng)絡(luò)時(shí)間同步服務(wù)器(NTP),以使集群中計(jì)算節(jié)點(diǎn)能自動(dòng)從管理節(jié)點(diǎn)上同步時(shí)間。具體操作為,編輯/etc/ntp.conf配置文件,在文件中輸入如下內(nèi)容:
#vi /etc/ntp.conf
server master.sample.net
server 127.127.1.0
fudge 127.127.1.0 stratum 10
driftfile/var/lib/ntp/drift
編輯ntp.conf完成后,需要在服務(wù)器端開啟NTP服務(wù),使系統(tǒng)啟動(dòng)的時(shí)候自動(dòng)加載NTP服務(wù),命令如下:
#chkconfig--level 345 ntpd on
XCAT對(duì)計(jì)算節(jié)點(diǎn)的管理主要依靠集群設(shè)備中硬件的定義信息表,信息表由管理員在集群管理節(jié)點(diǎn)上配置。下表列出部分常用表名以及該表的作用。
如表1所示。
定義好XCAT管理集群表后,XCAT將自動(dòng)執(zhí)行安裝配置,進(jìn)一步了管理員的操作。
2.2 PSB的配置
PBS(Portable Batch System)獨(dú)立的調(diào)度模塊允許系統(tǒng)管理員定義資源和每個(gè)作業(yè)可使用的數(shù)量。調(diào)度模塊存有各個(gè)可用的排隊(duì)作業(yè)、運(yùn)行作業(yè)和系統(tǒng)資源使用狀況信息。
PBS系統(tǒng)必須有一個(gè)server和至少一個(gè)mom,server負(fù)責(zé)作業(yè)的提交, mom接受server的控制,負(fù)責(zé)作業(yè)的執(zhí)行。其中管理節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)的配置是核心。
#touch nodes//在nodes文件寫入你所有mom節(jié)點(diǎn)的名稱,配置管理節(jié)點(diǎn)。
bc1n1 np = 4
bc1n2 np = 4
……
bc1n14 np = 4
其中的np代表的是虛擬處理器的個(gè)數(shù)。實(shí)際上也就是該節(jié)點(diǎn)最多可以同時(shí)跑多少個(gè)任務(wù)。
編輯每個(gè)計(jì)算節(jié)點(diǎn)的$PBS_HOME/mom_priv目錄下的config文件,寫入如下信息
$logevent 0x1ff$clienthost manager
$logevent 指定的日志的級(jí)別,使用默認(rèn)值就可以了,$clienthost為指定的server的地址。
2.3 PBS的作業(yè)管理
PBS安裝配置完畢后需啟動(dòng)服務(wù),可以手動(dòng)執(zhí)行啟動(dòng),也可以在rc.local文件中加入啟動(dòng)腳本,最好按mom,sever,sched順序啟動(dòng)命令如下:
#/usr/local/sbin/pbs_mom
# /usr/local/sbin/pbs_server -t create
# /usr/local/sbin /pbs_sched
其中-t create 在第一次起動(dòng)的時(shí)候要用,用于創(chuàng)建一些初始化必要的環(huán)境,以后起動(dòng)就不在需要了。
接下來要?jiǎng)?chuàng)建作業(yè)隊(duì)列,PBS中的隊(duì)列分為兩種類型,執(zhí)行隊(duì)列和路由隊(duì)列,下面是一個(gè)創(chuàng)建隊(duì)列的腳本
#
# Create and define queue verylong
#
create queue verylong
set queue verylong queue_type = Execution
set queue verylong Priority = 40
set queue verylong max_running = 10
set queue verylong resources_max.cput = 72:00:00
……
set server default_node = 1
#shared
PBS隊(duì)列創(chuàng)建完畢,接下來進(jìn)行PBS腳本編寫,下面是一個(gè)PBS腳本的示例:
#!/bin/sh
#PBS -N myjob
#PBS -l ncpus=25
#PBS -l mem=213MB
#PBS -l walltime=3:20:00
#PBS -o mypath/my.out
#PBS -e mypath/my.err
#PBS -q default
mpiexec -f mpd.hosts -np 14 ./cpi
編寫完P(guān)BS作業(yè)腳本以后,運(yùn)行qsub命令加上作業(yè)腳本提交作業(yè)。作業(yè)提交完成后,用戶可以使用qstat查詢自己提交的作業(yè),查看到作業(yè)的狀態(tài)。
2.4 MAUI的配置
MAUI是一款很好的小型Cluster資源調(diào)度管理軟件,它能夠?qū)崿F(xiàn)多個(gè)隊(duì)列、多個(gè)用戶的作業(yè)管理,允許管理人員建立各種作業(yè)排隊(duì)的規(guī)則。具體步驟是:
首先在管理節(jié)點(diǎn)上安裝maui:
#/home/tgz/torque/maui-3.2.6p21/configure --with-pbs=/usr/local
#make
#make install
然后修改ui的守護(hù)程序,并修改MAUI_PRFIX指定maui所在路徑
#cp /home/tgztorque/maui-3.2.6p21 /etc/maui.d /etc/init.d/
#vi /etc/init.d/maui.d
MAUI_PREFIX=/usr/local/maui
最后啟動(dòng)maui的守護(hù)程序:
#/etc/init.d/maui.d start
#chkconfig --add maui.d
#chkconfig --level 3456 maui.d on \"
#chkconfig --list maui.d
3 作業(yè)管理與調(diào)度實(shí)驗(yàn)
為了檢驗(yàn)該集群管理方法的有效性,本文進(jìn)行了采用并行計(jì)算環(huán)境和vasp計(jì)算分子間的距離實(shí)驗(yàn)。并選擇重慶郵電大學(xué)高性能計(jì)算平臺(tái)作為實(shí)驗(yàn)環(huán)境。該平臺(tái)由一個(gè)管理節(jié)點(diǎn)和14個(gè)計(jì)算節(jié)點(diǎn)共56個(gè)CPU核心組成,采用主從式(Master-Slave)構(gòu)建集群。硬件環(huán)境:管理節(jié)點(diǎn)(Master):IBM X3650 Intel(R) Xeon CPU X5460@3160MHz (8 cores), L1-Instruction-cache 32K, L1-D-cache 32K,L2-cache 6144K,4G Memory。計(jì)算節(jié)點(diǎn)(Slave):IBM Blade HS21 Intel(R) Xeon CPU E5405@2000MHz(4 cores), L1-Instruction-cache 32K,L1-D-cache 32K,L2-cache 6144K,8G Memory;軟件環(huán)境:RedHat Enterprise Linux 5 X86_64,GCC-4.1.2,XCAT-2.0,PBS-2.3.0,maui-3.2.6p19,RRDTool-1.3.8r1。
Ganglia監(jiān)控軟件主要是用來監(jiān)控系統(tǒng)性能的軟件,如cpu、內(nèi)存、硬盤利用率,I/O負(fù)載、網(wǎng)絡(luò)流量情況等,通過曲線很容易見到每個(gè)節(jié)點(diǎn)的工作狀態(tài),對(duì)合理調(diào)整、分配系統(tǒng)資源,提高系統(tǒng)整體性能起到重要作用。圖1是由ganglia監(jiān)控軟件采集到的上一個(gè)小時(shí)集群負(fù)載情況。由圖1不難看出,集群各計(jì)算節(jié)點(diǎn)負(fù)載比較均衡,集群得到有效管理。
4 結(jié)語(yǔ)
由于集群系統(tǒng)相對(duì)普通的單個(gè)服務(wù)器而言,其復(fù)雜程度要大很多,集群的管理與資源調(diào)度是件非常繁瑣的工作,當(dāng)很多臺(tái)服務(wù)器一起工作時(shí),很容易出現(xiàn)資源利用不均衡和個(gè)別計(jì)算節(jié)點(diǎn)死機(jī)等問題,依靠人工去分配計(jì)算資源和查找修復(fù)節(jié)點(diǎn)的錯(cuò)誤顯然不可取。針對(duì)該情況,本文從集群的管理者角度出發(fā),總結(jié)出了科學(xué)管理集群的方法,實(shí)現(xiàn)了集群的快速安裝和部署、集群作業(yè)的提交與調(diào)度、集群資源的監(jiān)控等功能。
參考文獻(xiàn)
[1]張林波,遲學(xué)斌等.并行計(jì)算導(dǎo)論[M].北京:清華大學(xué)出版社,2006,1-425.
[2]馬特桑,桑德斯,麥森吉爾.并行編程模式[M].北京:清華大學(xué)出版社,2005,15-17.
[3] 李源,鄭全錄,曾韻.PBS作業(yè)管理系統(tǒng)分析[J].現(xiàn)代計(jì)算機(jī),2004(3):17-9.
[4]Buyya R.高性能集群計(jì)算:結(jié)構(gòu)與系統(tǒng)(第一卷)(英文版)[M].北京:人民郵電出版社,2002.
[5]宋柏芬,董惠.IBM PC cluster計(jì)算機(jī)操作系統(tǒng)的網(wǎng)絡(luò)安裝[J].石油儀器,2006年03期.
[6]IBM公司.Building a Linux HPC cluster with XCAT Copyright International Business Machines Corporation 2002.
[7]何麗萍,劉立程.改進(jìn)的基于Ganglia的網(wǎng)格監(jiān)控系統(tǒng)[J].廣州工業(yè)大學(xué)學(xué)報(bào):2006年01期.