云計(jì)算管理系統(tǒng)。
[0035]根據(jù)本發(fā)明第二方面的一個(gè)實(shí)施例中,所述步驟S2中通過(guò)判斷當(dāng)前云計(jì)算資源池中的剩余資源是否小于預(yù)設(shè)的資源剩余量閾值或判斷當(dāng)前云計(jì)算資源池中的剩余資源是否滿足資源申請(qǐng)需求來(lái)監(jiān)控資源是否不足。
[0036]根據(jù)本發(fā)明第二方面的一個(gè)實(shí)施例中,所述步驟S3中由所述云計(jì)算代理服務(wù)模塊清理待釋放的計(jì)算節(jié)點(diǎn)進(jìn)一步包括:
[0037]卸載云計(jì)算使用的分布式文件系統(tǒng)或存儲(chǔ)資源;
[0038]將該計(jì)算節(jié)點(diǎn)從云計(jì)算環(huán)境需要的服務(wù)切換到高性能計(jì)算環(huán)境需要的服務(wù),并在成功后通知云計(jì)算管理系統(tǒng)以便云計(jì)算管理系統(tǒng)將該計(jì)算節(jié)點(diǎn)從云計(jì)算資源池中刪除;
[0039]掛載高性能計(jì)算需要的分布式文件系統(tǒng);
[0040]設(shè)置防火墻和cgroup資源策略,以允許高性能計(jì)算用戶訪問(wèn)該計(jì)算節(jié)點(diǎn);
[0041]返回相應(yīng)的信息給高性能計(jì)算調(diào)度系統(tǒng)以將該計(jì)算節(jié)點(diǎn)回收到高性能計(jì)算資源池中。
[0042]根據(jù)本發(fā)明第二方面的一個(gè)實(shí)施例中,所述步驟S3中由所述云計(jì)算管理系統(tǒng)釋放從高性能計(jì)算資源池申請(qǐng)到的一部分計(jì)算節(jié)點(diǎn)進(jìn)一步包括:
[0043]由所述云計(jì)算管理系統(tǒng)通過(guò)統(tǒng)計(jì)云計(jì)算資源池中的剩余資源來(lái)確定可以釋放的計(jì)算節(jié)點(diǎn)數(shù)量,并在完全空閑的計(jì)算節(jié)點(diǎn)的數(shù)量不夠時(shí),將只有少量虛擬機(jī)在運(yùn)行的計(jì)算節(jié)點(diǎn)中的虛擬機(jī)迀出,直到有足夠數(shù)量的空閑計(jì)算節(jié)點(diǎn)。
[0044]本發(fā)明的高性能計(jì)算與云計(jì)算混合計(jì)算系統(tǒng)及其資源管理方法,可以在高性能計(jì)算資源閑置時(shí),將閑置的高性能計(jì)算資源進(jìn)行相應(yīng)管理設(shè)置,加入到云計(jì)算資源池中,以滿足云計(jì)算資源池的業(yè)務(wù)應(yīng)用,并可以在云計(jì)算資源冗余時(shí)將加入云計(jì)算資源池的計(jì)算節(jié)點(diǎn)釋放出來(lái),由高性能計(jì)算資源池回收,從而避免資源閑置,提高資源利用率。本發(fā)明的混合計(jì)算系統(tǒng)結(jié)合高性能計(jì)算的應(yīng)用特點(diǎn)和云計(jì)算平臺(tái)的優(yōu)勢(shì),通過(guò)虛擬化技術(shù)和自動(dòng)化技術(shù),同時(shí)支持物理機(jī)和虛擬機(jī)環(huán)境,實(shí)現(xiàn)硬件資源的統(tǒng)一管理、統(tǒng)一分配、統(tǒng)一部署、統(tǒng)一監(jiān)控,打破單個(gè)業(yè)務(wù)對(duì)資源的獨(dú)占,提供動(dòng)態(tài)的計(jì)算服務(wù)平臺(tái)。
【附圖說(shuō)明】
[0045]下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,附圖中:
[0046]圖1是本發(fā)明一個(gè)實(shí)施例的高性能計(jì)算與云計(jì)算混合計(jì)算系統(tǒng)的初始狀態(tài)結(jié)構(gòu)示意圖;
[0047]圖2是圖1所示的高性能計(jì)算與云計(jì)算混合計(jì)算系統(tǒng)進(jìn)行資源調(diào)度后的結(jié)構(gòu)示意圖;
[0048]圖3是本發(fā)明一個(gè)實(shí)施例的高性能計(jì)算與云計(jì)算混合計(jì)算系統(tǒng)的資源管理方法的流程圖;
[0049]圖4是本發(fā)明另一具體實(shí)施例的高性能計(jì)算與云計(jì)算混合計(jì)算系統(tǒng)的資源管理方法的流程圖。
【具體實(shí)施方式】
[0050]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0051]現(xiàn)在的超級(jí)計(jì)算中心都會(huì)根據(jù)業(yè)務(wù)需求將整個(gè)計(jì)算資源池直接劃分為兩個(gè)大的分區(qū):高性能計(jì)算分區(qū)和云計(jì)算分區(qū),分別應(yīng)對(duì)高性能和云計(jì)算業(yè)務(wù)。對(duì)于高性能計(jì)算,其資源一般相對(duì)固定,通常通過(guò)資源的合理調(diào)度提高資源的利用率。在一個(gè)高性能計(jì)算集群中,所有的計(jì)算節(jié)點(diǎn)使用linux,并由高性能計(jì)算調(diào)度系統(tǒng)統(tǒng)一管理,每個(gè)計(jì)算節(jié)點(diǎn)都可以掛載分布式文件系統(tǒng)。而對(duì)于云計(jì)算,所有計(jì)算節(jié)點(diǎn)部署虛擬化Hypervisor,所有Hypervisor由云計(jì)算管理系統(tǒng)統(tǒng)一管理。Hypervisor是一種運(yùn)行在物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個(gè)操作系統(tǒng)和應(yīng)用共享一套基礎(chǔ)物理硬件,因此也可以看作是虛擬環(huán)境中的“元”操作系統(tǒng),它可以協(xié)調(diào)訪問(wèn)服務(wù)器上的所有物理設(shè)備和虛擬機(jī),也叫虛擬機(jī)監(jiān)視器(Virtual Machine Monitor)。Hypervisor是所有虛擬化技術(shù)的核心。非中斷地支持多工作負(fù)載迀移的能力是Hypervisor的基本功能。當(dāng)服務(wù)器啟動(dòng)并執(zhí)行Hypervisor時(shí),它會(huì)給每一臺(tái)虛擬機(jī)分配適量的內(nèi)存、CPU、網(wǎng)絡(luò)和磁盤(pán),并加載所有虛擬機(jī)的客戶操作系統(tǒng)。
[0052]當(dāng)整個(gè)計(jì)算資源池存在高性能計(jì)算分區(qū)和云計(jì)算分區(qū)這種物理劃分時(shí),只要兩者的業(yè)務(wù)量不均衡,都會(huì)造成資源的閑置。因此,本發(fā)明提出可以將閑置的高性能計(jì)算資源加入到云計(jì)算資源池中以滿足云計(jì)算業(yè)務(wù)應(yīng)用的混合計(jì)算系統(tǒng)。
[0053]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的高性能計(jì)算與云計(jì)算混合計(jì)算系統(tǒng)100的初始狀態(tài)結(jié)構(gòu)示意圖。如圖1所示,該混合計(jì)算系統(tǒng)100包括高性能計(jì)算資源池110和云計(jì)算資源池120。高性能計(jì)算資源池110進(jìn)一步包括高性能計(jì)算調(diào)度系統(tǒng)111和由其管理的多個(gè)計(jì)算節(jié)點(diǎn)112。云計(jì)算資源池120包括云計(jì)算管理系統(tǒng)121和由其管理的多個(gè)計(jì)算節(jié)點(diǎn)122。為了使高性能計(jì)算資源池110中空閑的計(jì)算節(jié)點(diǎn)112能夠加入云計(jì)算資源池120中以滿足云計(jì)算業(yè)務(wù)應(yīng)用,本申請(qǐng)?jiān)诟咝阅苡?jì)算資源池110中的每一計(jì)算節(jié)點(diǎn)112內(nèi)設(shè)置云計(jì)算代理服務(wù)模塊1121,以便能夠接收云計(jì)算管理系統(tǒng)121發(fā)來(lái)的部署操作命令。每個(gè)云計(jì)算代理服務(wù)模塊1121同時(shí)與高性能計(jì)算調(diào)度系統(tǒng)111和云計(jì)算管理系統(tǒng)121連接,例如同時(shí)通過(guò)高性能計(jì)算調(diào)度系統(tǒng)111的API (Applicat1n Programming Interface,應(yīng)用程序編程接口 )和云計(jì)算管理系統(tǒng)121的API進(jìn)行通信連接。
[0054]高性能計(jì)算調(diào)度系統(tǒng)111使用cgroup對(duì)高性能計(jì)算用戶的作業(yè)嚴(yán)格控制資源使用。cgroups是Linux內(nèi)核提供的一種可以限制、記錄、隔離進(jìn)程組(process groups)所使用物理資源(如cpu,memory, 1等等)的機(jī)制。為了使高性能計(jì)算資源池110中空閑的計(jì)算節(jié)點(diǎn)112能夠加入云計(jì)算資源池120,高性能計(jì)算使用的Linux操作系統(tǒng)(比如CentOS, SLES, Ubuntu)必須能支持云計(jì)算資源池120的Hypervisor。Linux操作系統(tǒng)主流的Hypervisor有KVM和Xen,本申請(qǐng)優(yōu)選KVM作為Hypervisor。KVM和xen的最大區(qū)別在于架構(gòu)的不同,KVM直接構(gòu)建在Linux kernel之上,把Linux kernel變成Hypervisor,利用kernel已有的功能開(kāi)發(fā)KVM所需的功能。Xen的Hypervisor則是從零開(kāi)始構(gòu)建,對(duì)硬件資源的調(diào)度管理、虛擬機(jī)的管理,還有很多接口與Linux kernel不兼容,需對(duì)Linux kernel進(jìn)行修改,這樣的操作系統(tǒng)不是很適合用于做高性能計(jì)算。
[0055]圖1所示的混合計(jì)算系統(tǒng)100中,當(dāng)云計(jì)算資源池120的云計(jì)算管理系統(tǒng)121監(jiān)控到云計(jì)算資源不足(例如當(dāng)前云計(jì)算資源池中的剩余資源小于預(yù)設(shè)的資源剩余量閾值或當(dāng)前云計(jì)算資源池中的剩余資源不足以滿足資源申請(qǐng)需求)時(shí),向高性能計(jì)算資源池110的高性能計(jì)算調(diào)度系統(tǒng)111發(fā)送節(jié)點(diǎn)資源申請(qǐng)。云計(jì)算管理系統(tǒng)121可以調(diào)用高性能計(jì)算調(diào)度系統(tǒng)111的API以普通作業(yè)形式申請(qǐng)節(jié)點(diǎn)資源。高性能計(jì)算調(diào)度系統(tǒng)111基于該節(jié)點(diǎn)資源申請(qǐng)調(diào)度空閑的計(jì)算節(jié)點(diǎn)112給云計(jì)算管理系統(tǒng)121。例如,高性能計(jì)算調(diào)度系統(tǒng)111可將該節(jié)點(diǎn)資源申請(qǐng)?jiān)O(shè)置為最高優(yōu)先級(jí),當(dāng)出現(xiàn)空閑的計(jì)算節(jié)點(diǎn)112后,高性能計(jì)算調(diào)度系統(tǒng)111鎖定該空閑的計(jì)算節(jié)點(diǎn)112,并將該空閑的計(jì)算節(jié)點(diǎn)信息通知給云計(jì)算管理系統(tǒng)121。云計(jì)算管理系統(tǒng)121根據(jù)高性能計(jì)算調(diào)度系統(tǒng)111通知的空閑的計(jì)算節(jié)點(diǎn)信息向空閑的