專利名稱:一種基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種虛擬機(jī)遷移方法,尤其是當(dāng)服務(wù)器產(chǎn)生熱點(diǎn)或服務(wù)器負(fù)載過低需時(shí),基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法。
背景技術(shù):
云計(jì)算是一種基于互聯(lián)網(wǎng)的計(jì)算新方式,通過互聯(lián)網(wǎng)上異構(gòu)、自治的服務(wù)為個(gè)人和企業(yè)用戶提供按需即取的計(jì)算。而虛擬化就是云計(jì)算的基石。虛擬化是以某種用戶和應(yīng)用程序都可以很容易從中獲益的方式來表示計(jì)算機(jī)資源的過程,而不是根據(jù)這些資源的實(shí)現(xiàn)、地理位置或物理包裝的專有方式來表示它們。換句話說,它為數(shù)據(jù)、計(jì)算能力、存儲(chǔ)資源以及其他資源提供了一個(gè)邏輯視圖,而不是物理視圖。計(jì)算元件在虛擬的基礎(chǔ)上而不是真實(shí)的基礎(chǔ)上運(yùn)行,虛擬化是一個(gè)為了簡化管理、優(yōu)化資源的解決方案,可以把有限的固定的 資源根據(jù)不同需求進(jìn)行重新規(guī)劃以達(dá)到最大的資源利用率。隨著云計(jì)算的發(fā)展使得企業(yè)和政府等客戶對(duì)海量、高效、經(jīng)濟(jì)的計(jì)算能力的需求的到滿足,其中的關(guān)鍵技術(shù)就是虛擬化,虛擬化帶來了以下好處更細(xì)粒度的資源共享、安全隔離、高可靠性等,一個(gè)數(shù)據(jù)庫中心每一個(gè)物理主機(jī)中可以運(yùn)行多個(gè)虛擬機(jī),這些虛擬機(jī)可以為一個(gè)或多個(gè)客戶提供(computing power, storage, and networks)服務(wù),同時(shí)一個(gè)客戶也可以使用一個(gè)或多臺(tái)虛擬機(jī)提供的資源。因此虛擬化的技術(shù)使得客戶看起來能獲得無限的資源服務(wù)。雖然大部分的云服務(wù)供應(yīng)商(Amazon EC2 Go Grid SaleForce. com)都取得了成功,數(shù)據(jù)中心的服務(wù)器集群越來越龐大,云服務(wù)供應(yīng)商的專注點(diǎn)永遠(yuǎn)都在節(jié)約能耗提高效率,服務(wù)器的能源開銷占據(jù)了數(shù)據(jù)中心整體能耗的大部分份額,能源的消耗往往成為關(guān)注
的最重點(diǎn)。在云計(jì)算中需要考慮如何合理地放置虛擬機(jī)到相應(yīng)結(jié)點(diǎn),在滿足不同應(yīng)用的服務(wù)級(jí)目標(biāo)的同時(shí),實(shí)現(xiàn)資源使用的最優(yōu)化,以達(dá)到節(jié)約能耗目標(biāo)??蓪⑻摂M機(jī)(VirtualMachine簡稱VM)放置描述為向量裝箱問題.裝入的物品是正在運(yùn)行著的虛擬機(jī),虛擬機(jī)所用資源是物品的大小是可變的。箱子是物理結(jié)點(diǎn),箱子容量是結(jié)點(diǎn)資源的使用閾值。資源包括CPU、內(nèi)存、磁盤和網(wǎng)絡(luò)帶寬等。資源的種類數(shù)即向量裝箱問題的維度。設(shè)物理結(jié)點(diǎn)的數(shù)目為M虛擬機(jī)的數(shù)目為N虛擬機(jī)部署到物理結(jié)點(diǎn)的解空間為是一個(gè)類似于裝箱問題的NP-hard問題。需要找到一個(gè)近似優(yōu)化解,這個(gè)最優(yōu)解即服務(wù)器集群能夠在滿足客戶服務(wù)需求和服務(wù)器不產(chǎn)生熱點(diǎn)的前提下對(duì)資源使用最優(yōu)化。
發(fā)明內(nèi)容
本發(fā)明目目的是針對(duì)現(xiàn)有技術(shù)存在的不足,提供一種基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法,當(dāng)服務(wù)器產(chǎn)生熱點(diǎn)或服務(wù)器負(fù)載過低需時(shí),可以通過本方法對(duì)服務(wù)器上虛擬機(jī)進(jìn)行準(zhǔn)確、高效的遷移來促使負(fù)載均衡。為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術(shù)方案為
一種基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法,該方法包括步驟如下(I)通 過熱點(diǎn)檢測方法來找出可能由于資源的缺乏而影響服務(wù)系統(tǒng)運(yùn)行的熱點(diǎn)PM ;(2)考慮遷移開銷、能耗、熱度、系統(tǒng)狀態(tài),選出待遷移VM;(3)通過遺傳算法找出遷移目標(biāo)PM ;(4)虛擬機(jī)遷移。所述的熱點(diǎn)檢測方法是為每種資源設(shè)定閥值,th_Vi表示i中資源的閥值,該閥值表示系統(tǒng)能夠滿足QOS服務(wù)的最高使用率,rSi表示在PM中第i種資源的需求度,Iieati定義為第i種資源的熱度,heatj = 0 when rsj ^ th_VjIieati= ( —) when rsj ^ th_ViPM總熱度為每種i資源的熱度之和iemt麵=)Iieat1
I= I如果是0這表示該P(yáng)M節(jié)點(diǎn)不是熱點(diǎn)服務(wù)器,如果大于0說明該物理節(jié)點(diǎn)是熱點(diǎn)。在保證待遷移VM數(shù)量和遷移時(shí)間較少的前提下,選擇出適合的待遷移的一臺(tái)或幾臺(tái)VM,作為熱點(diǎn)PM中最終的待遷移VM。目標(biāo)PM的選擇條件是目標(biāo)PM的資源沒有達(dá)到最佳狀態(tài),還能通過增加VM或接受VM的遷移來達(dá)到最佳的運(yùn)行狀態(tài)。在考慮內(nèi)存、cpu和網(wǎng)絡(luò)的情況下尋找最優(yōu)的將待遷移虛擬機(jī)遷移到目標(biāo)PM節(jié)點(diǎn)的方案。所述的遺傳算法為模擬生物進(jìn)化機(jī)制來進(jìn)行搜索尋優(yōu),該方法包括步驟如下( I)利用步驟I和步驟2中收集的待遷移VM和目標(biāo)PM節(jié)點(diǎn),隨機(jī)生成一定數(shù)目染色體,染色體即一組來表示映射遷移策略編碼(基因),然后評(píng)價(jià)計(jì)算出遷移后整個(gè)系統(tǒng)的負(fù)載狀態(tài)優(yōu)劣,即染色體對(duì)環(huán)境的適應(yīng)度,用來作為以后遺傳操作根據(jù);(2)選擇過程,從當(dāng)前的染色體(隨機(jī)生成的遷移策略)中選擇出來優(yōu)良染色體(滿足適應(yīng)函數(shù)的遷移策略)成為新一代的染色體,如果染色體適應(yīng)度越高就表示該遷移策略被選擇的機(jī)會(huì)越多;選擇出一個(gè)新的種群后再進(jìn)行交叉操作,就是將兩個(gè)父代染色體基因部分結(jié)構(gòu)加以替換重組產(chǎn)生新個(gè)體的操作,這部分不同于以往遺傳算法的簡單交叉操作,通過交叉操作使得搜索能力得以飛躍提高;(3)變異操作,就是對(duì)個(gè)體染色體某些基因座上的基因值作變動(dòng),目的是挖掘種群中個(gè)體多樣性,客服有可能陷入局部解的弊??;經(jīng)過運(yùn)算后產(chǎn)生的新的遷移策略成為了新后代,對(duì)新的后代種群重復(fù)進(jìn)行選擇、交叉和變異操作,使得子代的遷移策略總比父代好,經(jīng)過給定次數(shù)的迭代處理或達(dá)到適應(yīng)函數(shù)要求后產(chǎn)生出最好的染色體基因作為遷移策略的近似最優(yōu)目標(biāo)解。與背景技術(shù)相比,本發(fā)明的基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法,通過虛擬機(jī)的遷移保持負(fù)載均衡節(jié)能架構(gòu),通過熱點(diǎn)檢測來選擇需要處理的物理服務(wù)器,考慮遷移開銷、能耗、熱度、系統(tǒng)狀態(tài)選擇需要遷移的虛擬機(jī),當(dāng)服務(wù)器產(chǎn)生熱點(diǎn)或服務(wù)器負(fù)載過低需時(shí),通過改進(jìn)后的遺傳算法找尋出遷移目標(biāo)物理服務(wù)器,對(duì)服務(wù)器上虛擬機(jī)進(jìn)行準(zhǔn)確、高效的遷移來促使負(fù)載均衡,來達(dá)到滿足客戶服務(wù)需求和最優(yōu)資源利用率的目標(biāo)。
圖I系統(tǒng)的架構(gòu)圖。圖2虛擬機(jī)遷移過程圖。圖3交叉操作圖。
圖4虛擬機(jī)遷移流程圖。圖5遺傳算法圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面通過足夠詳細(xì)的描述實(shí)施示例來對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)說明。請(qǐng)參閱圖I,這是本發(fā)明實(shí)例所提供系統(tǒng)的架構(gòu),圖中顯示了 VM (VirtualMachine^PPM (Physical Machine)的關(guān)系,系統(tǒng)中的 PM 集合設(shè)為 PM= PM= (PM1, PM2, PMfPMJ,N是PM的數(shù)量,我們將每個(gè)中的虛擬機(jī)集合設(shè)為Vi= {Vn, Vi2, Vi3-ViJ,m表示該P(yáng)M中的第m個(gè)VM。每一個(gè)VM的狀態(tài)集合設(shè)置為{VMmem, VMnet, VMepJ ,用一個(gè)controller server服務(wù)器來收集分析每個(gè)PM以及其中運(yùn)行VM狀態(tài)信息,用于檢測熱點(diǎn)PM分析出那臺(tái)或是那幾臺(tái)虛擬機(jī)造成熱點(diǎn),在通過基于遺傳算法的VM遷移調(diào)度算法找出每臺(tái)需要遷移的虛擬機(jī)的遷移目標(biāo)。如圖2所示,一種基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法,該方法包括步驟如下(I)通過熱點(diǎn)檢測方法來找出可能由于資源的缺乏而影響服務(wù)系統(tǒng)運(yùn)行的熱點(diǎn)PM ;(2)考慮遷移開銷、能耗、熱度、系統(tǒng)狀態(tài),選出待遷移VM ;(3)通過遺傳算法找出遷移目標(biāo)PM ;(4)虛擬機(jī)遷移。所述的熱點(diǎn)檢測方法是為每種資源設(shè)定閥值,th_Vi表示i中資源的閥值,該閥值表示系統(tǒng)能夠滿足QOS服務(wù)的最高使用率,rSi表示在PM中第i種資源的需求度,Iieati定義為第i種資源的熱度Iieati = 0 when Tsi ^ th—ViIieat1=(
::十5手丄i) when rs, ^ th V1-PM總熱度為每種i資源的熱度之和
3bsatm = y heat,如果是0這表示該P(yáng)M節(jié)點(diǎn)不是熱點(diǎn)服務(wù)器,如果大于0說明該物理節(jié)點(diǎn)是熱點(diǎn)。如圖3所示,這是本發(fā)明的虛擬機(jī)遷移過程圖,首先控制服務(wù)器(ControllerServer)通過監(jiān)控器(Monitors)查找出可能由于資源的缺乏而影響服務(wù)系統(tǒng)運(yùn)行的熱點(diǎn)PM (physical machines),如果出現(xiàn)熱點(diǎn)PM就表示該P(yáng)M不能及時(shí)根據(jù)應(yīng)用、服務(wù)負(fù)載的變化為其所在的虛擬機(jī)及時(shí)、有效的分配虛擬化環(huán)境中的資源,可能由于資源的缺乏而影響服務(wù)系統(tǒng)的運(yùn)行。在找尋出熱點(diǎn)PM節(jié)點(diǎn)之后,需要通過虛擬機(jī)的遷移操作來將PM的熱度降低到設(shè)定的閥值以下,在保證帶遷移VM數(shù)量和遷移時(shí)間時(shí)間較少的前提下,選擇出適合的待遷移的一臺(tái)或幾臺(tái)VM。在選出熱點(diǎn)PM中的待遷移VM后,Controller Server指定待遷移VM為遷移目標(biāo)。對(duì)于適合于不同虛擬機(jī)的遷移目標(biāo)PM,備選目標(biāo)PM的選擇條件是目標(biāo)PM的資源沒有達(dá)到最佳狀態(tài),還能通過增加VM或接受VM的遷移來達(dá)到最佳的運(yùn)行狀態(tài)。然后將這些選定的待遷移VM遷移到適當(dāng)?shù)哪繕?biāo)PM中,在考慮內(nèi)存、cpu、網(wǎng)絡(luò)的情況下尋找最優(yōu)的將待遷移VM遷移到目標(biāo)PM節(jié)點(diǎn)的方案。如圖4和圖5所示,所述的遺傳算法為模擬生物進(jìn)化機(jī)制來進(jìn)行搜索尋優(yōu),該方法 包括步驟如下(I)利用步驟I和步驟2中收集的待遷移VM和目標(biāo)PM節(jié)點(diǎn),隨機(jī)生成一定數(shù)目染色體,染色體即一組來表示映射遷移策略編碼(基因),然后評(píng)價(jià)計(jì)算出遷移后整個(gè)系統(tǒng)的負(fù)載狀態(tài)優(yōu)劣,即染色體對(duì)環(huán)境的適應(yīng)度,用來作為以后遺傳操作根據(jù);(2)選擇過程,從當(dāng)前的染色體(隨機(jī)生成的遷移策略)中選擇出來優(yōu)良染色體(滿足適應(yīng)函數(shù)的遷移策略)成為新一代的染色體,如果染色體適應(yīng)度越高就表示該遷移策略被選擇的機(jī)會(huì)越多;選擇出一個(gè)新的種群后再進(jìn)行交叉操作,就是將兩個(gè)父代染色體基因部分結(jié)構(gòu)加以替換重組產(chǎn)生新個(gè)體的操作,這部分不同于以往遺傳算法的簡單交叉操作,通過交叉操作使得搜索能力得以飛躍提高;(3)變異操作,就是對(duì)個(gè)體染色體某些基因座上的基因值作變動(dòng),目的是挖掘種群中個(gè)體多樣性,客服有可能陷入局部解的弊??;經(jīng)過運(yùn)算后產(chǎn)生的新的遷移策略成為了新后代,對(duì)新的后代種群重復(fù)進(jìn)行選擇、交叉和變異操作,使得子代的遷移策略總比父代好,經(jīng)過給定次數(shù)的迭代處理或達(dá)到適應(yīng)函數(shù)要求后產(chǎn)生出最好的染色體基因作為遷移策略的近似最優(yōu)目標(biāo)解。
權(quán)利要求
1.一種基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法,該方法包括步驟如下 (1)通過熱點(diǎn)檢測方法來找出可能由于資源的缺乏而影響服務(wù)系統(tǒng)運(yùn)行的熱點(diǎn)PM; (2)考慮遷移開銷、能耗、熱度、系統(tǒng)狀態(tài),選出待遷移VM; (3 )通過遺傳算法找出遷移目標(biāo)PM ; (4)虛擬機(jī)遷移。
2.根據(jù)權(quán)利要求I所述的基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法,其特征在于所述的熱點(diǎn)檢測方法是為每種資源設(shè)定閥值,th_Vi表示i中資源的閥值,該閥值表示系統(tǒng)能夠滿足QOS服務(wù)的最高使用率,rSi表示在PM中第i種資源的需求度,Iieati定義為第i種資源的熱度,
3.根據(jù)權(quán)利要求I所述的基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法,其特征在于,在保證待遷移VM數(shù)量和遷移時(shí)間較少的前提下,選擇出適合的待遷移的一臺(tái)或幾臺(tái)VM,作為熱點(diǎn)PM中最終的待遷移VM。
4.根據(jù)權(quán)利I所述的基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法,其特征在于目標(biāo)PM的選擇條件是目標(biāo)PM的資源沒有達(dá)到最佳狀態(tài),還能通過增加VM或接受VM的遷移來達(dá)到最佳的運(yùn)行狀態(tài)。
5.根據(jù)權(quán)利I所述的基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法,其特征在于在考慮內(nèi)存、cpu和網(wǎng)絡(luò)的情況下尋找最優(yōu)的將待遷移虛擬機(jī)遷移到目標(biāo)PM節(jié)點(diǎn)的方案。
6.根據(jù)權(quán)利I所述的基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法,其特征在于,所述的遺傳算法為模擬生物進(jìn)化機(jī)制來進(jìn)行搜索尋優(yōu),該方法包括步驟如下 (1)利用步驟I和步驟2中收集的待遷移VM和目標(biāo)PM節(jié)點(diǎn),隨機(jī)生成一定數(shù)目染色體,染色體即一組來表示映射遷移策略編碼(基因),然后評(píng)價(jià)計(jì)算出遷移后整個(gè)系統(tǒng)的負(fù)載狀態(tài)優(yōu)劣,即染色體對(duì)環(huán)境的適應(yīng)度,用來作為以后遺傳操作根據(jù); (2)選擇過程,從當(dāng)前的染色體(隨機(jī)生成的遷移策略)中選擇出來優(yōu)良染色體(滿足適應(yīng)函數(shù)的遷移策略)成為新一代的染色體,如果染色體適應(yīng)度越高就表示該遷移策略被選擇的機(jī)會(huì)越多;選擇出一個(gè)新的種群后再進(jìn)行交叉操作,就是將兩個(gè)父代染色體基因部分結(jié)構(gòu)加以替換重組產(chǎn)生新個(gè)體的操作,這部分不同于以往遺傳算法的簡單交叉操作,通過交叉操作使得搜索能力得以飛躍提高; (3)變異操作,就是對(duì)個(gè)體染色體某些基因座上的基因值作變動(dòng),目的是挖掘種群中個(gè)體多樣性,客服有可能陷入局部解的弊病; 經(jīng)過運(yùn)算后產(chǎn)生的新的遷移策略成為了新后代,對(duì)新的后代種群重復(fù)進(jìn)行選擇、交叉和變異操作,使得子代的遷移策略總比父代好,經(jīng)過給定次數(shù)的迭代處理或達(dá)到適應(yīng)函數(shù)要求后產(chǎn)生出最好的染色體基因作為遷移策略的近似最優(yōu)目標(biāo)解。
全文摘要
本發(fā)明公開了一種基于多目標(biāo)遺傳算法下的多目標(biāo)服務(wù)器調(diào)度方法,通過虛擬機(jī)的遷移保持負(fù)載的均衡。該方法包括步驟如下(1)通過熱點(diǎn)檢測方法來找出可能由于資源的缺乏而影響服務(wù)系統(tǒng)運(yùn)行的熱點(diǎn)PM;(2)考慮遷移開銷、能耗、熱度、系統(tǒng)狀態(tài),選出待遷移VM;(3)通過遺傳算法找出遷移目標(biāo)PM;(4)虛擬機(jī)遷移。該方法通過熱點(diǎn)檢測來選擇需要處理的物理服務(wù)器,考慮遷移開銷、能耗、熱度、系統(tǒng)狀態(tài),選擇需要遷移的虛擬機(jī),再通過改進(jìn)后的遺傳算法來找尋出遷移目標(biāo)物理服務(wù)器來達(dá)到滿足客戶服務(wù)需求和最優(yōu)資源利用率的目標(biāo)。
文檔編號(hào)H04L29/06GK102984137SQ20121045546
公開日2013年3月20日 申請(qǐng)日期2012年11月14日 優(yōu)先權(quán)日2012年11月14日
發(fā)明者雷州, 周哲博, 畢延嶺, 向勁鋒, 王菊姝, 張旻, 周亞軍, 劉宏 申請(qǐng)人:江蘇南開之星軟件技術(shù)有限公司