陳偉東
隨著移動(dòng)互聯(lián)網(wǎng)和虛擬化技術(shù)的快速發(fā)展,以及人工智能和5G時(shí)代的來臨,企業(yè)和科研機(jī)構(gòu)的信息處理方通過云計(jì)算平臺(tái)與用戶之間的信息交流,云計(jì)算平臺(tái)能夠?qū)μ摂M的硬件資源進(jìn)行統(tǒng)一管理,并通過虛擬化服務(wù)器這一網(wǎng)絡(luò)系統(tǒng),來完成對(duì)外部企業(yè)的信息服務(wù),這就是云計(jì)算中的任務(wù)調(diào)度算法。在現(xiàn)階段,數(shù)據(jù)中心的計(jì)算資源利用率普遍不高,甚至相當(dāng)一部分大型數(shù)據(jù)中心的計(jì)算資源利用率十分低下。提高數(shù)據(jù)中心云計(jì)算環(huán)境下虛擬機(jī)的調(diào)度效率是降低能耗資的一種有效的方法。本文提出虛擬安全加固策略的算法研究,可以有效解決低負(fù)載虛擬機(jī)所對(duì)應(yīng)物理硬件的能源消耗問題。
(一)蟻群算法
蟻群算法是根據(jù)大自然中真實(shí)螞蟻群體的覓食行為的規(guī)則而發(fā)展起來的基于群體的模擬進(jìn)化的一種算法,屬于隨機(jī)搜索算法,蟻群算法是從螞蟻行走中的路徑尋優(yōu)發(fā)展而來,其主要根據(jù)不同路徑的信息素濃度,來完成計(jì)算數(shù)據(jù)與資源的雙向反饋。蟻群算法早期被應(yīng)用于網(wǎng)絡(luò)路徑的優(yōu)化,也就是通常所說的旅行商問題。蟻群算法的路徑尋優(yōu)原理如下:首先在N個(gè)城市中存在M只螞蟻,而且不同城市中各個(gè)路徑存在同等的信息素。那么t時(shí)刻第h只螞蟻在城市路徑i,j中的概率選擇為:
(二)蟻群系統(tǒng)
蟻群算法是一種全局獨(dú)立、并行的信息搜索模式,但蟻群算法也有著較大的局限性,其缺點(diǎn)主要包括性能低、收斂時(shí)間長(zhǎng)、搜索效率低等。由于蟻群算法存在的這些缺點(diǎn),科學(xué)界提出了蟻群系統(tǒng)。蟻群系統(tǒng)基本原理是在初始時(shí)刻,N個(gè)節(jié)點(diǎn)上隨機(jī)放置M個(gè)螞蟻,螞蟻們通過多次狀態(tài)轉(zhuǎn)移規(guī)則形成一條有效路徑。在路徑形成的過程中,螞蟻根據(jù)信息素濃度的強(qiáng)弱和最短路由選擇的啟示性信息的判斷,螞蟻通過應(yīng)用局部更新規(guī)則對(duì)已經(jīng)完成訪問的路徑上的信息素進(jìn)行修改。當(dāng)M個(gè)螞蟻全部形成了自己的路徑的時(shí)候,采用全局更新規(guī)則對(duì)路徑上的信息軌跡量再次進(jìn)行修改。這樣直至整個(gè)搜索過程結(jié)束。
蟻群系統(tǒng)就是在蟻群算法的基本原理上做了如下幾個(gè)方面的改進(jìn):
1、以偽隨機(jī)比例規(guī)則進(jìn)行狀態(tài)轉(zhuǎn)移。
螞蟻積累的先驗(yàn)知識(shí)得到了更好利用,幫助螞蟻更有效的選擇新的路徑。蟻群系統(tǒng)中引入可以對(duì)螞蟻探索新路徑的程度進(jìn)行調(diào)節(jié)的參數(shù),提高了螞蟻在集中于最優(yōu)解的空間內(nèi)的探尋能力。
2、只在最優(yōu)的螞蟻路徑上應(yīng)用全局更新規(guī)則。
對(duì)于蟻群算法中的路徑選擇,其主要通過動(dòng)態(tài)規(guī)劃某一時(shí)刻狀態(tài)的轉(zhuǎn)移規(guī)則,來增大求解路徑中的信息素?cái)?shù)值,并選擇出適合當(dāng)前任務(wù)的最優(yōu)解。
3、將局部信息素更新規(guī)則應(yīng)用在建立問題解決方案的過程中。
蟻群算法只對(duì)信息素進(jìn)行一次全局更新,對(duì)于城市節(jié)點(diǎn)信息素濃度較高的情況,蟻群會(huì)圍繞著進(jìn)行再次搜索。其中那些已經(jīng)被搜索過的城市節(jié)點(diǎn),會(huì)再次被蟻群選擇,這就造成了全局搜索隨機(jī)性與精確度的降低。然而,在蟻群系統(tǒng)中,螞蟻在每次尋址循環(huán)后會(huì)重新對(duì)路徑進(jìn)行一次全局的更新,在建立路徑的同時(shí)也進(jìn)行局部更新。
虛擬機(jī)加固算法屬于多目標(biāo)的優(yōu)化問題,是基于蟻群系統(tǒng)的分布式、并行的資源分配策略。而虛擬機(jī)遷移算法作為虛擬機(jī)加固策略的內(nèi)容之一,其主要通過將負(fù)載較低的物理機(jī)器中的資源,遷移至負(fù)載較高的數(shù)據(jù)中心,來完成海量用戶的數(shù)據(jù)處理需求。對(duì)于改進(jìn)蟻群算法的云計(jì)算任務(wù)調(diào)度,主要需要解決資源負(fù)載不均衡、服務(wù)質(zhì)量之間的矛盾,從而實(shí)現(xiàn)系統(tǒng)框架中的負(fù)載均衡。
在云計(jì)算任務(wù)調(diào)度系統(tǒng)中存在多個(gè)物理機(jī),每個(gè)物理機(jī)內(nèi)又存在多個(gè)虛擬機(jī)。這些虛擬機(jī)會(huì)根據(jù)相應(yīng)的遷移策略,進(jìn)行CPU、內(nèi)存、儲(chǔ)存等資源的動(dòng)態(tài)分配,從而完成不同維度資源利用率的提升。所以對(duì)于云計(jì)算系統(tǒng)中的所有物理機(jī)(激活或休眠),都能夠通過虛擬資源的物理遷移,來完成蟻群系統(tǒng)的虛擬機(jī)加固。
蟻群系統(tǒng)的虛擬機(jī)加固算法,主要通過減少激活的物理機(jī)數(shù)目、選擇更恰當(dāng)?shù)倪w移方案,來降低虛擬系統(tǒng)中的資源耗費(fèi)。通過以上數(shù)組遷移空間公式的構(gòu)建,能夠完成蟻群算法中信息素、遷移路徑的模擬活動(dòng),即信息素由一個(gè)數(shù)組遷移至另一個(gè)數(shù)據(jù),從而實(shí)現(xiàn)虛擬機(jī)加固算法的信息搜索工作。例如:第h只螞蟻進(jìn)行數(shù)組空間遷移的概率如下所示:
本文在cloudsim云計(jì)算平臺(tái)中,通過模擬出1000臺(tái)虛擬機(jī)以及提供大量服務(wù)器,來完成1000個(gè)左右的云計(jì)算數(shù)據(jù)處理,對(duì)改進(jìn)蟻群算法虛擬加固的性能測(cè)試。同時(shí)還引入了業(yè)界常用的THR_RS算法、LR_MU算法、MAD_MC算法等,與本文蟻群虛擬機(jī)加固算法的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比分析。具體如圖1、圖2所示:
從圖2可以看出蟻群虛擬加固算法所耗費(fèi)的能源,明顯低于其他算法的能源消耗,同時(shí)參與數(shù)據(jù)運(yùn)算的物理機(jī)個(gè)數(shù)也較少。
虛擬加固算法、THR_RS算法的虛擬機(jī)遷移次數(shù)基本相同,且明顯低于LR_MU算法、MAD_MC算法等的虛擬機(jī)遷移次數(shù)。
通過以上指標(biāo)的對(duì)比分析能夠得出:在物理機(jī)隨機(jī)負(fù)載情況下,使用改進(jìn)蟻群的虛擬加固算法,既能夠保障虛擬遷移的能源消耗較小,又能夠任務(wù)調(diào)度的負(fù)載均衡,還能夠有效降低虛擬機(jī)遷移次數(shù),所以虛擬加固算法的綜合性較好。
本文從多目標(biāo)負(fù)載均衡處著手,提出基于蟻群系統(tǒng)的虛擬機(jī)加固算法,構(gòu)建起用戶任務(wù)需求-虛擬機(jī)、虛擬機(jī)-物理機(jī)之間的映射關(guān)系,從而解決系統(tǒng)各個(gè)層面的任務(wù)調(diào)度難題,完成源物理機(jī)、目的物理機(jī)之間的虛擬機(jī)有效動(dòng)態(tài)遷移,避免蟻群系統(tǒng)陷入局部最優(yōu)解。最后通過cloudsim云平臺(tái)對(duì)虛擬加固算法和其他幾種業(yè)內(nèi)常用算法的比較得可以得出虛擬加固算法在虛擬機(jī)遷移過程中的綜合性較好。