一種用于云系統(tǒng)的資源調(diào)度方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體說涉及一種用于云系統(tǒng)的資源調(diào)度方法。
【背景技術(shù)】
[0002] 云計(jì)算就是通過互聯(lián)網(wǎng)將分布在不同數(shù)據(jù)中心的計(jì)算,存儲(chǔ)和網(wǎng)絡(luò)等基礎(chǔ)設(shè)施, 以及其上的開發(fā)平臺(tái)、軟件和應(yīng)用等以服務(wù)的形式提供給用戶。由于云計(jì)算具有按需收費(fèi), 節(jié)約成本,充分利用資源等特點(diǎn),使得全球進(jìn)入了云計(jì)算的時(shí)代。
[0003] 云計(jì)算應(yīng)用平臺(tái)的資源分布廣泛并且種類多樣,通常云計(jì)算應(yīng)用平臺(tái)會(huì)根據(jù)用戶 的使用需求將資源合理的分配給用戶,使得整個(gè)云計(jì)算應(yīng)用平臺(tái)負(fù)載均衡。但是在正常使 用云計(jì)算的過程中,使用者的使用需求往往是實(shí)時(shí)變化的。隨著使用云計(jì)算的用戶不斷增 多,面對(duì)海量的用戶的需求的實(shí)時(shí)變化,云計(jì)算應(yīng)用平臺(tái)的負(fù)載會(huì)出現(xiàn)不均衡的狀態(tài),從而 造成資源浪費(fèi)。并且負(fù)載不均衡也會(huì)導(dǎo)致局部負(fù)載過載的情況發(fā)生。
[0004] 為了解決負(fù)載不均衡的問題,需要根據(jù)云計(jì)算平臺(tái)的實(shí)際使用情況對(duì)資源進(jìn)行調(diào) 度。目前云計(jì)算平臺(tái)的資源調(diào)度問題,通常是通過監(jiān)測負(fù)載均衡日志和檢測響應(yīng)時(shí)間來實(shí) 現(xiàn)的。其資源管理算法考慮的情況相對(duì)簡單,而且存在較多的負(fù)載,性能,服務(wù)質(zhì)量等方面 的問題。另外,資源調(diào)度會(huì)產(chǎn)生迀移代價(jià),不合理的資源調(diào)度方法不僅不能很好的解決負(fù)載 不均衡的問題而且會(huì)生成過高的迀移代價(jià)。
[0005]以在開源的軟件基礎(chǔ)結(jié)構(gòu)(ElasticUtilityComputingArchitecturefor LinkingYourProgramsToUsefulSystems,Eucalyptus)上實(shí)現(xiàn)的云平臺(tái)為例。 Eucalyptus平臺(tái)采用三種獨(dú)立的調(diào)度算法去解決,分別是:
[0006] (1)greedy算法:優(yōu)點(diǎn)是簡單,直接但是容易過載。
[0007] (2)roundrobin算法:優(yōu)點(diǎn)是負(fù)載均衡了但是能源消耗高。
[0008] (3)p〇Wersave算法:優(yōu)點(diǎn)是降低了能量消耗但是資源利用率低。
[0009] 針對(duì)負(fù)載均衡、資源利用率高、迀移代價(jià)小等標(biāo)準(zhǔn),不能在一種調(diào)度算法中同時(shí)滿 足這些目標(biāo)。
[0010] 因此,針對(duì)現(xiàn)有云計(jì)算平臺(tái)的資源調(diào)度方法存在的問題,需要一種新的資源調(diào)度 方法以達(dá)到在充分利用資源,實(shí)現(xiàn)負(fù)載均衡的基礎(chǔ)上盡可能的減小迀移代價(jià)的目的。
【發(fā)明內(nèi)容】
[0011] 針對(duì)現(xiàn)有云計(jì)算平臺(tái)的資源調(diào)度方法存在的問題,本發(fā)明提供了一種用于云系統(tǒng) 的資源調(diào)度方法,所述方法包括以下步驟:
[0012] 種群初始化步驟,獲取云系統(tǒng)的資源調(diào)度的備選方案,利用所述備選方案構(gòu)造初 始種群,其中,所述備選方案包含節(jié)點(diǎn)控制器與虛擬機(jī)的分配關(guān)系,每個(gè)所述備選方案對(duì)應(yīng) 所述初始種群中的一個(gè)個(gè)體;
[0013] 構(gòu)造適應(yīng)度函數(shù)步驟,針對(duì)所述資源調(diào)度的具體需求構(gòu)造總適應(yīng)度函數(shù);
[0014] 種群篩選步驟,利用所述總適應(yīng)度函數(shù)對(duì)所述初始種群中的個(gè)體進(jìn)行篩選從而獲 取適應(yīng)個(gè)體;
[0015] 資源調(diào)度步驟,根據(jù)所述適應(yīng)個(gè)體對(duì)應(yīng)的所述備選方案對(duì)所述虛擬機(jī)以及所述節(jié) 點(diǎn)控制器進(jìn)行資源調(diào)度。
[0016] 在一實(shí)施例中,所述種群初始化步驟包含建模步驟,對(duì)參與所述資源調(diào)度的資源 對(duì)象進(jìn)行建模,所述資源對(duì)象包括所述節(jié)點(diǎn)控制器、所述虛擬機(jī)、所述云系統(tǒng)的負(fù)載狀況以 及所述資源調(diào)度的迀移代價(jià)。
[0017] 在一實(shí)施例中,在所述建模步驟中,從所述云系統(tǒng)中選擇特定的一個(gè)集群進(jìn)行分 析以獲取分析結(jié)果,根據(jù)所述分析結(jié)果進(jìn)行建模。
[0018] 在一實(shí)施例中,所述種群初始化步驟包含編碼步驟,對(duì)所述備選方案進(jìn)行編碼。
[0019] 在一實(shí)施例中,在所述編碼步驟中,利用數(shù)組進(jìn)行編碼,從而生成表示所述虛擬機(jī) 與所述節(jié)點(diǎn)控制器的分配關(guān)系的關(guān)系數(shù)組。
[0020] 在一實(shí)施例中,在所述種群初始化步驟中,采用輪詢算法獲取所述備選方案。
[0021] 在一實(shí)施例中,在所述種群篩選步驟中,利用輪盤賭的方法進(jìn)行篩選。
[0022] 在一實(shí)施例中,在所述構(gòu)造適應(yīng)度函數(shù)步驟中,根據(jù)所述云系統(tǒng)的負(fù)載狀況以及 所述資源調(diào)度的迀移代價(jià)構(gòu)造所述總適應(yīng)度函數(shù),所述總適應(yīng)度函數(shù)與負(fù)載均衡以及所述 迀移代價(jià)相關(guān)。
[0023] 在一實(shí)施例中,所述構(gòu)造適應(yīng)度函數(shù)步驟包含以下步驟:
[0024] 針對(duì)所述負(fù)載情況以及所述迀移代價(jià)分別構(gòu)造負(fù)載均衡適應(yīng)度函數(shù)以及迀移代 價(jià)適應(yīng)度函數(shù);
[0025] 通過所述負(fù)載均衡適應(yīng)度函數(shù)以及所述迀移代價(jià)適應(yīng)度函數(shù)的權(quán)值的組合獲取 所述總適應(yīng)度函數(shù)。
[0026] 在一實(shí)施例中,所述種群篩選步驟還包含單代篩選步驟、個(gè)體交叉步驟和/或個(gè) 體變異步驟,其中:
[0027] 在所述單代篩選步驟中利用所述總適應(yīng)度函數(shù)對(duì)所述初始種群中的個(gè)體進(jìn)行篩 選以生成第一種群;
[0028] 對(duì)所述第一種群執(zhí)行所述個(gè)體交叉步驟和/或所述個(gè)體變異步驟以生成第二種 群;
[0029] 對(duì)所述第二種群再次執(zhí)行所述單代篩選步驟以更新所述第一種群,并對(duì)更新后的 所述第一種群再次執(zhí)行所述個(gè)體交叉步驟和/或所述個(gè)體變異步驟;
[0030] 重復(fù)執(zhí)行特定次數(shù)的所述單代篩選步驟,最終獲取的更新后的所述第一種群中的 個(gè)體為所述適應(yīng)個(gè)體;
[0031] 在所述個(gè)體交叉步驟中基于遺傳學(xué)算法按照特定的交叉概率隨機(jī)選取所述第一 種群中的兩個(gè)個(gè)體進(jìn)行交叉以產(chǎn)生兩個(gè)新個(gè)體從而豐富所述第一種群進(jìn)而生成所述第二 種群;
[0032] 在所述種群初始化步驟中基于遺傳學(xué)算法按照特定的變異概率隨機(jī)選取所述第 一種群中一個(gè)個(gè)體,對(duì)所述個(gè)體對(duì)應(yīng)的備選方案在可取范圍內(nèi)進(jìn)行隨機(jī)變化從而產(chǎn)生新個(gè) 體以豐富所述第一種群進(jìn)而生成所述第二種群。
[0033] 與現(xiàn)有技術(shù)相比,本發(fā)明的資源調(diào)度方法可以在實(shí)現(xiàn)負(fù)載均衡結(jié)果良好的同時(shí)實(shí) 現(xiàn)較小的迀移代價(jià)。
[0034] 本發(fā)明的其它特征或優(yōu)點(diǎn)將在隨后的說明書中闡述。并且,本發(fā)明的部分特征或 優(yōu)點(diǎn)將通過說明書而變得顯而易見,或者通過實(shí)施本發(fā)明而被了解。本發(fā)明的目的和部分 優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的步驟來實(shí)現(xiàn)或獲得。
【附圖說明】
[0035] 附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí) 施例共同用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
[0036] 圖1是根據(jù)本發(fā)明一實(shí)施例執(zhí)行流程圖;
[0037] 圖2是根據(jù)本發(fā)明一實(shí)施例個(gè)體編碼示意圖;
[0038] 圖3是根據(jù)本發(fā)明一實(shí)施例資源調(diào)度結(jié)果仿真圖。
【具體實(shí)施方式】
[0039] 以下將結(jié)合附圖及實(shí)施例來詳細(xì)說明本發(fā)明的實(shí)施方式,借此本發(fā)明的實(shí)施人員 可以充分理解本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過程并依 據(jù)上述實(shí)現(xiàn)過程具體實(shí)施本發(fā)明。需要說明的是,只要不構(gòu)成沖突,本發(fā)明中的各個(gè)實(shí)施 例以及各實(shí)施例中的各個(gè)特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之 內(nèi)。
[0040] 云計(jì)算就是通過互聯(lián)網(wǎng)將分布在不同數(shù)據(jù)中心的計(jì)算,存儲(chǔ)和網(wǎng)絡(luò)等基礎(chǔ)設(shè)施, 以及其上的開發(fā)平臺(tái)、軟件和應(yīng)用等以服務(wù)的形式提供給用戶。在正常使用云計(jì)算的過程 中,面對(duì)海量的用戶的需求的實(shí)時(shí)變化,云計(jì)算應(yīng)用平臺(tái)的