王 勃 徐 靜 孫雪瑩
(1.陜西國(guó)防工業(yè)職業(yè)技術(shù)學(xué)院計(jì)算機(jī)與軟件學(xué)院 西安 710300)(2.陜西國(guó)防工業(yè)職業(yè)技術(shù)學(xué)院經(jīng)濟(jì)管理學(xué)院 西安 710300)(3.西安電子科技大學(xué)物理與光電工程學(xué)院 西安 710071)
隨著計(jì)算機(jī)網(wǎng)絡(luò)的快速發(fā)展,網(wǎng)絡(luò)將遍布在各個(gè)地域,包括手機(jī)、電腦、物聯(lián)網(wǎng)終端等各種信息終端設(shè)備連接在一起,形成高速運(yùn)轉(zhuǎn)的服務(wù)器端,由于終端設(shè)備不斷增加,最終將導(dǎo)致運(yùn)行速度、可靠性、高效性、靈活性不斷降低[1]。云計(jì)算作為全新的網(wǎng)絡(luò)構(gòu)架,可以對(duì)網(wǎng)絡(luò)資源重新計(jì)算,合理分配,滿足客戶端的不同需求,不斷提高和改善網(wǎng)絡(luò)服務(wù)質(zhì)量,使客戶獲取最大的網(wǎng)絡(luò)信息資源。以此為基礎(chǔ),對(duì)云計(jì)算調(diào)度資源技術(shù)和策略要求也不斷調(diào)高,由于傳統(tǒng)計(jì)算方式缺乏必要的準(zhǔn)確性、安全性,提出基于蟻群優(yōu)化的云計(jì)算調(diào)度資源模型,該模型中蟻群使用自適應(yīng)搜索,具有較高的魯棒性、協(xié)作性、安全性、易擴(kuò)展性和并行性,能使云計(jì)算環(huán)境下的蟻群達(dá)到最佳的尋優(yōu)能力,提高效率,達(dá)到資源利用的最大化。
蟻群優(yōu)化算法(Ant Colony Optimization,ACO)是一種仿生模擬蟻群外出尋覓食物的方式,在整個(gè)蟻群在運(yùn)動(dòng)過(guò)程中,[2]通過(guò)每個(gè)螞蟻之間互相傳遞信息,完成整個(gè)問(wèn)題的最佳解決方案。具有分布處理(Distributed Computing)、并行處理(Parallel Com?puting)和網(wǎng)格計(jì)算(Grid Computing)等計(jì)算特點(diǎn),蟻群從覓食起點(diǎn)到回歸終點(diǎn),通過(guò)隨機(jī)尋找最優(yōu)路徑,完成最短路徑間完成建構(gòu),實(shí)現(xiàn)沿路信息及時(shí)更新,相互聯(lián)系,顯示出該算法的高效、安全[3]。
蟻群優(yōu)化算法加強(qiáng)了蟻群在群體覓食過(guò)程中的互相聯(lián)系的通訊過(guò)程,蟻群在覓食所經(jīng)過(guò)的路徑中不斷存儲(chǔ)服務(wù)信息,經(jīng)過(guò)起點(diǎn)到終點(diǎn)的過(guò)程,獲取沿路所有存儲(chǔ)服務(wù)信息,經(jīng)過(guò)優(yōu)化算法收集、處理后,定義為該算法的服務(wù)信息量,該信息記錄了蟻群本次覓食過(guò)程中所有狀態(tài),并且也為后繼覓食蟻群提供重要的歷史參考信息。[4]由于蟻群在每次覓食時(shí)都采取隨機(jī)模式,因此蟻群可以不僅局限于前面蟻群所遺留的歷史信息,可以不斷更新服務(wù)信息點(diǎn),發(fā)現(xiàn)更有效的新路徑。其架構(gòu)圖如圖1所示。
通過(guò)架構(gòu)圖可知網(wǎng)絡(luò)服務(wù)器端是建構(gòu)的中心,為蟻群提供網(wǎng)絡(luò)服務(wù)。[5]偵伺蟻以網(wǎng)絡(luò)服務(wù)器端為載體,搜尋到各種客戶端,并且使用最短的時(shí)間獲取最優(yōu)的路徑,并及時(shí)反饋給后繼蟻群,蟻群將偵伺蟻留下的共享信息資源通過(guò)最優(yōu)路徑,最短時(shí)間傳遞給客戶端,并將反饋信息及時(shí)回傳給網(wǎng)絡(luò)服務(wù)器端。
該算法為云計(jì)算調(diào)度資源構(gòu)建起擁有網(wǎng)絡(luò)服務(wù)端、客戶端群、信息存儲(chǔ)服務(wù)的三層服務(wù)保障體系。這三層體系即可單獨(dú)成為服務(wù)子云端,也可成為相互關(guān)聯(lián)、通訊,保證安全為一體的云端[6]。
圖1 架構(gòu)圖
3.2.1 構(gòu)建調(diào)度資源相關(guān)條件
在云計(jì)算調(diào)度資源中,其調(diào)度資源是重要的構(gòu)成部分,在一般情況下,在云計(jì)算中其調(diào)度資源被有效分解為多個(gè)子任務(wù)。根據(jù)子任務(wù)數(shù)據(jù)量的大小合理調(diào)度分配資源,有效提高計(jì)算效率。其函數(shù)可用式(1)所示。
在式(1)中,P()tf為調(diào)度分配資源使用的總時(shí)長(zhǎng),Wb為云計(jì)算設(shè)置的虛擬機(jī),其取值空間為W={W1,W2,…,Wb}。U為服務(wù)信息點(diǎn),其取值空間為U={U1,U2,…,Ub}。C為子任務(wù) dj在虛擬機(jī)Wb上的工作時(shí)間。j為云計(jì)算子任務(wù)工作量大小,其取值空間為j={j1,j2,…,jb}。 kju為調(diào)度資源的映射。Rjf為子任務(wù)在服務(wù)信息點(diǎn)Wb上調(diào)度關(guān)系。
3.2.2 調(diào)度模型
云計(jì)算調(diào)度資源使用蟻群Matlab優(yōu)化算法,就是將大量的網(wǎng)絡(luò)、服務(wù)器,客戶端、共享資源等采取簡(jiǎn)化、分布、并行、簡(jiǎn)化、映射等方法,將大量信息和資源進(jìn)行有效分解,產(chǎn)生了多任務(wù)系統(tǒng),并對(duì)各任務(wù)系統(tǒng)加以標(biāo)注,并隨機(jī)獲取共享信息服務(wù)點(diǎn)資源[7]。其模型如式(1)所示。
3.2.3 算法流程
根據(jù)式(2)可得出如下流程[10]:
1)蟻群從覓食起點(diǎn)m出發(fā)。
2)獲取相關(guān)覓食初始參數(shù)。
3)判斷是否在可經(jīng)過(guò)路徑表s中。
4)如在可運(yùn)行路徑中,則獲取相關(guān)信息服務(wù)點(diǎn)位置,并搜集服務(wù)點(diǎn)信息資源。
5)如不在可運(yùn)行路徑中,則蟻群重新回到起點(diǎn)m,重新獲取初始參數(shù),重新運(yùn)行判斷。
6)蟻群搜集完當(dāng)前經(jīng)過(guò)路徑中所有服務(wù)點(diǎn)信息資源后,判斷是否完成本次搜集工作。如完成,則到覓食終點(diǎn)n,并輸出結(jié)果。如未完成本次搜集任務(wù),則跳回信息服務(wù)點(diǎn),重新獲取剩余共享資源量[11]。
其流程圖如圖2所示。
圖2 流程圖
該仿真實(shí)驗(yàn)使用20臺(tái)PC搭建云計(jì)算環(huán)境的模擬局域網(wǎng),PC硬件配置如表1所示。
使用其中1臺(tái)搭建為云服務(wù)平臺(tái),主要用來(lái)設(shè)置服務(wù)信息點(diǎn),提供相關(guān)信息共享資源,具有數(shù)據(jù)挖掘、存儲(chǔ)等功能[12]。為使該平臺(tái)具有云計(jì)算的仿真環(huán)境,調(diào)度資源使用C#語(yǔ)言支持,結(jié)果分析、計(jì)算使用具有分布式架構(gòu)的Matlab平臺(tái)實(shí)現(xiàn),該平臺(tái)可以提供高效的數(shù)據(jù)采集功能。在仿真實(shí)驗(yàn)中,設(shè)置每臺(tái)客戶端有6個(gè)服務(wù)信息點(diǎn)作為數(shù)據(jù)采集點(diǎn),各服務(wù)信息點(diǎn)之間建立通訊關(guān)聯(lián)。使用調(diào)值參數(shù)g和p設(shè)置仿真數(shù)據(jù),其中g(shù)代表信息服務(wù)點(diǎn)中共享信息量大小,設(shè)置取值區(qū)間為 0~100[13]。p為迭代反應(yīng)頻率,設(shè)置為200,400,600,800,1000,為體現(xiàn)實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確性,應(yīng)采集相同條件下的20組仿真實(shí)驗(yàn)數(shù)據(jù),并統(tǒng)計(jì)其平均值[14]。具體仿真實(shí)驗(yàn)數(shù)據(jù)如圖3所示。
表1 PC硬件表
圖3 迭代反應(yīng)數(shù)據(jù)
由圖3可知,隨著信息量值不斷增加,迭代反應(yīng)頻率也在不斷增加,但震蕩幅度在變小,變化相對(duì)較慢,其負(fù)載度較為均衡[15]。表明該算法在云計(jì)算調(diào)度資源上具有較強(qiáng)的尋優(yōu)能力,特別是隨著迭代次數(shù)的增加,蟻群數(shù)也對(duì)應(yīng)增加,表示其收縮頻率增加,也就加速了資源調(diào)度的速度。在總?cè)蝿?wù)量不變的情況下,縮短了調(diào)度的時(shí)間,提高了調(diào)度的效率,在速度優(yōu)化和尋優(yōu)能力上得到最佳結(jié)果,該方法可完全滿足大部分云計(jì)算調(diào)度資源中的相關(guān)問(wèn)題。
本文提出了基于蟻群優(yōu)化算法的云計(jì)算調(diào)度資源模型的研究,通過(guò)仿真模擬,可以論證在云計(jì)算平臺(tái)下,處理大量數(shù)據(jù)信息,采用該種算法具有縮短響應(yīng)時(shí)間,提高運(yùn)算效率,在云計(jì)算調(diào)度資源上提出了最優(yōu)解決路徑,充分顯示出了其分布性、并行性、快速計(jì)算性等優(yōu)勢(shì),具有一定的應(yīng)用價(jià)值。