資源描述:
《基于蟻群算法的云計算資源調(diào)度分析》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、基于蟻群算法的云計算資源調(diào)度分析 摘要當前,云計算資源調(diào)度中常用的算法包括遺傳算法、蟻群算法、粒子群算法以及綜合優(yōu)化算法等。不同算法所關(guān)注的角度存在一定的差異,遺傳算法和粒子群算法主要從資源調(diào)度的效率方面進行優(yōu)化,而蟻群算法則是從云計算資源調(diào)度的計算成本方面進行考慮。論文討論了基于優(yōu)化蟻群算法的云計算資源調(diào)度,在兼顧任務(wù)效率的基礎(chǔ)上,能夠進一步降低計算成本?! 娟P(guān)鍵詞】云計算資源調(diào)度蟻群算法 1云計算資源調(diào)度 云計算資源調(diào)度主要是對某個時間點或者時間段內(nèi)如何向用戶進行資源分配的決策過程。資源是根據(jù)單個或者多個優(yōu)化目標進行
2、分配的,其中,目標包括了任務(wù)的效率、成本等方面的問題。云計算中的不同應(yīng)用程序所需要的資源不同,加上云計算本身的異構(gòu)性以及動態(tài)性的特點,導致云計算資源調(diào)度問題成為了一個非常復雜的多目標優(yōu)化問題。而作為良好的資源調(diào)度策略,不僅需要進一步提高計算的效率,同時還應(yīng)該控制調(diào)度成本,實現(xiàn)對資源的最大化利用。另外,云計算資源管理還需要利用有限的物理資源,為更多的用戶提供多樣化的服務(wù),同時滿足不同類型用戶在計算效率、成本等服務(wù)質(zhì)量方面的差異化要求。2基于蟻群算法的云計算資源調(diào)度 蟻群算法是以中用于尋求最優(yōu)解決方案的機率型技術(shù),其最早是由Mar
3、coDorigo于1992年在其博士論文中引入,主要借鑒了螞蟻在尋找食物過程中發(fā)現(xiàn)路徑的行為。螞蟻在路徑上前進時能夠根據(jù)前面螞蟻所留下的分泌物選擇路徑,其選擇一條路徑的概率與該路徑上分泌物的強度成正比。因此,大量螞蟻構(gòu)成的群體行為實際上構(gòu)成了一種學習信息的反饋現(xiàn)象,即選擇某一條路徑的螞蟻越多,后面的螞蟻則繼續(xù)選擇該路徑的可能性更大。螞蟻個體之間通過這種信息尋求最短的目標路徑。在云計算環(huán)境下,可以將資源調(diào)度問題看作一個多項式復雜程度的非確定性問題。從解決這類問題的角度來看,蟻群優(yōu)化算法很適合解決資源調(diào)度的問題,傳統(tǒng)的蟻群算法通常只
4、能在效率和成本兼顧一面,對此本文提出了一種新的優(yōu)化蟻群算法?! ?.1算法設(shè)計 建立子任務(wù)與虛擬節(jié)點分配矩陣X,定義節(jié)點Xij,其中i(1,2,…,n),j(1,2,…,m)為節(jié)點集合,構(gòu)成了一個沒有方向的完全圖G(V,E)。通過優(yōu)化蟻群算法能夠獲取一個適用于資源調(diào)度方案使F得值達到最小?! ?.1.1初始化信息素 在初始化算法的階段,為了確保螞蟻能夠很好地進行路徑尋優(yōu),需要?⑺?有路徑的信息素的初始值設(shè)置為最大,完成信息素的初始化?! ?.1.2路徑選擇 在各個節(jié)點上都分布著若干只螞蟻進行最優(yōu)解的搜索,則第k只螞蟻在t時
5、刻選擇節(jié)點Xij的概率為: (1) ?。?) τij(t)代表了t時刻,螞蟻在Xij節(jié)點位置所殘留的信息素;φij(t)代表了螞蟻的啟發(fā)信息。α和β非別表示殘留信息素和啟發(fā)信息的相對重要性。tabk(k=1,2,L,m)代表第k只螞蟻行走的禁忌表,即不會選擇的路徑,如果t時刻,第k只螞蟻選擇節(jié)點Xij,則就會被加入到禁忌表中?! ?.1.3信息素更新 在每次循環(huán)之后都需要對該次循環(huán)中的最優(yōu)解或者局部最優(yōu)解的信息素進行更新,從而確保找到全局最優(yōu)解能夠有更高的效率,按照下面的公式對信息素進行更新: (3) ?。?) 其中,
6、Fbest就表示了全局最優(yōu)解的值,通過對信息素的更新,能夠進一步提高算法的效率,縮短計算所需要的時間。 2.2算法流程 根據(jù)上面的分析,確定了基于蟻群算法的云計算資源調(diào)度的具體流程: Step1:確定算法的適應(yīng)度函數(shù); Step2:設(shè)置算法的各類指標參數(shù)和算法結(jié)束條件,參數(shù)需要確保合理性,以保證算法效率; Step3:設(shè)定完成之后初始化算法的信息素,并將螞蟻在各個節(jié)點進行隨機分布,進行路徑搜索; Step4:每次完成一輪搜索之后,從其中選擇當前的最優(yōu)解,然后更新信息素; Step5:繼續(xù)進行搜索,如果滿足之前設(shè)置的
7、結(jié)束條件,則確定當前獲取的最優(yōu)解為算法的全局最優(yōu)解,如果不滿足算法結(jié)束條件,則跳轉(zhuǎn)到Step4?! ?仿真分析 為了對算法的可行性和有效性進行驗證,選擇CloudSim平臺對算法進行仿真分析。在實際仿真過程中,將初始條件c,d設(shè)置為0.5,其余參數(shù)的值設(shè)置為1,在仿真中采用50個虛擬機節(jié)點,50個任務(wù),每個任務(wù)被分割為范圍為[10,60]的子任務(wù),螞蟻群的規(guī)模設(shè)置為50,實驗循環(huán)次數(shù)為30次,實驗終止的條件為達到最大迭代次數(shù)。在完全相同的實驗條件下,采用本文所設(shè)計蟻群優(yōu)化算法和標準蟻群算法進行對比?! ⊥ㄟ^對實驗結(jié)果進行分析發(fā)
8、現(xiàn),本文所設(shè)計的蟻群優(yōu)化算法能夠在總體完成時間較少的基礎(chǔ)上減低計算成本,而不是以犧牲計算成本來提高計算效率,或則以犧牲計算效率來降低計算成本。因此,本文所設(shè)計的蟻群優(yōu)化算法在云計算資源調(diào)度中能夠同時兼顧計算效率和計算成本,實現(xiàn)較好的資源調(diào)度效果?! ?結(jié)語 由