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