本發(fā)明涉及高性能計算技術(shù)領(lǐng)域,特別是涉及一種高性能計算集群動態(tài)節(jié)點作業(yè)方法。
背景技術(shù):
高性能計算(highperformancecomputing,縮寫hpc)指通常使用很多處理器(作為單個機器的一部分)或者某一集群中組織的幾臺計算機(作為單個計算資源操作)的計算系統(tǒng)和環(huán)境。高性能計算在航空航天、材料、數(shù)學(xué)、生物、物理、化學(xué)、氣象、環(huán)境、金融、媒體、電磁等多個行業(yè)具有較為廣泛和重要的作用。當(dāng)前高性能計算75%以上的系統(tǒng)都是通過x86服務(wù)器以clustre架構(gòu)進行構(gòu)建,隨著服務(wù)器節(jié)點的增多和對集群效率、實測計算峰值、能耗等各方面要求的提升,傳統(tǒng)的高性能計算集群存在諸多瓶頸,需要廣大科研人員和集群維護人員進行研究和探索。
通過基于infiniband網(wǎng)絡(luò)的無盤部署、標(biāo)準(zhǔn)化的作業(yè)提交流程和步驟、自動控制和調(diào)整計算節(jié)點開機數(shù)量可以實現(xiàn):
a、節(jié)能,基于無盤部署,計算節(jié)點不需要配置硬盤,降低了集群的功率開銷和故障點,通過動態(tài)調(diào)整計算節(jié)點開關(guān)機數(shù)量,避免了大量計算節(jié)點開機空轉(zhuǎn)的情況,提高了能源的使用率;
b、性能,基于infiniband網(wǎng)絡(luò)的無盤部署,將系統(tǒng)鏡像通過低延時的高速網(wǎng)絡(luò)加載到各計算節(jié)點內(nèi)存中,提升了計算節(jié)點開機速度,并且充分利用了ramdisk的iops性能優(yōu)勢,極大提升計算任務(wù)在計算節(jié)點單機內(nèi)部的收斂速率。
c、標(biāo)準(zhǔn)化,由于高性能計算涉及行業(yè)較多、范圍較廣、海量的專業(yè)軟件,導(dǎo)致了傳統(tǒng)用戶在使用高性能計算集群時需要去針對具體的計算軟件進行了解學(xué)習(xí)后才能上機使用。通過對作業(yè)流程的重構(gòu)和標(biāo)準(zhǔn)化,將海量的專業(yè)軟件的作業(yè)提交流程通過中間件固定為同樣的步驟和流程,極大簡化了上機操作步驟,讓傳統(tǒng)用戶能快速的入手并將集群充分使用起來。
d、節(jié)約,最大程度減少不必要的軟硬件投入(如計算節(jié)點硬盤、計算節(jié)點操作系統(tǒng)),提升資金使用率;
e、低故障率,傳統(tǒng)高性能計算集群在每個計算節(jié)點上需要安裝1塊硬盤用于存放操作系統(tǒng)。機械硬盤價格便宜,使用年限久,但性能較差;固態(tài)硬盤性能較好,但成本太高,壽命太短。并且當(dāng)集群意外斷電時極易導(dǎo)致操作系統(tǒng)損壞。通過無盤部署,有效避免了由硬盤導(dǎo)致的故障,極大降低集群故障率。
f、高效率,傳統(tǒng)高性能計算集群需要對所有的節(jié)點安裝操作系統(tǒng)和配置環(huán)境變量才能工作,本申請所描述方式無需該環(huán)節(jié),極大減少了集群部署時間,提升了集群部署的效率。
技術(shù)實現(xiàn)要素:
本發(fā)明主要解決的技術(shù)問題是提供一種高性能計算集群動態(tài)節(jié)點作業(yè)方法,能夠提高高性能計算集群部署效率,降低故障率,簡化作業(yè)提交,提高能源和資金利用率,提升使用效率和性能。
為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是:提供一種高性能計算集群動態(tài)節(jié)點作業(yè)方法,其特征在于,包括如下步驟:
步驟1:配置服務(wù)器,包括管理網(wǎng)絡(luò)n1、計算網(wǎng)絡(luò)n2和用戶網(wǎng)絡(luò)n3,以及用戶網(wǎng)絡(luò)n3和管理網(wǎng)絡(luò)n1之間的安全防護網(wǎng)絡(luò)f1、登陸節(jié)點l1、管理節(jié)點m1、若干計算節(jié)點cn;所述登陸節(jié)點、管理節(jié)點、計算節(jié)點分別與管理網(wǎng)絡(luò)和計算網(wǎng)絡(luò)建立通信連接;所述登陸節(jié)點和管理節(jié)點通過計算網(wǎng)絡(luò)掛載共享存儲s1;
步驟2:在管理節(jié)點m1上安裝并配置啟動管理服務(wù)(flexboot)、動態(tài)主機配置協(xié)議服務(wù)(dhcp)、文件傳輸協(xié)議服務(wù)(tftp)、域名系統(tǒng)服務(wù)(dns)、共享服務(wù)、認(rèn)證服務(wù)以及作業(yè)調(diào)度,配置完成后啟動計算節(jié)點;
步驟3:用戶網(wǎng)絡(luò)n3中的用戶,經(jīng)過安全防護網(wǎng)絡(luò)f1以安全外殼協(xié)議ssh登錄到登陸節(jié)點l1上,通過ssh將需要計算的算例上傳至登陸節(jié)點l1上的共享存儲s1;
步驟4:用戶在登陸節(jié)點l1上通過作業(yè)調(diào)度中間件,指定作業(yè)參數(shù)完成作業(yè)腳本的生成并啟動提交給m1的作業(yè)調(diào)度進行資源分配和計算;
步驟5:管理節(jié)點m1收到登陸節(jié)點l1上用戶提交的作業(yè)腳本后,首先將作業(yè)腳本中的函數(shù)調(diào)用請求交給管理節(jié)點中的maui.d進行資源配額檢查,如果配額不足則報錯提示,如果配額足夠,則將作業(yè)腳本轉(zhuǎn)交給m1上作業(yè)調(diào)度pbs_server進行調(diào)度;
步驟6:管理節(jié)點m1的作業(yè)調(diào)度pbs_server收到作業(yè)腳本后,根據(jù)作業(yè)腳本要求的節(jié)點數(shù)、每節(jié)點核心數(shù)為作業(yè)分配進行計算的節(jié)點c1到cn,如果節(jié)點數(shù)量不足,則將作業(yè)進行排隊等待;如果節(jié)點數(shù)量足夠,則根據(jù)作業(yè)腳本具體執(zhí)行內(nèi)容開始計算;
步驟7:當(dāng)c1到cn完成計算后,釋放物理內(nèi)存、處理器等資源,并向m1的pbs_server反饋“所有核心均未占用,狀態(tài)free”的信號;m1的pbs_server對該信號進行記錄,并允許后續(xù)作業(yè)在該節(jié)點上進行分配和計算;
步驟8:用戶可以通過安全文件傳輸協(xié)議sftp從l1上將s1中存儲的計算結(jié)果等信息取回到n3中,在本地電腦上打開進行處理和分析。
優(yōu)選地,管理網(wǎng)絡(luò)n1為以太網(wǎng)絡(luò),主要負(fù)責(zé)計算節(jié)點開關(guān)機控制、作業(yè)調(diào)度數(shù)據(jù)傳輸、系統(tǒng)監(jiān)控等功能,計算網(wǎng)絡(luò)n1為infiniband網(wǎng)絡(luò),提高設(shè)備的擴展性、數(shù)據(jù)的傳輸速率及通信延遲,主要負(fù)責(zé)數(shù)據(jù)及存儲的io、操作系統(tǒng)鏡像分發(fā)、計算軟件工作時各進程相互通信與數(shù)據(jù)同步等功能,用戶網(wǎng)絡(luò)n3是高性能計算機用戶所在的網(wǎng)絡(luò),安全防護f1為防火墻、utm或路由器設(shè)備,提供用戶網(wǎng)絡(luò)到管理網(wǎng)絡(luò)的端口映射、訪問權(quán)限管理、異常流量監(jiān)測、攻擊防護等功能,登錄節(jié)點l1、管理節(jié)點m1、若干計算節(jié)點cn統(tǒng)一為同一處理器架構(gòu)(如x86架構(gòu)、mips架構(gòu)、arm架構(gòu)、power架構(gòu)、spark架構(gòu)等),處理器具有完全相同的指令集,根據(jù)用戶實際使用需求和高性能計算機總體計算性能要求,登錄節(jié)點l1、管理節(jié)點m1、若干計算節(jié)點cn可以通過集群(cluster)方式進行橫向擴展,共享存儲s1一般為基于infiniband的nfs服務(wù)器其包含底層的硬盤柜或磁盤陣列,或基于infiniband的分布式存儲系統(tǒng),對外提供一個統(tǒng)一的文件系統(tǒng)空間,并且支持用戶權(quán)限控制和容量配額。
優(yōu)選地,系統(tǒng)第一次部署時將登陸節(jié)點l1的操作系統(tǒng)復(fù)制為鏡像文件j1,并修改j1中包含的相關(guān)個性化參數(shù)配置文件為通用配置文件,其中包括修改網(wǎng)卡配置文件,去掉mac地址、uuid等唯一信息,修改為dhcp引導(dǎo);將主機名修改為dhcp自動獲取、將硬盤的掛載方式修改為設(shè)備名方式進行掛載、將系統(tǒng)環(huán)境變量存放目錄修改為共享存儲s1上特定目錄等。
所述計算節(jié)點的啟動采用無盤啟動方式,具體步驟包括:
步驟1:將c1(或cn)開機,設(shè)置為默認(rèn)pxe引導(dǎo),pxe默認(rèn)設(shè)備為主機通道適配器(hca),采用flexboot模式;flexboot初始化hca卡,檢測端口協(xié)議及狀態(tài),以infiniband方式啟動端口,并以廣播的方式發(fā)送dhcp客戶端(client)請求報文;
步驟2:管理節(jié)點m1的dhcp服務(wù)器從infiniband網(wǎng)絡(luò)收到請求報文后,將c1的ip地址、tftp服務(wù)器、網(wǎng)絡(luò)引導(dǎo)啟動鏡像目錄發(fā)送給c1;c1接收到m1發(fā)出的報文后,根據(jù)收到的報文啟動infiniband網(wǎng)絡(luò),并從m1的tftp服務(wù)器中下載啟動鏡像目錄并加載到內(nèi)存中,所請求的鏡像目錄內(nèi)包含默認(rèn)的啟動鏡像名稱j1、默認(rèn)啟動鏡像鏡像時間等信息,通過c1上選擇啟動j1或者超過默認(rèn)時間后自動選擇啟動j1,并向m1發(fā)送請求j1的報文;
步驟3:m1收到c1請求j1的報文后,將j1通過tftp服務(wù)器發(fā)送給c1;c1的flexboot接收完j1后,將j1放入內(nèi)存進行加載;
步驟4:c1依次加載j1的內(nèi)核、根文件系統(tǒng)、網(wǎng)絡(luò)、配置文件等;c1在加載網(wǎng)絡(luò)時廣播dhcpclient的請求報文,m1的dhcpserver收到請求報文后再次將c1的ip地址發(fā)送給c1,c1收到ip地址報文后啟動網(wǎng)絡(luò),并向m1請求主機名;m1的dnsserver收到c1請求主機名的報文后將c1的主機名發(fā)送給c1;c1網(wǎng)絡(luò)啟動完成后,首先加載掛載共享目錄的配置文件,根據(jù)配置文件內(nèi)容將s1通過infiniband方式進行掛載;c1掛載完共享目錄后,啟動計算節(jié)點作業(yè)調(diào)度(pbs_mom),并將作業(yè)調(diào)度狀態(tài)反饋給管理節(jié)點m1的作業(yè)調(diào)度(pbs_server),啟動完成。
進一步的,所述作業(yè)中間件中提前錄入已知的調(diào)用函數(shù),針對已知的計算軟件進行作業(yè)提交流程的重構(gòu)和標(biāo)準(zhǔn)化,用戶在提交作業(yè)時通過調(diào)用函數(shù)輸入作業(yè)類型、參與計算節(jié)點數(shù)量、每個計算節(jié)點參與計算核心數(shù)量、輸入文件(如果有)共計4個參數(shù)即可完成作業(yè)提交,避免了編寫作業(yè)腳本的工作,極大簡化上級操作步驟;
進一步的,計算機開機節(jié)點自動控制包括如下步驟:
步驟1:系統(tǒng)啟動完成正常運行時,m1每60秒啟動后臺監(jiān)控進程一次并檢測啟動時間,若未達到啟動時間,則暫停60秒并重復(fù)步驟1;
步驟2:后臺監(jiān)控進程正常啟動后,檢查pbs_server是否有排隊作業(yè),若無排隊作業(yè)并且處于工作狀態(tài)的計算節(jié)點小于等于1時,則直接退出;若無排隊作業(yè)并處于工作狀態(tài)的節(jié)點大于1個,則通過管理網(wǎng)絡(luò)n1和ipmi接口關(guān)閉開機但位處于空閑狀態(tài)的空閑節(jié)點數(shù)量-1個節(jié)點,只保留空閑節(jié)點中節(jié)點名排名最前的1個空閑計算節(jié)點處于開機狀態(tài)以備用;
步驟3:若檢查到有排隊作業(yè)情況時,則分析處于排隊作業(yè)的原因:若為用戶超額,則直接退出系統(tǒng);若用戶未超額,則排隊原因為資源不足,執(zhí)行下一步驟;
步驟4:在步驟3之后,檢查關(guān)機節(jié)點數(shù)量。若關(guān)機節(jié)點為0,則提示節(jié)點用盡并退出系統(tǒng);若關(guān)機節(jié)點大于等于1,則根據(jù)處于等待狀態(tài)各中作業(yè)各節(jié)點需求量的大小從小到大進行排序,設(shè)定n為等待狀態(tài)作業(yè)最小作業(yè)節(jié)點需求數(shù)量,f為當(dāng)前空閑狀態(tài)節(jié)點數(shù)量,g為關(guān)機節(jié)點數(shù)量。比較當(dāng)前需要開機節(jié)點數(shù)量(n-f)和g-1。若n-f≤g-1,表示關(guān)機節(jié)點數(shù)量比需求節(jié)點數(shù)量大,則在管理網(wǎng)絡(luò)n1中通過ipmi接口開啟n-f+1個節(jié)點,并重新進行步驟2;若n-f≥g-1,表示關(guān)機節(jié)點數(shù)量不足,則在管理網(wǎng)絡(luò)n1中通過ipmi接口開啟所有關(guān)機節(jié)點并提示節(jié)點數(shù)用盡,然后退出系統(tǒng)。
區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明的有益效果是:
1、節(jié)能:基于無盤部署,計算節(jié)點不在需要硬盤,降低了集群的功率開銷和故障點。通過動態(tài)調(diào)整計算節(jié)點開關(guān)機數(shù)量,避免了大量計算節(jié)點開機空轉(zhuǎn)的情況,提高了能源的使用率。
2、性能:基于infiniband網(wǎng)絡(luò)的無盤部署,將系統(tǒng)鏡像加載到各計算節(jié)點內(nèi)存中,提升了計算節(jié)點開機速度,并且充分利用了ramdisk的iops性能優(yōu)勢,極大提升計算任務(wù)在計算節(jié)點單機內(nèi)部的收斂速率。
3、標(biāo)準(zhǔn)化:由于高性能計算涉及行業(yè)較多、范圍較廣、海量的專業(yè)軟件,導(dǎo)致了傳統(tǒng)用戶在使用高性能計算集群時需要去針對具體的計算軟件進行了解學(xué)習(xí)后才能上機使用。通過對作業(yè)流程的重構(gòu)和標(biāo)準(zhǔn)化,將海量的專業(yè)軟件的作業(yè)提交流程通過中間件固定為同樣的步驟和流程,極大簡化了上機操作步驟,讓傳統(tǒng)用戶能快速的入手并將集群充分使用起來。
4、節(jié)約:最大程度減少不必要的硬件投入(如計算節(jié)點硬盤),提升資金使用率。
5、低故障率:傳統(tǒng)高性能計算集群在每個計算節(jié)點上需要安裝1塊硬盤用于存放操作系統(tǒng)。機械硬盤價格便宜,使用年限久,但性能較差;固態(tài)硬盤性能較好,但成本太高,壽命太短。并且當(dāng)集群意外斷電時極易導(dǎo)致操作系統(tǒng)損壞。通過無盤部署,有效避免了由硬盤導(dǎo)致的故障,極大降低集群故障率。
6、高效率:傳統(tǒng)高性能計算集群需要對所有的節(jié)點安裝操作系統(tǒng)和配置環(huán)境變量才能工作,本申請所描述方式無需該環(huán)節(jié),極大減少了集群部署時間,提升了集群部署的效率。
附圖說明
圖1是本發(fā)明實施例高性能計算集群系統(tǒng)拓?fù)鋱D。
圖2是本發(fā)明實施例動態(tài)節(jié)點控制流程圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
參見圖1提供的一種高性能計算集群動態(tài)節(jié)點作業(yè)方法,其特征在于,包括如下步驟:
步驟1:配置服務(wù)器,包括管理網(wǎng)絡(luò)n1、計算網(wǎng)絡(luò)n2和用戶網(wǎng)絡(luò)n3,以及用戶網(wǎng)絡(luò)n3和管理網(wǎng)絡(luò)n1之間的安全防護網(wǎng)絡(luò)f1、登陸節(jié)點l1、管理節(jié)點m1、若干計算節(jié)點cn;所述登陸節(jié)點、管理節(jié)點、計算節(jié)點分別與管理網(wǎng)絡(luò)和計算網(wǎng)絡(luò)建立通信連接;所述登陸節(jié)點和管理節(jié)點通過計算網(wǎng)絡(luò)掛載共享存儲s1;
步驟2:在管理節(jié)點m1上安裝并配置啟動管理服務(wù)(flexboot)、動態(tài)主機配置協(xié)議服務(wù)(dhcp)、文件傳輸協(xié)議服務(wù)(tftp)、域名系統(tǒng)服務(wù)(dns)、共享服務(wù)、認(rèn)證服務(wù)以及作業(yè)調(diào)度,配置完成后啟動計算節(jié)點;
步驟3:用戶網(wǎng)絡(luò)n3中的用戶,經(jīng)過安全防護網(wǎng)絡(luò)f1以安全外殼協(xié)議ssh登錄到登陸節(jié)點l1上,通過ssh將需要計算的算例上傳至登陸節(jié)點l1上的共享存儲s1;
步驟4:用戶在登陸節(jié)點l1上通過作業(yè)調(diào)度中間件,指定作業(yè)參數(shù)完成作業(yè)腳本的生成并啟動提交給m1的作業(yè)調(diào)度進行資源分配和計算;
步驟5:管理節(jié)點m1收到登陸節(jié)點l1上用戶提交的作業(yè)腳本后,首先將作業(yè)腳本中的函數(shù)調(diào)用請求交給管理節(jié)點中的maui.d進行資源配額檢查,如果配額不足則報錯提示,如果配額足夠,則將作業(yè)腳本轉(zhuǎn)交給m1上作業(yè)調(diào)度pbs_server進行調(diào)度;
步驟6:管理節(jié)點m1的作業(yè)調(diào)度pbs_server收到作業(yè)腳本后,根據(jù)作業(yè)腳本要求的節(jié)點數(shù)、每節(jié)點核心數(shù)為作業(yè)分配進行計算的節(jié)點c1到cn,如果節(jié)點數(shù)量不足,則將作業(yè)進行排隊等待;如果節(jié)點數(shù)量足夠,則根據(jù)作業(yè)腳本具體執(zhí)行內(nèi)容開始計算;
步驟7:當(dāng)c1到cn完成計算后,釋放物理內(nèi)存、處理器等資源,并向m1的pbs_server反饋“所有核心均未占用,狀態(tài)free”的信號;m1的pbs_server對該信號進行記錄,并允許后續(xù)作業(yè)在該節(jié)點上進行分配和計算;
步驟8:用戶可以通過安全文件傳輸協(xié)議sftp從l1上將s1中存儲的計算結(jié)果等信息取回到n3中,在本地電腦上打開進行處理和分析。
優(yōu)選地,管理網(wǎng)絡(luò)n1為千兆以太網(wǎng)絡(luò),主要負(fù)責(zé)計算節(jié)點開關(guān)機控制、作業(yè)調(diào)度數(shù)據(jù)傳輸、系統(tǒng)監(jiān)控等功能,計算網(wǎng)絡(luò)n1為infiniband網(wǎng)絡(luò),提高設(shè)備的擴展性、數(shù)據(jù)的傳輸速率及通信延遲,主要負(fù)責(zé)數(shù)據(jù)及存儲的io、操作系統(tǒng)鏡像分發(fā)、計算軟件工作時各進程相互通信與數(shù)據(jù)同步等功能,用戶網(wǎng)絡(luò)n3是高性能計算機用戶所在的網(wǎng)絡(luò),安全防護f1為防火墻、utm或路由器設(shè)備,提供用戶網(wǎng)絡(luò)到管理網(wǎng)絡(luò)的端口映射、訪問權(quán)限管理、異常流量監(jiān)測、攻擊防護等功能,登錄節(jié)點l1、管理節(jié)點m1、若干計算節(jié)點cn統(tǒng)一為同一處理器架構(gòu)(如x86架構(gòu)、mips架構(gòu)、arm架構(gòu)、power架構(gòu)、spark架構(gòu)等),處理器具有完全相同的指令集,根據(jù)用戶實際使用需求和高性能計算機總體計算性能要求,登錄節(jié)點l1、管理節(jié)點m1、若干計算節(jié)點cn可以通過集群(cluster)方式進行橫向擴展,共享存儲s1一般為基于infiniband的nfs服務(wù)器其包含底層的硬盤柜或磁盤陣列,或基于infiniband的分布式存儲系統(tǒng),對外提供一個統(tǒng)一的文件系統(tǒng)空間,并且支持用戶權(quán)限控制和容量配額。
其中、系統(tǒng)第一次部署時將登陸節(jié)點l1的操作系統(tǒng)復(fù)制為鏡像文件j1,并修改j1中包含的相關(guān)個性化參數(shù)配置文件為通用配置文件,其中包括修改網(wǎng)卡配置文件,去掉mac地址、uuid等唯一信息,修改為dhcp引導(dǎo);將主機名修改為dhcp自動獲取、將硬盤的掛載方式修改為設(shè)備名方式進行掛載、將系統(tǒng)環(huán)境變量存放目錄修改為共享存儲s1上特定目錄等。
具體的,所述計算節(jié)點的啟動采用無盤啟動方式,具體步驟包括:
步驟1:將c1(或cn)開機,設(shè)置為默認(rèn)pxe引導(dǎo),pxe默認(rèn)設(shè)備為主機通道適配器(hca),采用flexboot模式;flexboot初始化hca卡,檢測端口協(xié)議及狀態(tài),以infiniband方式啟動端口,并以廣播的方式發(fā)送dhcp客戶端(client)請求報文;
步驟2:管理節(jié)點m1的dhcp服務(wù)器從infiniband網(wǎng)絡(luò)收到請求報文后,將c1的ip地址、tftp服務(wù)器、網(wǎng)絡(luò)引導(dǎo)啟動鏡像目錄發(fā)送給c1;c1接收到m1發(fā)出的報文后,根據(jù)收到的報文啟動infiniband網(wǎng)絡(luò),并從m1的tftp服務(wù)器中下載啟動鏡像目錄并加載到內(nèi)存中,所請求的鏡像目錄內(nèi)包含默認(rèn)的啟動鏡像名稱j1、默認(rèn)啟動鏡像鏡像時間等信息,通過c1上選擇啟動j1或者超過默認(rèn)時間后自動選擇啟動j1,并向m1發(fā)送請求j1的報文;
步驟3:m1收到c1請求j1的報文后,將j1通過tftp服務(wù)器發(fā)送給c1;c1的flexboot接收完j1后,將j1放入內(nèi)存進行加載;
步驟4:c1依次加載j1的內(nèi)核、根文件系統(tǒng)、網(wǎng)絡(luò)、配置文件等;c1在加載網(wǎng)絡(luò)時廣播dhcpclient的請求報文,m1的dhcpserver收到請求報文后再次將c1的ip地址發(fā)送給c1,c1收到ip地址報文后啟動網(wǎng)絡(luò),并向m1請求主機名;m1的dnsserver收到c1請求主機名的報文后將c1的主機名發(fā)送給c1;c1網(wǎng)絡(luò)啟動完成后,首先加載掛載共享目錄的配置文件,根據(jù)配置文件內(nèi)容將s1通過infiniband方式進行掛載;c1掛載完共享目錄后,啟動計算節(jié)點作業(yè)調(diào)度(pbs_mom),并將作業(yè)調(diào)度狀態(tài)反饋給管理節(jié)點m1的作業(yè)調(diào)度(pbs_server),啟動完成。
進一步的,所述作業(yè)中間件中提前錄入已知的調(diào)用函數(shù),針對已知的計算軟件進行作業(yè)提交流程的重構(gòu)和標(biāo)準(zhǔn)化,用戶在提交作業(yè)時通過調(diào)用函數(shù)輸入作業(yè)類型、參與計算節(jié)點數(shù)量、每個計算節(jié)點參與計算核心數(shù)量、輸入文件(如果有)共計4個參數(shù)即可完成作業(yè)提交,避免了編寫作業(yè)腳本的工作,極大簡化上級操作步驟;
如圖2所示,計算機開機節(jié)點自動控制包括如下步驟:
步驟1:系統(tǒng)啟動完成正常運行時,m1每60秒啟動后臺監(jiān)控進程一次并檢測啟動時間,若未達到啟動時間,則暫停60秒并重復(fù)步驟1;
步驟2:后臺監(jiān)控進程正常啟動后,檢查pbs_server是否有排隊作業(yè),若無排隊作業(yè)并且處于工作狀態(tài)的計算節(jié)點小于等于1時,則直接退出;若無排隊作業(yè)并處于工作狀態(tài)的節(jié)點大于1個,則通過管理網(wǎng)絡(luò)n1和ipmi接口關(guān)閉開機但處于空閑狀態(tài)的空閑節(jié)點數(shù)量-1個節(jié)點,只保留空閑節(jié)點中節(jié)點名排名最前的1個空閑計算節(jié)點處于開機狀態(tài)以備用;
步驟3:若檢查到有排隊作業(yè)情況時,則分析處于排隊作業(yè)的原因:若為用戶超額,則直接退出系統(tǒng);若用戶未超額,則排隊原因為資源不足,執(zhí)行下一步驟;
步驟4:在步驟3之后,檢查關(guān)機節(jié)點數(shù)量。若關(guān)機節(jié)點為0,則提示節(jié)點用盡并退出系統(tǒng);若關(guān)機節(jié)點大于等于1,則根據(jù)處于等待狀態(tài)各中作業(yè)各節(jié)點需求量的大小從小到大進行排序,設(shè)定n為等待狀態(tài)作業(yè)最小作業(yè)節(jié)點需求數(shù)量,f為當(dāng)前空閑狀態(tài)節(jié)點數(shù)量,g為關(guān)機節(jié)點數(shù)量。比較當(dāng)前需要開機節(jié)點數(shù)量(n-f)和g-1。若n-f≤g-1,表示關(guān)機節(jié)點數(shù)量比需求節(jié)點數(shù)量大,則在管理網(wǎng)絡(luò)n1中通過ipmi接口開啟n-f+1個節(jié)點,并重新進行步驟2;若n-f≥g-1,表示關(guān)機節(jié)點數(shù)量不足,則在管理網(wǎng)絡(luò)n1中通過ipmi接口開啟所有關(guān)機節(jié)點并提示節(jié)點數(shù)用盡,然后退出系統(tǒng)。
通過上述方式,本發(fā)明實施例的高性能計算集群動態(tài)節(jié)點作業(yè)方法,提高高性能計算集群部署效率,降低故障率,簡化作業(yè)提交,提高能源和資金利用率,提升使用效率和性能。
以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。