許繪香
(鄭州工程技術(shù)學(xué)院信息工程學(xué)院 河南省鄭州市 450044)
計算機(jī)技術(shù)的快速發(fā)展促進(jìn)了互聯(lián)網(wǎng)在更大范圍內(nèi)的應(yīng)用,隨之而來的,其運(yùn)載的數(shù)據(jù)資源總量也曾呈現(xiàn)出爆發(fā)式的增長趨勢[1]。為了提高數(shù)據(jù)計算的效率,云計算技術(shù)應(yīng)運(yùn)而生,并在互聯(lián)網(wǎng)中得到了廣泛應(yīng)用。與一般的算法相比,云計算以客戶端的數(shù)據(jù)資源需求作為計算目標(biāo),對網(wǎng)絡(luò)中存儲的資源進(jìn)行篩選,以此實(shí)現(xiàn)資源的個性化推送[2]。同時,在云計算技術(shù)不斷發(fā)展下,其逐漸成長為一種商業(yè)化模式,在IT、教育、金融等領(lǐng)域取得了良好的應(yīng)用效果。為了提高云計算的效率,以數(shù)據(jù)為依托的云計算中心成為了數(shù)據(jù)資源計算、分配的中樞,并且在規(guī)模不斷擴(kuò)大的同時,其運(yùn)作形式也隨著用戶需求發(fā)生動態(tài)變化[3-5]??紤]到資源規(guī)模本身的龐大屬性,解決資源調(diào)度階段的能耗問題、以及資源利用率問題成為了提高云虛擬機(jī)云計算中心工作效率的關(guān)鍵?,F(xiàn)階段,虛擬機(jī)云計算中心數(shù)據(jù)資源調(diào)度主要考慮的是效率問題,以能耗為目標(biāo)的研究相對較少。因此,以調(diào)度能耗控制為目標(biāo),綜合考慮性能和經(jīng)濟(jì)效益之間的平衡關(guān)系,加強(qiáng)對虛擬機(jī)數(shù)據(jù)資源調(diào)度技術(shù)的優(yōu)化研究是十分必要的[6]。
為此,本文提出基于云計算中的虛擬機(jī)數(shù)據(jù)資源調(diào)度優(yōu)化技術(shù)研究。在合理分配調(diào)度任務(wù)的基礎(chǔ)上,利用遺傳算法優(yōu)化調(diào)度任務(wù)的安置位置,最后實(shí)現(xiàn)資源的低能耗遷移,并通過實(shí)驗驗證了所提方法的有效性。通過本文的研究,以期為提升數(shù)據(jù)資源的調(diào)度效果提供有價值的參考。
為了降低資源調(diào)度過程中由于調(diào)度任務(wù)分配不當(dāng)帶來的額外能耗,本文首先根據(jù)云計算中心接收到的調(diào)度任務(wù),對任務(wù)與虛擬機(jī)資源之間建立匹配關(guān)系,通過這樣的方式實(shí)現(xiàn)對調(diào)度任務(wù)的合理分配。
當(dāng)云計算中心接收到資源調(diào)度任務(wù)后,首先根據(jù)任務(wù)的緊迫性將其進(jìn)行排序處理,根據(jù)排序結(jié)果,依次匹配任務(wù)。緊迫性的排序依據(jù)主要調(diào)度任務(wù)中ID信息中的時間鐘,將時間鐘上時刻與排序時刻距離最遠(yuǎn)的任務(wù)作為首要任務(wù),后面依次推進(jìn)。其計算方式為:
其中,pest(*)表示任務(wù)的排序結(jié)果,Dn表示云計算中心接收到的調(diào)度任務(wù),tn表示Dn任務(wù)對應(yīng)的時間鐘顯示的時間,T表示分配執(zhí)行起始時間。
以此為基礎(chǔ),假設(shè)在n個調(diào)度任務(wù)中,首要任務(wù)為Dn,在對其分配時,本文采用廣度優(yōu)先的原則,在云計算中心按照自上而下的方式,遍歷中心包含的每一個與任務(wù)適配的物理機(jī)[7]。由于云計算中心是以分布式的形式存在的,因此,在計算最佳調(diào)度物理機(jī)時,本文主要運(yùn)用發(fā)送者啟動策略篩選。將調(diào)度任務(wù)的發(fā)送端作為目標(biāo)節(jié)點(diǎn),首先計算云計算中心虛擬機(jī)到任務(wù)發(fā)送節(jié)點(diǎn)的距離,其可表示為:
其中,d表示虛擬機(jī)到任務(wù)發(fā)送節(jié)點(diǎn)的距離,p表示虛擬機(jī)的分布,λ為二者之間的空閑系數(shù),q為調(diào)度任務(wù)的可接受的損耗系數(shù)。通過這樣的方式,確定滿足調(diào)度需求的最佳虛擬機(jī),實(shí)施Dn任務(wù)。
在確定實(shí)施調(diào)度任務(wù)的虛擬機(jī)后,為了降低調(diào)度過程中的能耗,本文采用遺傳算法對數(shù)據(jù)資源的安置位置進(jìn)行優(yōu)化計算,以此實(shí)現(xiàn)提高數(shù)據(jù)調(diào)度的適配性,降低能耗。
首先,將完成調(diào)度工作可能經(jīng)過的物理機(jī)作為遺傳算法的染色體,由于遺傳算法的冗余度會隨著計算規(guī)模的增加而變大,因此,本文將容量相同的物理機(jī)設(shè)計為相同的編碼,以此為基礎(chǔ)建立物理機(jī)小于虛擬機(jī)之間的多對一關(guān)系。其次就是對染色體的選擇。本文建立了適應(yīng)度指標(biāo),按照適應(yīng)度篩選出初代群體。其中,染色體的適應(yīng)度計算方式為:
通過這樣的方式,統(tǒng)計各個染色體的適應(yīng)度??紤]到遺傳算法容易受到局部最優(yōu)的限制,影響下一代的計算精度。
為了確保交叉得到的染色體具有初代群體中的優(yōu)秀基因,本文將單個染色體的負(fù)載作為評價指標(biāo),分析交叉結(jié)果的優(yōu)劣,其可以表示為:
其中,gp表示染色體p的評價結(jié)果。當(dāng)gp越大時,表明該物理機(jī)的負(fù)載越高,對應(yīng)的調(diào)度鏈路均衡性越差,調(diào)度過程中的能耗越高;當(dāng)gp越小時,表明該物理機(jī)的負(fù)載越低,對應(yīng)鏈路的均衡性越高,調(diào)度過程中的能耗越低。故而本文選擇gp=maxgp的染色體作為最終的安置位置。
在確定最終的資源安置位置后,既可以實(shí)施數(shù)據(jù)資源的遷移。由于云計算中心點(diǎn)各個虛擬機(jī)的負(fù)載會隨著調(diào)度任務(wù)的進(jìn)行而出現(xiàn)變化,因此,本文設(shè)計了單臺虛擬機(jī)的遷移時間閾值。
當(dāng)調(diào)度任務(wù)提交到云計算中心后,首先將其部署到對應(yīng)方虛擬機(jī)資源中,并在每個虛擬機(jī)上對任務(wù)適配性進(jìn)行計算,當(dāng)虛擬機(jī)的負(fù)載結(jié)果為c時,計算遷移時間的上限和下限,將調(diào)度任務(wù)中的虛擬機(jī)的數(shù)量表示為調(diào)度任務(wù)量數(shù)量,完成對資源的遷移。
為了測試本文提出優(yōu)化技術(shù)的應(yīng)用效果,進(jìn)行了試驗測試,利用仿真平臺模擬不同的調(diào)度環(huán)境,通過對比的方式分析了文獻(xiàn)[3]、文獻(xiàn)[4]、文獻(xiàn)[5]以及本文方法的調(diào)度效果。
本文利用CloudSim作為實(shí)驗的基礎(chǔ)框架,CloudSim的技術(shù)源是GridSim,其可以通過模擬的方式對大規(guī)模云計算中心的運(yùn)行狀態(tài)進(jìn)行還原,可以以更加直觀的方式展示資源調(diào)度的效果。同時,CloudSim對運(yùn)行環(huán)境的要求較低,支持Windows 和 Linux 雙平臺運(yùn)行,可以滿足對大型云基礎(chǔ)設(shè)施的模擬需求,不僅可以實(shí)現(xiàn)對不同類型資源的分類,并且可以按照輸入的控制命令進(jìn)行相應(yīng)的資源分配動作。除此之外,CloudSim自身具備完整的服務(wù)代理模塊,自帶的虛擬引擎可以確保虛擬機(jī)與物理機(jī)之間的轉(zhuǎn)換。更重要的是,其允許加入不同模擬元素,因此在能耗感知方面具有更高的靈敏性。以此為基礎(chǔ),本文應(yīng)用的承載設(shè)備為內(nèi)存64G的Win7操作系統(tǒng)。為了分析在不同的虛擬機(jī)請求規(guī)模下,四種方法的性能,實(shí)驗將工作負(fù)載規(guī)模分別設(shè)置為100、200、300、400、500個虛擬機(jī),并運(yùn)行10次,將10平均值作為評估的最終數(shù)據(jù)。
四種方法下,不同調(diào)度規(guī)模的能耗情況如表1所示。
表1:不同方法下能耗情況/w
從表1中可以看出,隨著虛擬機(jī)請求規(guī)模逐漸增加,本文方法的優(yōu)勢越來越明顯,能夠?qū)崿F(xiàn)降低調(diào)度能耗的目的,在相同調(diào)度條件下,能耗更少。
為了進(jìn)一步對本文方法的節(jié)能效果進(jìn)行深入分析,對比了四種方法下,在完成調(diào)度任務(wù)時記錄的物理機(jī)數(shù)量,其結(jié)果如圖1所示。
圖1:激活物理機(jī)數(shù)量
從圖1中可以看出,本文方法的激活數(shù)量更少,且隨著虛擬機(jī)數(shù)量增加,這種優(yōu)勢并未受到影響,而是以穩(wěn)定的趨勢保持,實(shí)現(xiàn)了對能耗的有效控制。
隨著互聯(lián)網(wǎng)用戶數(shù)量增多,數(shù)據(jù)資源在類型以及數(shù)量上都呈現(xiàn)出明顯的增長趨勢,考慮到這種增長將會以長期的形式存在,對虛擬機(jī)的資源調(diào)度提出了相對較高的要求。如何面對海量的數(shù)據(jù)資源和調(diào)度任務(wù)實(shí)現(xiàn)節(jié)能高效的資源調(diào)度成為了計算機(jī)行業(yè)面臨的關(guān)鍵問題。本文提出基于云計算中的虛擬機(jī)數(shù)據(jù)資源調(diào)度優(yōu)化技術(shù)研究。通過建立調(diào)度任務(wù)與云計算中心虛擬機(jī)之間的匹配關(guān)系,實(shí)現(xiàn)對調(diào)度任務(wù)的合理分配,利用遺傳算法的優(yōu)越性,對安置位置進(jìn)行優(yōu)化,確保安置鏈路負(fù)載的均衡性,以此為基礎(chǔ)實(shí)施資源的遷移,降低資源調(diào)度過程中的能耗。通過本文,以期為資源調(diào)度的研究提供有價值的參考。