專利名稱:一種桌面云集群使用的分布式資源調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種資源調(diào)度方法,特別涉及一種用于大型分布式虛擬化集群的運(yùn)營與資源調(diào)度(即云計(jì)算中的IaaS領(lǐng)域)的桌面云集群使用的分布式資源調(diào)度方法。
背景技術(shù):
任何一個(gè)成熟的、沒有資源泄露且能夠持久穩(wěn)定運(yùn)行的IaaS系統(tǒng)都需要一套能夠確保集群的資源精確、有效調(diào)度的資源調(diào)度方法,該資源調(diào)度方法的調(diào)度結(jié)果直接決定了整個(gè)集群的整體資源利用率、資源使用精度(有無資源泄露)、任務(wù)吞吐率與執(zhí)行效率,是分布式集群運(yùn)營調(diào)度系統(tǒng)的核心。目前市場(chǎng)上云計(jì)算領(lǐng)域的虛級(jí)化集群運(yùn)營系統(tǒng)大多在決定集群的動(dòng)態(tài)資源調(diào)度 和任務(wù)分配方面存在嚴(yán)重的不足與缺陷(如圖I所示),主要表現(xiàn)在以下幾個(gè)方面(I)缺少資源的量化模型,無法將資源管控的指標(biāo)量化,因而無法根據(jù)集群的資源負(fù)載數(shù)據(jù)執(zhí)行精確的任務(wù)調(diào)度;(2)任務(wù)調(diào)度時(shí)無法將集群中執(zhí)行節(jié)點(diǎn)的資源負(fù)載狀況量化并納入分配決策,通常僅僅是簡(jiǎn)單地隨機(jī)挑選一個(gè)狀態(tài)“健康”的物理服務(wù)器作為當(dāng)前虛擬機(jī)操作任務(wù)的執(zhí)行節(jié)點(diǎn),但在實(shí)際任務(wù)執(zhí)行時(shí)又往往會(huì)因“資源不足”等原因?qū)е氯蝿?wù)執(zhí)行失??;(3)無法提前預(yù)測(cè)集群中每一臺(tái)物理服務(wù)器乃至整個(gè)集群的“資源負(fù)載”以及“資源臨界點(diǎn)”,也就無法提前做出為處于資源臨界狀態(tài)的物理服務(wù)器增加內(nèi)存、硬盤甚至為集群動(dòng)態(tài)增加物理服務(wù)器等主動(dòng)擴(kuò)容措施,當(dāng)“資源臨界點(diǎn)”到來時(shí)只能無奈地因?yàn)椤百Y源不足”等錯(cuò)誤而被動(dòng)地“停機(jī)”擴(kuò)容,從而無法保證整個(gè)集群系統(tǒng)持久地運(yùn)行。由于以上問題的存在導(dǎo)致目前常見的云計(jì)算IaaS系統(tǒng)大都停留在粗狂和開環(huán)運(yùn)行的狀態(tài),無法提供一致性的集群瞬時(shí)資源視圖或快照,因而無法施行任何有效的前瞻性資源預(yù)測(cè)及閉環(huán)控制,無法有效防止資源泄露及執(zhí)行必要的資源動(dòng)態(tài)加注,上線后頻繁因“資源不足”、“資源泄露”等問題整體宕機(jī)補(bǔ)救,無法為客戶提供持久良好的商業(yè)服務(wù),達(dá)不到商業(yè)運(yùn)行的等級(jí)。因此,特別需要一種桌面云集群使用的分布式資源調(diào)度方法,用以解決上述現(xiàn)有存在的問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種桌面云集群使用的分布式資源調(diào)度方法,針對(duì)上述現(xiàn)有的技術(shù)存在的缺陷,一舉解決之前在集群運(yùn)營調(diào)度中缺少資源調(diào)度手段所帶來的種種弊端,維持集群運(yùn)行過程中的資源動(dòng)態(tài)平衡和持久運(yùn)行。本發(fā)明所解決的技術(shù)問題可以采用以下技術(shù)方案來實(shí)現(xiàn)一種桌面云集群使用的分布式資源調(diào)度方法,其特征在于,它包括如下步驟(I)集群?jiǎn)?dòng),順序啟動(dòng)構(gòu)成集群的物理主機(jī);(2)將每一臺(tái)物理主機(jī)的配置參數(shù)進(jìn)行資源換算,得到每臺(tái)物理主機(jī)最大可分配的虛擬處理器、虛擬內(nèi)存和虛擬本地存儲(chǔ)等資源數(shù)據(jù);(3)對(duì)物理主機(jī)執(zhí)行資源注冊(cè),將物理主機(jī)換算得到的最大可分配的虛擬處理器、虛擬內(nèi)存和虛擬本地存儲(chǔ)等資源數(shù)據(jù)注冊(cè)至集群資源中心的資源載荷表中,作為接下來資源調(diào)度的基礎(chǔ)數(shù)據(jù);(4)運(yùn)營系統(tǒng)在運(yùn)行時(shí)接受客戶請(qǐng)求向集群資源調(diào)度引擎發(fā)出創(chuàng)建虛擬機(jī)任務(wù);(5)資源調(diào)度引擎通過集群資源中心的資源載荷表向集群資源中心請(qǐng)求資源快照,取得集群的瞬時(shí)資源視圖,作為接下來資源調(diào)度的依據(jù);(6)資源調(diào)度引擎裝入集群當(dāng)前資源調(diào)度策略,并根據(jù)得到的集群的瞬時(shí)資源視圖執(zhí)行資源調(diào)度,計(jì)算出全部集群的物理主機(jī)中最具備任務(wù)執(zhí)行資格的目標(biāo)任務(wù)執(zhí)行節(jié) 占.(7)資源調(diào)度引擎對(duì)得到的目標(biāo)任務(wù)執(zhí)行節(jié)點(diǎn)執(zhí)行資源凍結(jié);(8)被選中的目標(biāo)任務(wù)執(zhí)行節(jié)點(diǎn)開始執(zhí)行創(chuàng)建虛擬機(jī)任務(wù);(9)判斷目標(biāo)任務(wù)執(zhí)行節(jié)點(diǎn)創(chuàng)建虛擬機(jī)任務(wù)的最終執(zhí)行結(jié)果,如果任務(wù)執(zhí)行成功,則進(jìn)入步驟(10);如果任務(wù)執(zhí)行失敗,則執(zhí)行步驟(11);(10)任務(wù)執(zhí)行成功時(shí),提交凍結(jié)的資源,將最終消耗的資源數(shù)據(jù)同步至集群資源中心的資源載荷表,更新資源載荷表中保存的資源數(shù)據(jù);(11)任務(wù)執(zhí)行失敗時(shí),回滾之前凍結(jié)的資源,使被任務(wù)凍結(jié)的資源及時(shí)得到釋放。在本發(fā)明的一個(gè)實(shí)施例中,還包括步驟(12),集群的管理控制臺(tái)以定期巡檢的方式檢查集群資源中心的資源載荷表,定期對(duì)整個(gè)集群進(jìn)行資源預(yù)測(cè)。進(jìn)一步,所述資源預(yù)測(cè)的依據(jù)是集群及其下各物理主機(jī)節(jié)點(diǎn)的及時(shí)資源數(shù)據(jù)距離資源臨界點(diǎn)的距離。在本發(fā)明的一個(gè)實(shí)施例中,還包括步驟(13),管理控制臺(tái)執(zhí)行資源臨界檢查,如果已接近資源臨界點(diǎn),則發(fā)出動(dòng)態(tài)資源注入指令;如果尚未接近資源臨界點(diǎn),則不處理。進(jìn)一步,管理控制臺(tái)發(fā)出的動(dòng)態(tài)資源注入指令將被集群視現(xiàn)場(chǎng)情況靈活處理,SP向資源值逼近資源臨界點(diǎn)的物理主機(jī)加掛物理資源或者向集群動(dòng)態(tài)添加新的物理資源。再進(jìn)一步,所述物理資源包括物理處理器、物理內(nèi)存和物理存儲(chǔ)設(shè)備。再進(jìn)一步,對(duì)于添加的新的物理資源,均需要通過補(bǔ)充資源注冊(cè)向集群資源中心注冊(cè),加入下一輪資源調(diào)度。在本發(fā)明的一個(gè)實(shí)施例中,所述資源調(diào)度策略包括業(yè)務(wù)繁忙時(shí)的隨機(jī)分布策略和業(yè)務(wù)空閑時(shí)的資源聚集策略。在本發(fā)明的一個(gè)實(shí)施例中,所述被凍結(jié)的資源量取決于任務(wù)參數(shù),任務(wù)需要多少就凍結(jié)多少,該部分凍結(jié)的資源將不會(huì)被其他任務(wù)所征用,以確保任務(wù)執(zhí)行時(shí)具備充足的資源。在本發(fā)明的一個(gè)實(shí)施例中,步驟(11)中,釋放的資源數(shù)據(jù)也將同步至集群資源中心的資源載荷表,更新資源載荷表中保存的資源數(shù)據(jù)。本發(fā)明的桌面云集群使用的分布式資源調(diào)度方法,與現(xiàn)有的技術(shù)相比,通過資源量化模型及集群在任意運(yùn)行時(shí)刻的一致性資源視圖,進(jìn)行A.主動(dòng)資源監(jiān)控,防止資源的運(yùn)行時(shí)泄露;B.基于資源快照準(zhǔn)確預(yù)測(cè)集群中單臺(tái)物理服務(wù)器甚至整個(gè)集群的資源消耗情況,提前發(fā)出資源注入預(yù)告,并通過集群動(dòng)態(tài)擴(kuò)容及時(shí)注入資源,實(shí)現(xiàn)集群的不停機(jī)持久運(yùn)行;C.根據(jù)集群的資源快照明確資源在整個(gè)集群中的分布情況,據(jù)此實(shí)行不同的資源調(diào)度策略,一舉解決之前在集群運(yùn)營調(diào)度中缺少資源調(diào)度手段所帶來的種種弊端,維持集群運(yùn)行過程中的資源動(dòng)態(tài)平衡和持久運(yùn)行,實(shí)現(xiàn)本發(fā)明的目的。本發(fā)明的特點(diǎn)可參閱本案圖式及以下較好實(shí)施方式的詳細(xì)說明而獲得清楚地了解。
圖I為現(xiàn)有的云計(jì)算領(lǐng)域常見的IaaS集群運(yùn)營系統(tǒng)的資源調(diào)度方法的流程示意圖;圖2為本發(fā)明的桌面云集群使用的分布式資源調(diào)度方法的流程示意圖。
具體實(shí)施方式
為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié)合具體圖示,進(jìn)一步闡述本發(fā)明。如圖2所示,本發(fā)明的桌面云集群使用的分布式資源調(diào)度方法,它包括如下步驟(I)集群?jiǎn)?dòng),順序啟動(dòng)構(gòu)成集群的物理主機(jī);(2)將每一臺(tái)物理主機(jī)的配置參數(shù)進(jìn)行資源換算,得到每臺(tái)物理主機(jī)最大可分配的虛擬處理器、虛擬內(nèi)存和虛擬本地存儲(chǔ)等資源數(shù)據(jù);(3)對(duì)物理主機(jī)執(zhí)行資源注冊(cè),將物理主機(jī)換算得到的最大可分配的虛擬處理器、虛擬內(nèi)存和虛擬本地存儲(chǔ)等資源數(shù)據(jù)注冊(cè)至集群資源中心的資源載荷表中,作為接下來資源調(diào)度的基礎(chǔ)數(shù)據(jù);(4)運(yùn)營系統(tǒng)在運(yùn)行時(shí)接受客戶請(qǐng)求向集群資源調(diào)度引擎發(fā)出創(chuàng)建虛擬機(jī)任務(wù);(5)資源調(diào)度引擎通過集群資源中心的資源載荷表向集群資源中心請(qǐng)求資源快照,取得集群的瞬時(shí)資源視圖,作為接下來資源調(diào)度的依據(jù);(6)資源調(diào)度引擎裝入集群當(dāng)前資源調(diào)度策略,并根據(jù)得到的集群的瞬時(shí)資源視圖執(zhí)行資源調(diào)度,計(jì)算出全部集群的物理主機(jī)中最具備任務(wù)執(zhí)行資格的目標(biāo)任務(wù)執(zhí)行節(jié)占.(7)資源調(diào)度引擎對(duì)得到的目標(biāo)任務(wù)執(zhí)行節(jié)點(diǎn)執(zhí)行資源凍結(jié);(8)被選中的目標(biāo)任務(wù)執(zhí)行節(jié)點(diǎn)開始執(zhí)行創(chuàng)建虛擬機(jī)任務(wù);(9)判斷目標(biāo)任務(wù)執(zhí)行節(jié)點(diǎn)創(chuàng)建虛擬機(jī)任務(wù)的最終執(zhí)行結(jié)果,如果任務(wù)執(zhí)行成功,則進(jìn)入步驟(10);如果任務(wù)執(zhí)行失敗,則執(zhí)行步驟(11);(10)任務(wù)執(zhí)行成功時(shí),提交凍結(jié)的資源,將最終消耗的資源數(shù)據(jù)同步至集群資源中心的資源載荷表,更新資源載荷表中保存的資源數(shù)據(jù);(11)任務(wù)執(zhí)行失敗時(shí),回滾之前凍結(jié)的資源,使被任務(wù)凍結(jié)的資源及時(shí)得到釋放。在本發(fā)明中,還包括步驟(12),集群的管理控制臺(tái)以定期巡檢的方式檢查集群資源中心的資源載荷表,定期對(duì)整個(gè)集群進(jìn)行資源預(yù)測(cè)。所述資源預(yù)測(cè)的依據(jù)是集群及其下各物理主機(jī)節(jié)點(diǎn)的及時(shí)資源數(shù)據(jù)距離資源臨界點(diǎn)的距離。在本發(fā)明中,還包括步驟(13),管理控制臺(tái)執(zhí)行資源臨界檢查,如果已接近資源臨界點(diǎn),則發(fā)出動(dòng)態(tài)資源注入指令;如果尚未接近資源臨界點(diǎn),則不處理。管理控制臺(tái)發(fā)出的動(dòng)態(tài)資源注入指令將被集群視現(xiàn)場(chǎng)情況靈活處理,即向資源值逼近資源臨界點(diǎn)的物理主機(jī)加掛物理資源或者向集群動(dòng)態(tài)添加新的物理資源;以達(dá)到緩解集群資源短缺的目的,幫助集群在不停機(jī)的前提下基于資源預(yù)測(cè)及必要的資源動(dòng)態(tài)加注手段度過業(yè)務(wù)高峰期。 所述物理資源包括物理處理器、物理內(nèi)存和物理存儲(chǔ)設(shè)備。對(duì)于添加的新的物理資源,均需要通過補(bǔ)充資源注冊(cè)向集群資源中心注冊(cè),加入下一輪資源調(diào)度。在本發(fā)明中,所述資源調(diào)度策略包括業(yè)務(wù)繁忙時(shí)的隨機(jī)分布策略和業(yè)務(wù)空閑時(shí)的資源聚集策略隨機(jī)分布策略即任務(wù)盡可能廣地分布在具備資源執(zhí)行任務(wù)的物理主機(jī),以提供盡可能高的集群吞吐能力,這在業(yè)務(wù)繁忙時(shí)段是非常有效的。資源匯聚策略即任務(wù)盡可能集中地落在同一臺(tái)物理主機(jī)上執(zhí)行,盡可能地空閑出其余的物理主機(jī)并讓其進(jìn)入休眠,從而盡可能減少集群的整體能耗。在本發(fā)明中,所述被凍結(jié)的資源量取決于任務(wù)參數(shù),任務(wù)需要多少就凍結(jié)多少,該部分凍結(jié)的資源將不會(huì)被其他任務(wù)所征用,以確保任務(wù)執(zhí)行時(shí)具備充足的資源。在本發(fā)明中,步驟(11)中,釋放的資源數(shù)據(jù)也將同步至集群資源中心的資源載荷表,更新資源載荷表中保存的資源數(shù)據(jù)。以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi),本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。
權(quán)利要求
1.一種桌面云集群使用的分布式資源調(diào)度方法,其特征在于,它包括如下步驟 (1)集群?jiǎn)?dòng),順序啟動(dòng)構(gòu)成集群的物理主機(jī); (2)將每一臺(tái)物理主機(jī)的配置參數(shù)進(jìn)行資源換算,得到每臺(tái)物理主機(jī)最大可分配的虛擬處理器、虛擬內(nèi)存和虛擬本地存儲(chǔ)等資源數(shù)據(jù); (3)對(duì)物理主機(jī)執(zhí)行資源注冊(cè),將物理主機(jī)換算得到的最大可分配的虛擬處理器、虛擬內(nèi)存和虛擬本地存儲(chǔ)等資源數(shù)據(jù)注冊(cè)至集群資源中心的資源載荷表中,作為接下來資源調(diào)度的基礎(chǔ)數(shù)據(jù); (4)運(yùn)營系統(tǒng)在運(yùn)行時(shí)接受客戶請(qǐng)求向集群資源調(diào)度引擎發(fā)出創(chuàng)建虛擬機(jī)任務(wù); (5)資源調(diào)度引擎通過集群資源中心的資源載荷表向集群資源中心請(qǐng)求資源快照,取得集群的瞬時(shí)資源視圖,作為接下來資源調(diào)度的依據(jù); (6)資源調(diào)度引擎裝入集群當(dāng)前資源調(diào)度策略,并根據(jù)得到的集群的瞬時(shí)資源視圖執(zhí)行資源調(diào)度,計(jì)算出全部集群的物理主機(jī)中最具備任務(wù)執(zhí)行資格的目標(biāo)任務(wù)執(zhí)行節(jié)點(diǎn); (7)資源調(diào)度引擎對(duì)得到的目標(biāo)任務(wù)執(zhí)行節(jié)點(diǎn)執(zhí)行資源凍結(jié); (8)被選中的目標(biāo)任務(wù)執(zhí)行節(jié)點(diǎn)開始執(zhí)行創(chuàng)建虛擬機(jī)任務(wù); (9)判斷目標(biāo)任務(wù)執(zhí)行節(jié)點(diǎn)創(chuàng)建虛擬機(jī)任務(wù)的最終執(zhí)行結(jié)果,如果任務(wù)執(zhí)行成功,則進(jìn)入步驟(10);如果任務(wù)執(zhí)行失敗,則執(zhí)行步驟(11); (10)任務(wù)執(zhí)行成功時(shí),提交凍結(jié)的資源,將最終消耗的資源數(shù)據(jù)同步至集群資源中心的資源載荷表,更新資源載荷表中保存的資源數(shù)據(jù); (11)任務(wù)執(zhí)行失敗時(shí),回滾之前凍結(jié)的資源,使被任務(wù)凍結(jié)的資源及時(shí)得到釋放。
2.如權(quán)利要求I所述的桌面云集群使用的分布式資源調(diào)度方法,其特征在于,還包括步驟(12),集群的管理控制臺(tái)以定期巡檢的方式檢查集群資源中心的資源載荷表,定期對(duì)整個(gè)集群進(jìn)行資源預(yù)測(cè)。
3.如權(quán)利要求2所述的桌面云集群使用的分布式資源調(diào)度方法,其特征在于,所述資源預(yù)測(cè)的依據(jù)是集群及其下各物理主機(jī)節(jié)點(diǎn)的及時(shí)資源數(shù)據(jù)距離資源臨界點(diǎn)的距離。
4.如權(quán)利要求I所述的桌面云集群使用的分布式資源調(diào)度方法,其特征在于,還包括步驟(13),管理控制臺(tái)執(zhí)行資源臨界檢查,如果已接近資源臨界點(diǎn),則發(fā)出動(dòng)態(tài)資源注入指令;如果尚未接近資源臨界點(diǎn),則不處理。
5.如權(quán)利要求4所述的桌面云集群使用的分布式資源調(diào)度方法,其特征在于,管理控制臺(tái)發(fā)出的動(dòng)態(tài)資源注入指令將被集群視現(xiàn)場(chǎng)情況靈活處理,即向資源值逼近資源臨界點(diǎn)的物理主機(jī)加掛物理資源或者向集群動(dòng)態(tài)添加新的物理資源。
6.如權(quán)利要求5所述的桌面云集群使用的分布式資源調(diào)度方法,其特征在于,所述物理資源包括物理處理器、物理內(nèi)存和物理存儲(chǔ)設(shè)備。
7.如權(quán)利要求5所述的桌面云集群使用的分布式資源調(diào)度方法,其特征在于,對(duì)于添加的新的物理資源,均需要通過補(bǔ)充資源注冊(cè)向集群資源中心注冊(cè),加入下一輪資源調(diào)度。
8.如權(quán)利要求I所述的桌面云集群使用的分布式資源調(diào)度方法,其特征在于,所述資源調(diào)度策略包括業(yè)務(wù)繁忙時(shí)的隨機(jī)分布策略和業(yè)務(wù)空閑時(shí)的資源聚集策略。
9.如權(quán)利要求I所述的桌面云集群使用的分布式資源調(diào)度方法,其特征在于,所述被凍結(jié)的資源量取決于任務(wù)參數(shù),任務(wù)需要多少就凍結(jié)多少,該部分凍結(jié)的資源將不會(huì)被其他任務(wù)所征用,以確保任務(wù)執(zhí)行時(shí)具備充足的資源。
10.如權(quán)利要求I所述的桌面云集群使用的分布式資源調(diào)度方法,其特征在于,步驟(11)中,釋放的資源數(shù)據(jù)也將同步至集群資源中心的資源載荷表,更新資源載荷表中保存的資源數(shù)據(jù)。
全文摘要
本發(fā)明的目的在于公開一種桌面云集群使用的分布式資源調(diào)度方法,與現(xiàn)有的技術(shù)相比,通過資源量化模型及集群在任意運(yùn)行時(shí)刻的一致性資源視圖,進(jìn)行A.主動(dòng)資源監(jiān)控,防止資源的運(yùn)行時(shí)泄露;B.基于資源快照準(zhǔn)確預(yù)測(cè)集群中單臺(tái)物理服務(wù)器甚至整個(gè)集群的資源消耗情況,提前發(fā)出資源注入預(yù)告,并通過集群動(dòng)態(tài)擴(kuò)容及時(shí)注入資源,實(shí)現(xiàn)集群的不停機(jī)持久運(yùn)行;C.根據(jù)集群的資源快照明確資源在整個(gè)集群中的分布情況,據(jù)此實(shí)行不同的資源調(diào)度策略,一舉解決之前在集群運(yùn)營調(diào)度中缺少資源調(diào)度手段所帶來的種種弊端,維持集群運(yùn)行過程中的資源動(dòng)態(tài)平衡和持久運(yùn)行,實(shí)現(xiàn)本發(fā)明的目的。
文檔編號(hào)G06F9/50GK102722413SQ20121015651
公開日2012年10月10日 申請(qǐng)日期2012年5月16日 優(yōu)先權(quán)日2012年5月16日
發(fā)明者萬眾, 俞志堅(jiān), 劉曉軍, 孟孟, 朱澤, 范鵬, 鄭亦梁, 黃永輝 申請(qǐng)人:上海兆民云計(jì)算科技有限公司