私有云環(huán)境下基于遺傳禁忌混合算法的資源調(diào)度策略方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及私有云環(huán)境下基于遺傳禁忌混合算法的資源調(diào)度策略方法,屬于計算 機資源調(diào)度策略技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 云計算是一種通過使計算分布在大量的分布式計算機上或遠程服務器中、按照互 聯(lián)網(wǎng)運作模式將資源能夠切換到所需要的應用上,并根據(jù)需求訪問計算機和存儲系統(tǒng)的網(wǎng) 絡資源共享模式。在這一共享模式中,"云"是指各種虛擬化的計算資源池,它包括各種用于 構(gòu)造應用程序的基礎設施,以及在這些基礎設施上的具體云計算應用。虛擬化技術(shù)能夠在 實際硬件資源上構(gòu)建虛擬的資源,從而實現(xiàn)彈性和動態(tài)性。
[0003] 使用虛擬化技術(shù):
[0004] 1.可以實現(xiàn)資源利用的最大化,比如:把多個服務器上運行的虛擬主機整合到少 數(shù)的服務器上;
[0005] 2.可以根據(jù)需要動態(tài)地啟動虛擬資源;
[0006] 3.獨立了運行環(huán)境;
[0007] 4.保證了安全,因為虛擬主機實現(xiàn)了各用戶之間計算環(huán)境的隔離,以及用戶計算 環(huán)境和底層基礎設施之間的隔離。
[0008] 數(shù)據(jù)中心作為云計算模式實施的實體,其演進為大數(shù)據(jù)處理創(chuàng)造了技術(shù)條件,所 帶來的資源共享、按需分配、綠色節(jié)能與快遞部署業(yè)務等優(yōu)勢,推動傳統(tǒng)數(shù)據(jù)中心向云數(shù)據(jù) 中心發(fā)展。
[0009] 為解決減小高鐵數(shù)據(jù)中心資源投入,滿足可伸縮性、安全性、自適應式資源管理 部署的需求,一種更有效、更合理的系統(tǒng)資源調(diào)度策略亟待被提出以解決上述問題。多目標 因子算法在資源調(diào)度管理理論模型中可以很好地將高速鐵路數(shù)據(jù)中心資源管理的多項目 標以數(shù)學模型的形式表達出來,并在具體地在系統(tǒng)應用中加以改進、優(yōu)化,以提高高速鐵路 數(shù)據(jù)中心資源管理及運營效率。
[0010]遺傳算法:標準遺傳算法以種群作為工作單元,依據(jù)生物界"適者生存"的準則指 導搜索操作并改進搜索方向。對解決非線性優(yōu)化問題有很好的效果。遺傳算法具有原理簡 單、算法健壯、易于實現(xiàn)等優(yōu)勢,同時還具有全局搜索和并行性兩大顯著特征。缺點是算法 易出現(xiàn)"早熟",爬山能力差。
[0011]禁忌搜索算法:禁忌搜索算法是對人類智力的一種模擬,通過使用禁忌表來記錄 已經(jīng)遍歷的局部最優(yōu)解,并在下一次迭代中,利用禁忌表來規(guī)避或有選擇的處理這些解,以 避免陷入局部最優(yōu),并更新搜索路徑。它是一種啟發(fā)式算法。它具有局部搜索能力強,收斂 速度快,"爬山"能力強的優(yōu)點,而禁忌搜索算法的缺點是它的搜索性能對初始解的依賴性 很強,禁忌搜索的迭代過程為串行,僅僅為單一狀態(tài)的移動,在云環(huán)境下大量的資源調(diào)度任 務執(zhí)行時,其效率遠低于并行算法。
【發(fā)明內(nèi)容】
[0012] 為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供私有云環(huán)境下基于遺傳禁忌混合算法的資 源調(diào)度策略方法,用于提高虛擬機IT資源利用率、服務效率。
[0013] 私有云環(huán)境下基于遺傳禁忌混合算法的資源調(diào)度策略,通過對遺傳算法與禁忌搜 索算法的融合,決定資源調(diào)度方式將任務映射到私有云環(huán)境的物理服務器,優(yōu)化初期使用 遺傳算法得到子代,然后使用禁忌搜索算法對其進行優(yōu)化,循環(huán)算法至滿足終止條件;
[0014] 通過將遺傳算法和禁忌搜索算法相結(jié)合,給禁忌搜索算法提供了一個好的初始 解,先用遺傳算法優(yōu)化,待算法優(yōu)化到比較好的子代之后,再用禁忌搜索算法繼續(xù)優(yōu)化,如 此反復。
[0015] 遺傳算法每迭代一次,禁忌搜索算法迭代多次,通過最優(yōu)保存策略,使算法呈現(xiàn)單 調(diào)變化的趨勢,在算法實現(xiàn)的時候保存每一次迭代的最優(yōu)解直接送入下一次迭代。
[0016] 私有云環(huán)境下基于遺傳禁忌混合算法的資源調(diào)度策略方法,還含有以下步驟;
[0017]第1步:隨機產(chǎn)生初始種群,給出各參數(shù),設置迭代次數(shù),種群規(guī)模,交叉概率,變異 概率;
[0018] 第2步:判斷遺傳算法的停止準則是否滿足,如果滿足,輸出結(jié)果,否則繼續(xù)以下步 驟;
[0019] 第3步:計算適應度函數(shù),函數(shù)如下:
[0020] Z = Σ ieM(tifiR+t2fis)
[0021] 這里,flR為第i臺物理服務器的資源利用率函數(shù),fls為第i臺物理服務器的SLA (Service-Level Agreement,服務等級協(xié)議)違背率評價函數(shù),ti,t2為資源利用率與SLA違 背率的權(quán)重值。適應度函數(shù)值最大的個體即為最優(yōu)個體。
[0022] 第4步:選擇,得到每個個體的適應度函數(shù)后,采用比例選擇來實現(xiàn)選擇操作,具體 步驟如下:
[0023] (1)采用最優(yōu)個體保留方法,將選中的個體直接復制到子代,并進行(2)步驟;
[0024] (2)采用錦標賽選擇方法:從種群中隨機選取兩個個體,并生成一個隨機數(shù),若隨 機值小于給定概率值η,則選擇較優(yōu)的個體,否則選擇較劣的個體;
[0025] 第5步:交叉:采用單點交叉的交叉方式。從種群中隨機選出兩個個體,隨機選擇一 個切點,將切點兩側(cè)分別看作兩個子串,將右側(cè)的子串分別交換,則得到兩個新的個體;
[0026] 第6步:變異:根據(jù)給定的變異概率Pm進行變異。
[0027] 第7步:對所得子代個體使用禁忌搜索算法,將得到的子代個體作為禁忌搜索算法 的初始解,可行解的迀移方案作為其鄰域;
[0028] 第8步:更新種群,以新的種群返回第3步,繼續(xù)遺傳算法。
[0029] 本發(fā)明還可以包括:
[0030] 1、在第3步中,^i = I,2) 2 0。根據(jù)調(diào)度策略實際要求,可自行調(diào)整U。
[0031] 2、第4步中隨機值的取值范圍在0到1之間,給定概率r根據(jù)實際情況確定,通常為 0.8〇
[0032] 3、第5步中交叉概率的取值范圍在PcE (0.5,1)。
[0033] 4、第6步中變異概率的取值范圍是PmE (〇 .001,〇 . 1)。
[0034]本發(fā)明通過對遺傳算法與禁忌搜索算法的融合,來決定采用何種資源調(diào)度方式將 任務映射到私有云環(huán)境的物理服務器,以達到提高優(yōu)化資源分配,減少SLA違背率的問題。 優(yōu)化初期使用遺傳算法得到子代,然后使用禁忌搜索算法對其進行優(yōu)化,循環(huán)算法至滿足 終止條件。
[0035]本發(fā)明針對遺傳算法全局搜索能力強,局部搜索能力差,而禁忌搜索算法收斂速 度較快,具有較強的爬山能力,搜索性能較大地依賴于給定的初始解的特點,提出了一種基 于遺傳禁忌算法的私有云資源調(diào)度策略。該策略通過將遺傳算法和禁忌搜索算法相結(jié)合, 提高了優(yōu)化資源分配,減少SLA違背率的性能;同時給禁忌搜索算法提供了一個好的初始 解,先用遺傳算法優(yōu)化,待算法優(yōu)化到比較好的子代之后,再用禁忌搜索算法繼續(xù)優(yōu)化,如 此反復。即遺傳算法每迭代一次,禁忌搜索算法迭代多次。同時通過最優(yōu)保存策略,使算法 呈現(xiàn)單調(diào)變化的趨勢,不會出現(xiàn)反復。且方法只需要在算法實現(xiàn)的時候保存每一次迭代的 最優(yōu)解直接送入下一次迭代,避免了近似最優(yōu)解丟失的問題。
[0036] 本發(fā)明與現(xiàn)有技術(shù)相比較有以下特點:
[0037] 1.本發(fā)明通過禁忌搜索算法對遺傳算法所得子代進行優(yōu)化,克服單一算法性能的 缺陷,既能發(fā)揮遺傳算法的并行搜索能力,也能發(fā)揮出禁忌搜索算法的局部搜索能力,使算 法的運行效率得以提高,并且克服了遺傳算法容易"早熟",爬山能力差的問題;
[0038] 2.本發(fā)明采用最優(yōu)解保存策略,使優(yōu)秀個體不易被破壞,避免了遺傳算法中存在 的早熟問題。
【附圖說明】
[0039] 當結(jié)合附圖考慮時,通過參照下面的詳細描述,能夠更完整更好地理解本發(fā)明以 及容易得知其中許多伴隨的優(yōu)點,但此處所說明的附圖用來提供對本發(fā)明的進一步理解, 構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā) 明的不當限定,如圖其中:
[0040] 圖1是算法中編碼過程的一個實例的示意圖;
[0041 ]圖2是遺傳禁忌算法的流程圖;
[0042]圖3是仿真實驗中Tabu_S(以降低SLA違背率為目標的禁忌搜索算法),Tabu_R(以 提高資源利用率為目標的禁忌搜索算法),GA(基本遺傳算法),MGATS(本申請?zhí)岢龅亩嗄繕?遺傳禁忌優(yōu)化算法)四種算法對應的適應度函數(shù)值;
[0043] 圖4是仿真實驗中了&1311^&1311-1?,64,1?^3四種算法在任務數(shù)為100時,解的空 間分布情況;
[0044] 下面結(jié)合附圖和實施例對本發(fā)明進一步說明。
【具體實施方式】
[0045] 顯然,本領(lǐng)域技術(shù)人員基于本發(fā)明的宗旨所做的許多修改和變化屬于本發(fā)明的保 護范圍。
[0046] 實施例1:如圖1、圖2、圖3和圖4所示,私有云環(huán)境下基于遺傳禁忌混合算法的資源 調(diào)度策略方法,含有以下步驟;
[0047]第一步:初始種群生成。
[0048] 給出算法以及各參數(shù),設置迭代次數(shù),初始群體,交叉概率,變異概率。并對個體編 碼。編碼過程抽象為將η個虛擬機分配到m個物理節(jié)點上,首先生成一個包含η個虛擬機編號 的隨機序列,然后應用多維優(yōu)先適應算法(First Fit,F(xiàn)F)將隨機序列號依次放入物理服務 器中,得到染色體編碼。根據(jù)此種方式,附圖1中得到的染色體編碼為:{2213241421}。重復 種群規(guī)模η的優(yōu)先適應算法(First Fit,FF),生成一組初始個體,構(gòu)成初始種群。
[0049] 第二步:判斷遺傳算法的停止準則是否滿足。如果滿足,輸出結(jié)果,否則繼續(xù)以下 步驟。本發(fā)明的停止準則以迭代次數(shù)的限定作為結(jié)束準則。
[0050] 第三步:計算適應度函數(shù):
[0051] (1)計算資源利用率
[0052] 根據(jù)資源利用率函數(shù)、使用物理服務器的體積來定義其資源利用率:
[0053] fR- ( I-Ucpu) X ( I-Umem) X ( I-Ubandwidth)
[0054] 公式中ucpu、umem、ubandwid th分別為物理服務器的CPU利用率、內(nèi)存利用率、帶寬資源 利用率。這里將!!。[^、!^、!^(^(^上限均設為訓^上反映資源利用率^能分析當前的各 維資源性能。當都取得最大值時,資源利用率最高,且fR達到最大值。fR取 值為 fRe(o,i)。
[0055] (2) SLA違背率函數(shù)
[0057] 公式中,Ucpu表示物理服務器的CPU利用率,Umax是對U cpu定義的最高限值,UmaxE (〇, 1)〇
[0058] 由公式可以看出,當Upcu在(0,Umax)變化時,fs呈下降趨勢,且函數(shù)值變化較慢;當 Ucpu在(Umax,1 )變化時,f s急劇下降;Ikpu越小,fs越大;且fse(〇