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