高性能計算與云計算混合計算系統(tǒng)及其資源管理方法
【技術領域】
[0001]本發(fā)明涉及計算技術,更具體地說,涉及一種高性能計算與云計算混合計算系統(tǒng)及其資源管理方法。
【背景技術】
[0002]高性能計算(high performance computing,縮寫HPC)在工程計算、科學研究、遺傳基因以及金融風險分析中已經(jīng)取得了巨大的成就。高性能計算歷經(jīng)幾十年的發(fā)展,如今不僅是作為實驗和理論以外的第三大科學研究手段,而且可以被當作是一個國家綜合國力的主要評價標準。云計算是基于互聯(lián)網(wǎng)的相關服務的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴展且經(jīng)常是虛擬化的資源。
[0003]目前的中國對于云計算和高性能計算的支持力度非常大,建立了不少超級計算中心,組成大規(guī)模的計算集群。云計算采用的關鍵技術是虛擬化,這樣可以使資源按需調度,但也勢必導致一部分的性能損失,而高性能計算以計算速度為第一追求,因而在性能方面與云計算會有一定的沖突。各個超級計算中心一般都會根據(jù)業(yè)務、服務的不同將計算集群分為云計算分區(qū)和高性能計算分區(qū),云計算分區(qū)運行云操作系統(tǒng),應用于云計算服務,而高性能計算分區(qū)則運行高性能作業(yè)調度系統(tǒng),應用于高性能計算服務。當高性能計算業(yè)務不忙而云計算業(yè)務比較緊張的時候,如果按照以往計算中心常規(guī)的分區(qū)劃分方式,那么將會出現(xiàn)高性能計算資源閑置的情況,因此需要找到一個更好的合理分配使用超級計算中心計算資源的技術。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術問題在于,針對傳統(tǒng)的計算中心資源分配存在的上述不足之處,提供一種高性能計算與云計算混合計算系統(tǒng)及其資源管理方法。
[0005]本發(fā)明在第一方面為解決其技術問題所采用的技術方案是:提出一種高性能計算與云計算混合計算系統(tǒng),包括高性能計算資源池和云計算資源池,所述高性能計算資源池包括高性能計算調度系統(tǒng)和由其管理的多個計算節(jié)點,所述云計算資源池包括云計算管理系統(tǒng)和由其管理的多個計算節(jié)點,所述高性能計算資源池中的計算節(jié)點均設有云計算代理服務模塊,所述云計算代理服務模塊同時與高性能計算調度系統(tǒng)和云計算管理系統(tǒng)連接;
[0006]所述云計算管理系統(tǒng)在監(jiān)控到資源不足時向高性能計算調度系統(tǒng)發(fā)送節(jié)點資源申請,并根據(jù)高性能計算調度系統(tǒng)通知的空閑的計算節(jié)點信息向該空閑的計算節(jié)點的云計算代理服務模塊發(fā)送第一清理命令以由所述云計算代理服務模塊清理該空閑的計算節(jié)點并將其加入到云計算資源池,以及在監(jiān)控到資源冗余時釋放從高性能計算資源池申請到的一部分計算節(jié)點,并向待釋放的計算節(jié)點的云計算代理服務模塊發(fā)送第二清理命令以由所述云計算代理服務模塊清理待釋放的計算節(jié)點;
[0007]所述高性能計算調度系統(tǒng)基于云計算管理系統(tǒng)發(fā)送的節(jié)點資源申請調度空閑的計算節(jié)點并通知給云計算管理系統(tǒng),以及根據(jù)所述云計算代理服務模塊基于所述第二清理命令清理相應的計算節(jié)點后返回的信息將該清理后的計算節(jié)點回收到高性能計算資源池。
[0008]根據(jù)本發(fā)明第一方面的一個實施例中,所述高性能計算調度系統(tǒng)基于云計算管理系統(tǒng)發(fā)送的節(jié)點資源申請調度空閑的計算節(jié)點并通知給云計算管理系統(tǒng),進一步包括:將所述節(jié)點資源申請設置為最高優(yōu)先級,當出現(xiàn)空閑的計算節(jié)點時,鎖定該空閑的計算節(jié)點,并將該空閑的計算節(jié)點信息通知給云計算管理系統(tǒng)。
[0009]根據(jù)本發(fā)明第一方面的一個實施例中,所述云計算代理服務模塊基于所述第一清理命令清理空閑的計算節(jié)點包括:
[0010]結束所有的高性能計算作業(yè)進程;
[0011]卸載高性能計算作業(yè)使用的分布式文件系統(tǒng);
[0012]設置防火墻策略,設置cgroup資源策略,以禁止高性能計算用戶訪問該空閑的計算節(jié)點;
[0013]將該空閑的計算節(jié)點從高性能計算環(huán)境需要的服務切換到云計算環(huán)境需要的服務;
[0014]從云計算管理系統(tǒng)獲取云計算需要使用的分布式文件系統(tǒng)或存儲資源的連接數(shù)據(jù),掛載對應的文件系統(tǒng)或存儲資源,并將連接信息反饋給云計算管理系統(tǒng);
[0015]創(chuàng)建虛擬交換機,并將該虛擬交換機信息返回給云計算管理系統(tǒng)。
[0016]根據(jù)本發(fā)明第一方面的一個實施例中,所述云計算代理服務模塊基于所述第二清理命令清理相應的計算節(jié)點包括:
[0017]卸載云計算使用的分布式文件系統(tǒng)或存儲資源;
[0018]將該計算節(jié)點從云計算環(huán)境需要的服務切換到高性能計算環(huán)境需要的服務,并在成功后通知云計算管理系統(tǒng)以便云計算管理系統(tǒng)將該計算節(jié)點從云計算資源池中刪除;
[0019]掛載高性能計算需要的分布式文件系統(tǒng);
[0020]設置防火墻和cgroup資源策略,以允許高性能計算用戶訪問該計算節(jié)點;
[0021]返回相應的信息給高性能計算調度系統(tǒng)以將該計算節(jié)點回收到高性能計算資源池中。
[0022]本發(fā)明在第二方面為解決其技術問題所采用的技術方案是:提出一種高性能計算與云計算混合計算系統(tǒng)的資源管理方法,其中所述系統(tǒng)包括高性能計算資源池和云計算資源池,所述高性能計算資源池包括高性能計算調度系統(tǒng)和由其管理的多個計算節(jié)點,所述云計算資源池包括云計算管理系統(tǒng)和由其管理的多個計算節(jié)點,所述方法包括如下步驟:
[0023]S1、在所述高性能計算資源池的每一個計算節(jié)點中設置云計算代理服務模塊,所述云計算代理服務模塊同時與高性能計算調度系統(tǒng)和云計算管理系統(tǒng)連接;
[0024]S2、在云計算管理系統(tǒng)監(jiān)控到云計算資源池的資源不足時,由所述云計算管理系統(tǒng)向高性能計算調度系統(tǒng)發(fā)送節(jié)點資源申請,并根據(jù)高性能計算調度系統(tǒng)通知的空閑的計算節(jié)點信息向該空閑的計算節(jié)點的云計算代理服務模塊發(fā)送第一清理命令以由所述云計算代理服務模塊清理該空閑的計算節(jié)點并將其加入到云計算資源池;
[0025]S3、在云計算管理系統(tǒng)監(jiān)控到云計算資源池的資源冗余時,由所述云計算管理系統(tǒng)釋放從高性能計算資源池申請到的一部分計算節(jié)點,并向待釋放的計算節(jié)點的云計算代理服務模塊發(fā)送第二清理命令以由所述云計算代理服務模塊清理待釋放的計算節(jié)點,然后由所述高性能計算調度系統(tǒng)根據(jù)所述云計算代理服務模塊清理相應的計算節(jié)點后返回的信息將該清理后的計算節(jié)點回收到高性能計算資源池。
[0026]根據(jù)本發(fā)明第二方面的一個實施例中,所述步驟S2進一步包括:
[0027]由所述高性能計算調度系統(tǒng)將所述云計算管理系統(tǒng)發(fā)送的節(jié)點資源申請設置為最高優(yōu)先級,當出現(xiàn)空閑的計算節(jié)點時,鎖定該空閑的計算節(jié)點,并將該空閑的計算節(jié)點信息通知給云計算管理系統(tǒng)。
[0028]根據(jù)本發(fā)明第二方面的一個實施例中,所述步驟S2中由所述云計算代理服務模塊清理該空閑的計算節(jié)點進一步包括:
[0029]結束所有的高性能計算作業(yè)進程;
[0030]卸載高性能計算作業(yè)使用的分布式文件系統(tǒng);
[0031]設置防火墻策略,設置cgroup資源策略,以禁止高性能計算用戶訪問該空閑的計算節(jié)點;
[0032]將該空閑的計算節(jié)點從高性能計算環(huán)境需要的服務切換到云計算環(huán)境需要的服務;
[0033]從云計算管理系統(tǒng)獲取云計算需要使用的分布式文件系統(tǒng)或存儲資源的連接數(shù)據(jù),掛載對應的文件系統(tǒng)或存儲資源,并將連接信息反饋給云計算管理系統(tǒng);
[0034]創(chuàng)建虛擬交換機,并將該虛擬交換機信息返回給