一種基于遺傳算法的云計算資源調度方法
【技術領域】
[0001] 本發明屬于云計算領域,特別設及一種基于遺傳算法的云計算資源調度方法。
【背景技術】
[0002] 近年來,云計算作為一種新型的信息處理方式,已深入到我們生活工作的各個領 域中。云計算是W虛擬化技術為技術支撐,最基本的理念就是按需使用,而在此過程中,由 于云數據中屯、的能耗及其資源提供效率成為影響云計算性能的關鍵性問題,如何有效合理 的使用云計算的資源也成了一個關鍵點。
[0003] 隨著互聯網時代信息與數據的快速增長,科學、工程和商業計算領域需要處理大 規模、海量的數據,對計算能力的需求遠遠超出自身IT架構的計算能力,該時就需要不斷 加大系統硬件投入來實現系統的可擴展性。另外,由于傳統并行編程模型應用的局限性, 客觀上要求一種容易學習、使用、部署的新的并行編程框架。在該種情況下,為了節省成本 和實現系統的可擴放性,云計算的概念被提了出來。云計算是分布式計算、并行處理和網 格計算的進一步發展,它是基于互聯網的計算,能夠向各種互聯網應用提供硬件服務、基 礎架構服務、平臺服務、軟件服務、存儲服務的系統。通常云系統由第=方擁有的機制提供 服務,用戶只關屯、云所提供的服務。目前關于云計算系統沒有統一的定義,云計算供應商 根據自己企業業務推出相關的云計算戰略。美國國家標準技術研究院(NIST)給出了目前 權威的云計算定義;(1)云計算是一種能夠通過網絡W便利的、按需的方式訪問一個可配 置的計算資源共享池(包括網絡、服務器、存儲、應用和服務等)的模式,該個資源共享池 能W最少的管理開銷及最少的與供應商的交互,迅速配置、提供或釋放資源;(2)云計算模 式具有5個基本特征;按需自助服務、廣泛的網絡訪問、共享的資源池、快速彈性能力、可度 量的服務,還包括3種服務模式;軟件即服務(Saa巧、平臺即服務(Paa巧、基礎設施即服務 (laaS),W及4種部署方式;私有云、社區云、公有云、混合云。
[0004] 云計算所提供的服務面向的用戶群是龐大的,因此"云"中任務數量是巨大的,系 統每時每刻都出來海量的人物,所W資源管理是云計算的一個關鍵性問題,它的調度策略 與算法直接影響著云系統的性能及成本。隨著用戶對云計算需求的不斷增長,云數據中屯、 規模日益龐大,其能耗問題也越來越嚴重。據文獻報告,全球數據中屯、在2005年~2010年 增加了約56%,美國數據中屯、的能耗增加了 36%。一個5萬個節點的數據中屯、每年消耗的 電能超過1億千瓦,能耗占了一個數據中屯、運維成本中的40 %。在國內,通信運營商的數據 中屯、是耗電大戶,中國電信數據中屯、年耗電11. 2億千瓦時,中國聯通數據中屯、為9. 9億千 瓦時到2020年,全球主要云計算運營商的能耗將接近2萬億千瓦時。因此,研究云計算環 境下的如何有效的利用資源有迫切的需求。
【發明內容】
[0005] 本發明的目的在于克服現有技術的缺點與不足,提供一種基于遺傳算法的云計算 資源調度方法。該方法能夠實時做出云計算資源的調度安排,決策出最佳的資源構建和調 整策略,在保障云計算網絡服務質量的前提下,提高了云計算的效用比。
[0006] 本發明的目的通過下述技術方案實現;一種基于遺傳算法的云計算資源調度方 法,步驟如下:
[0007] S1、將用戶提交的云任務切分成若干個子任務,并且根據云任務設置一個預期的 Qos(QualityofService,服務質量);預期的Qos是指用戶獲取云計算資源時,所花費時 間和費用的一個要求;
[000引 S2、初始化:初始化種群規模,并且設置種群最大迭代次數;
[0009] S3、生成初始種群:按照編碼規則隨機生成染色體,將云任務抽象為染色體的編碼 輸入,染色體中的每個基因為該云任務中的子任務,染色體的位序號表示每個子任務代表 分配到虛擬機的號碼;然后判斷染色體是否滿足預期的Qos,若滿足,則將該染色體加入到 初始種群中,若不滿足,則丟棄該染色體,直到達到初始種群的規模;
[0010] S4、根據適應度函數計算當前種群中每條染色體的適應度值;
[0011] S5、選擇、交叉和變異操作;根據選擇概率選擇適應度值高的染色體,將該些染色 體復制到下一代新種群;并且針對當前種群中剩下的染色體進行交叉和變異操作;
[0012] S6、判斷步驟S5中交叉和變異操作后的染色體是否滿足預期的Qos,若滿足,則加 入到下一代新種群中,若不滿足,則丟棄,直到新種群達到種群規模,并并且種群迭代次數 加1 ;
[0013] S7、判斷種群迭代次數是否達到最大迭代次數,若否,則返回步驟S4,若是,則進入 步驟S8 ;
[0014] S8、將最終得到的新種群中適應度值最高的染色體作為最優解,并且針對該染色 體進行解碼操作得到虛擬機的號碼,將該染色體作為資源調度的最優解。
[0015] 優選的,所述步驟S3中采用基于路徑的編碼方式進行染色體編碼。
[0016] 優選的,所述步驟S4中通過W下自適應函數計算出種群中各染色體的適應度:
[0017] fOg=l/(lg(ECt〇tai+l));
[001引其中ECtMai為染色體Xk中的資源調度方案的總能耗,f狂k)為染色體Xk的適應度。
[0019] 更進一步的,所述染色體Xk中的資源調度方案的總能耗ECt。,。巧:
[0020]
【主權項】
1. 一種基于遺傳算法的云計算資源調度方法,其特征在于,步驟如下: 51、 將用戶提交的云任務切分成若干個子任務,并且根據云任務設置一個預期的Qos; 預期的Qos是指用戶獲取云計算資源時,所花費時間和費用的一個要求; 52、 初始化:初始化種群規模,并且設置種群最大迭代次數; 53、 生成初始種群:按照編碼規則隨機生成染色體,將云任務抽象為染色體的編碼輸 入,染色體中的每個基因為該云任務中的子任務,染色體的位序號表不每個子任務代表分 配到虛擬機的號碼;然后判斷染色體是否滿足預期的Q〇s,若滿足,則將該染色體加入到初 始種群中,若不滿足,則丟棄該染色體,直到達到初始種群的規模; 54、 根據適應度函數計算當前種群中每條染色體的適應度值; 55、 選擇、交叉和變異操作:根據選擇概率選擇適應度值高的染色體,將這些染色體復 制到下一代新種群;并且針對當前種群中剩下的染色體進行交叉和變異操作; 56、 判斷步驟S5中交叉和變異操作后的染色體是否滿足預期的Qos,若滿足,則加入到 下一代新種群中,若不滿足,則丟棄,直到新種群達到種群規模,并并且種群迭代次數加1 ; 57、 判斷種群迭代次數是否達到最大迭代次數,若否,則返回步驟S4,若是,則進入步驟 S8 ; 58、 將最終得到的新種群中適應度值最高的染色體作為最優解,并且針對該染色體進 行解碼操作得到虛擬機的號碼,將該染色體作為資源調度的最優解。
2. 根據權利要求1所述的基于遺傳算法的云計算資源調度方法,其特征在于,所述步 驟S3中采用基于路徑的編碼方式進行染色體編碼。
3. 根據權利要求1所述的基于遺傳算法的云計算資源調度方法,其特征在于,所述步 驟S4中通過以下自適應函數計算出種群中各染色體的適應度:
其中ECtotal為染色體Xk中的資源調度方案的總能耗,f(Xk)為染色體Xk的適應度。
4. 根據權利要求3所述的基于遺傳算法的云計算資源調度方法,其特征在于,所述染 色體Xk中的資源調度方案的總能耗ECt(rtal為:
其中WECj為宿主機j在一個周期內的工作能耗,in』為宿主機j上運行的子任務數;DECj為宿主機j在一個周期內休眠狀態時的能耗;IECj為宿主機j空閑時的能耗;N為宿主機的 個數;
其中CEh為: CECj^CTijXPCj^Cli/CSjXPCj; CTu表示宿主機j上子任務i的功耗,Cl,表示表示宿主機j上子任務i的執行命令數,CSj表示宿主機j的CPU處理速度,PC」表示宿主機j工作時的功耗; 其中SEC;」為: SECj^ SD i/SSjXPSj; SECu表示宿主機j上子任務i的存儲能耗,SDi表示宿主機j上子任務i所需要讀寫 的數據量,SS」表示宿主機j磁盤讀取速率,PS^表示宿主機j存儲功耗。
5. 根據權利要求3所述的基于遺傳算法的云計算資源調度方法,其特征在于,所述步 驟S5中的選擇操作中選擇概率采用輪盤算子,種群中各染色體的選擇概率為:
兵甲popSize艿柙辟的規悮。
6. 根據權利要求1所述的基于遺傳算法的云計算資源調度方法,其特征在于,所述步 驟S5中的變異操作,采用替換變異方式,先從父代染色體中選擇一個子位串,然后再隨機 在剩下的位串中選擇一個位置,并插入該子位串。
7. 根據權利要求1所述的基于遺傳算法的云計算資源調度方法,其特征在于,所述步 驟S5中的變異操作采用部分匹配方法,隨機選擇兩個交叉點,在兩個點之間的位置將進行 交叉,其他位置進行復制。
8. 根據權利要求1所述的基于遺傳算法的云計算資源調度方法,其特征在于,所述步 驟S1中設置的預期的Qos中,各宿主機中各子任務的執行時間滿足以下條件: TE.^CT.j+ST.j; TEu表示宿主機j上子任務i的運行總時間,CTu表示宿主機j上子任務i的任務執 行時間,STU表示宿主機j上讀寫數據的時間; 宿主機j中所有子任務的執行時間L滿足以下條件:
in」為宿主機j中子任務的數量; 云任務執行的時間Ttotal滿足以下條件:
N為宿主機的個數; 所述步驟S1中設置的預期的Qos中費用滿足以下條件:
其中costij表示宿主機j中執行子任務i所需費用,sReq1表示的是宿主機j子任務i對應的資源,sPrici表示的是宿主機j中子任務i對應的資源所需費用。
9. 根據權利要求1所述的基于遺傳算法的云計算資源調度方法,其特征在于,所述步 驟S1中采用云計算中的MapReduce編程模型,將用戶提交的云任務切分成若干個子任務。
【專利摘要】本發明公開了一種基于遺傳算法的云計算資源調度方法,利用遺傳算法獲取到云計算中資源的調度方案,遺傳算法中染色體中的每個基因為該云任務中的子任務,染色體的位序號表示每個子任務代表分配到虛擬機的號碼;本發明方法中根據云任務設置預期的Qos,在種群迭代更新過程中將滿足預期的Qos的染色體留下,將不滿足預期的Qos的染色體進行丟棄,并且根據選擇概率將當前種群適應度值高的染色體直接復制到下一代種群中,然后針對當前種群剩下染色體進行交叉和變異操作,保證了種群中染色體的質量,實現了云計算的資源按需使用、彈性擴展,實時做出云計算資源調度安排,決策出最佳的資源構建和調整策略,在保障云計算網絡服務質量的前提下,提高了云計算的效用比。
【IPC分類】H04L29-08
【公開號】CN104811491
【申請號】CN201510185184
【發明人】李磊, 江波, 金連文
【申請人】華南理工大學
【公開日】2015年7月29日
【申請日】2015年4月17日