亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        IaaS云融合Q學(xué)習(xí)的自適應(yīng)虛擬機(jī)部署

        2021-07-21 03:45:12宋建松陜粉麗閆慧鵬
        關(guān)鍵詞:資源

        宋建松,連 瑋,陜粉麗,閆慧鵬

        (1.長治學(xué)院 計(jì)算機(jī)系,山西 長治 046011;2.中國電信集團(tuán)有限公司 長治分公司,山西 長治 046011)

        0 引 言

        虛擬化是云數(shù)據(jù)中心的主要技術(shù),利用虛擬化可以在物理服務(wù)器上部署不同性能的虛擬機(jī),提高資源利用率[1]。虛擬化的主要優(yōu)勢是在數(shù)據(jù)中心內(nèi)可以進(jìn)行動(dòng)態(tài)虛擬機(jī)合并來降低能耗,通過將虛擬機(jī)部署到更少物理主機(jī)上,將閑置主機(jī)轉(zhuǎn)換為睡眠以提升能效。動(dòng)態(tài)虛擬機(jī)合并實(shí)現(xiàn)了運(yùn)行時(shí)虛擬機(jī)在不同主機(jī)間的在線遷移[2],尤其在主機(jī)處于低負(fù)載或超載狀態(tài)時(shí),遷移將具有諸多好處。因此,通過遷移會(huì)使得數(shù)據(jù)中心的資源管理更加靈活。然而,虛擬機(jī)在線遷移對于運(yùn)行在虛擬機(jī)上的任務(wù)具有負(fù)面影響[3]。由于在云服務(wù)提供者與其用戶間提供相應(yīng)服務(wù)質(zhì)量至關(guān)重要,所以動(dòng)態(tài)虛擬機(jī)合并應(yīng)該著重考慮優(yōu)化虛擬機(jī)遷移量。

        很多算法通過裝箱算法求解虛擬機(jī)部署問題,但會(huì)產(chǎn)生過多非必要遷移,增加SLA違例。比較已有工作最小化活躍主機(jī)量,本文設(shè)計(jì)一種基于Q學(xué)習(xí)的虛擬機(jī)部署算法,同步最小化虛擬機(jī)遷移量和SLA違例。所提算法由兩個(gè)階段組成,第一個(gè)階段目標(biāo)是從超載主機(jī)上遷移虛擬機(jī),避免SLA違例;第二個(gè)階段目標(biāo)是合并非超載主機(jī)的虛擬機(jī)。為了預(yù)測負(fù)載,設(shè)計(jì)了一種Q學(xué)習(xí)機(jī)制的預(yù)測方法,對未來資源利用率進(jìn)行有效預(yù)測。實(shí)驗(yàn)部分通過運(yùn)行云環(huán)境中的兩種現(xiàn)實(shí)負(fù)載流對算法進(jìn)行評估,驗(yàn)證了該算法在優(yōu)化能效、提升性能和降低虛擬機(jī)遷移量上的優(yōu)勢。

        1 相關(guān)工作分析

        目前,很多方法已被提出用于求解多目標(biāo)優(yōu)化的資源管理問題,在IaaS云提供方與其用戶間維持需要的QoS等級(jí)是當(dāng)前云資源管理的最主要目標(biāo)之一?;谶@一考慮,多數(shù)已有算法利用靜態(tài)利用率閾值預(yù)防服務(wù)性能的下降。文獻(xiàn)[4]利用一個(gè)上限值避免主機(jī)CPU的利用率達(dá)到100%,從而導(dǎo)致性能降低。文獻(xiàn)[5]設(shè)計(jì)的虛擬機(jī)部署算法將主機(jī)CPU利用率維持在靜態(tài)上限與下限值之間。文獻(xiàn)[6]利用靜態(tài)CPU閾值發(fā)現(xiàn)數(shù)據(jù)中心內(nèi)的低載和超載主機(jī)。靜態(tài)閾值設(shè)置雖然具有簡單性,但在動(dòng)態(tài)的云負(fù)載環(huán)境中,不同類型的應(yīng)用負(fù)載運(yùn)行在一臺(tái)主機(jī)上,靜態(tài)閾值不切實(shí)際。因此,利用率閾值應(yīng)用根據(jù)負(fù)載類型的不同做出相應(yīng)調(diào)整,并以此執(zhí)行有效的虛擬機(jī)優(yōu)化部署。文獻(xiàn)[7] 根據(jù)歷史數(shù)據(jù)的統(tǒng)計(jì)分析設(shè)計(jì)多種CPU閾值的預(yù)測方法,在當(dāng)前的主機(jī)CPU利用率超過上限值的基礎(chǔ)上,通過虛擬機(jī)部署算法實(shí)現(xiàn)虛擬機(jī)遷移。然而,該算法僅考慮了當(dāng)前的資源請求,忽略了未來的資源請求,此時(shí)得到的閾值會(huì)無法反映當(dāng)前的負(fù)載狀況。因此,該過程會(huì)產(chǎn)生過多非必須的虛擬機(jī)遷移,進(jìn)而增加數(shù)據(jù)中心內(nèi)SLA違例的風(fēng)險(xiǎn)。

        本文設(shè)計(jì)了IaaS中的一種自適應(yīng)的多層次資源管理系統(tǒng)SARMS,在此系統(tǒng)的基礎(chǔ)上,主要做了以下工作:

        (1)利用Q學(xué)習(xí)機(jī)制設(shè)計(jì)了一種自適應(yīng)利用率閾值A(chǔ)UT機(jī)制動(dòng)態(tài)調(diào)整資源利用率閾值。不同于現(xiàn)有工作僅僅考慮CPU利用率,AUT同步考慮了CPU資源和內(nèi)存資源利用率。結(jié)合兩類資源閾值,SARMS系統(tǒng)可以更好識(shí)別SLA違例并對其進(jìn)行預(yù)防。

        (2)在SARMS系統(tǒng)內(nèi)設(shè)計(jì)了一種虛擬機(jī)部署優(yōu)化算法可維持主機(jī)利用率在自適應(yīng)閾值以內(nèi),以避免SLA違例;同時(shí),算法可以將虛擬機(jī)合并至最小數(shù)量的活躍主機(jī)上,以降低數(shù)據(jù)中心內(nèi)的整體能耗。

        (3)利用Google負(fù)載和PlanetLab負(fù)載兩種現(xiàn)實(shí)數(shù)據(jù)流在模擬云環(huán)境中對算法性能進(jìn)行評測,評估了Q學(xué)習(xí)機(jī)制下對利用率閾值自適應(yīng)調(diào)整的有效性,并與其它閾值算法在整體能耗、SLA違例比例以及虛擬機(jī)完成的遷移量進(jìn)行了系統(tǒng)比較,體現(xiàn)了本文算法的性能優(yōu)勢。

        2 系統(tǒng)模型

        考慮數(shù)據(jù)中心由m臺(tái)異構(gòu)物理主機(jī)構(gòu)成,表示為PM={PM1,PM2,…,PMm}。 每臺(tái)物理主機(jī)擁有D類資源屬性,包括CPU、內(nèi)存、網(wǎng)絡(luò)I/O和存儲(chǔ)能力。多臺(tái)虛擬機(jī)VM可以通過虛擬機(jī)監(jiān)視器VMM部署在一臺(tái)主機(jī)上。初始時(shí),虛擬機(jī)根據(jù)降序最佳適應(yīng)啟發(fā)式方法BFD部署在虛擬機(jī)上。在任意給定的時(shí)間,用戶發(fā)送n臺(tái)虛擬機(jī)的請求,表示為VM={VM1,VM2,…VMn}, 部署在物理主機(jī)上。由于虛擬機(jī)和主機(jī)的請求資源利用率會(huì)隨著時(shí)間發(fā)生改變,云資源管理系統(tǒng)需要根據(jù)資源請求控制物理和虛擬資源分配?;诖?,本文設(shè)計(jì)了一種基于分層的自適應(yīng)資源管理系統(tǒng),如圖1所示,將系統(tǒng)命名為SARMS。系統(tǒng)由3層拓?fù)浣Y(jié)構(gòu)組成,最低下的訪問層由物理主機(jī)構(gòu)成,主機(jī)由機(jī)架頂層ToR交換機(jī)連接。中間層為聚合層,主機(jī)集群通過聚合交換機(jī)AS連接在不同的模塊中。最高層為核心層,通過AS和核心交換機(jī)的安全連接至互聯(lián)網(wǎng)。

        圖1 系統(tǒng)模型

        SARMS體系將云資源管理問題劃分為跨層的多代理模型,每個(gè)代理求解一個(gè)子問題。因此,可將其視為多代理的分布式資源管理系統(tǒng)。系統(tǒng)一共由4類代理構(gòu)成。在核心層,全局代理GAs接收用戶的虛擬機(jī)請求,并將其派發(fā)至聚合層中的不同模塊代理MAs。每個(gè)MA根據(jù)來自于CAs的接收信息(包括集群中已經(jīng)利用和總體資源能力)將虛擬機(jī)VM請求分派至集群代理CAs。每個(gè)CA接收來自于MA的請求并分配請求至集群的本地代理LAs。同時(shí),數(shù)據(jù)中心內(nèi)為了降低SLA違例和降低能耗,需要周期性運(yùn)行虛擬機(jī)部署優(yōu)化算法。每個(gè)LA監(jiān)測一臺(tái)主機(jī),根據(jù)自適應(yīng)利用率閾值A(chǔ)UT機(jī)制發(fā)現(xiàn)該主機(jī)的超載或非超載狀態(tài),并將其報(bào)告至集群代理CAs。LAs、CAs和MAs的數(shù)量則分別對應(yīng)于主機(jī)、ToRs和CSs的數(shù)量。

        3 自適應(yīng)虛擬機(jī)部署算法設(shè)計(jì)

        3.1 假設(shè)條件

        數(shù)據(jù)中心內(nèi),每臺(tái)主機(jī)PMi擁有一個(gè)d維總能力矢量,表示為CPMi={C1,PMi,C2,PMi,…,Cd,PMi}, 其中,Cd,PMi表示PMi的d維資源總能力。每一維度對應(yīng)一種物理資源,如:CPU能力、內(nèi)存、網(wǎng)絡(luò)I/O和磁盤存儲(chǔ)。PMi利用的能力矢量表示為UPMi={U1,PMi,U2,PMi,…,Ud,PMi}, 其中,Ud,PMi表示PMi的d維資源已利用能力矢量。如:若3臺(tái)虛擬機(jī)VM部署在一臺(tái)主機(jī)上,則主機(jī)PM已利用的CPU能力為3臺(tái)虛擬機(jī)的CPU利用率之和。PMi的負(fù)載為每個(gè)個(gè)體資源d∈D的資源利用率Rd,PMi之和,表示為

        LoadPMi=RCPU,PMi+Rmem,PMi

        (1)

        其中,Rd,PMi表示主機(jī)PMi已利用資源Ud,PMi與其總資源能力Cd,PMi之比,表示為

        Rd,PMi=Ud,PMi/Cd,PMi

        (2)

        需要說明的是:云數(shù)據(jù)中心內(nèi),相比網(wǎng)絡(luò)資源和磁盤存儲(chǔ)資源,CPU資源和內(nèi)存資源是相對更為受限的資源,因此本文僅考慮了這兩類資源的限制。但以現(xiàn)有模型將其擴(kuò)展至另外兩種資源上,也是比較容易的,不會(huì)對虛擬機(jī)部署決策的性能表現(xiàn)產(chǎn)生反轉(zhuǎn)式影響。

        虛擬機(jī)VMi的負(fù)載定義為

        LoadVMi=RCPU,VMi+Rmem,VMi

        (3)

        式(3)表明,虛擬機(jī)上的負(fù)載為其請求的CPU和內(nèi)存負(fù)載之和。相應(yīng)地

        Rd,VMi=Ud,VMi/Cd,VMi,d=CPU,mem

        (4)

        式中:Rd,VMi表示VMi請求的d維資源利用與VMi的d維資源消耗的比率,d指CPU或內(nèi)存mem資源。式(4)表明,某一維度資源上的資源請求應(yīng)為虛擬機(jī)上資源消耗與資源能力之比。

        3.2 主機(jī)超載狀態(tài)發(fā)現(xiàn)

        本地代理LAi利用資源利用率自適應(yīng)閾值A(chǔ)UT機(jī)制發(fā)現(xiàn)每臺(tái)物理主機(jī)PM的狀態(tài)。若CPU或內(nèi)存利用率超過自適應(yīng)閾值,則將PMi考慮為超載集合Pover中的成員;否則,可將其視為非超載集合Pnonover中的一個(gè)成員。由于負(fù)載的動(dòng)態(tài)變化,自適應(yīng)閾值Td,PMi需要根據(jù)當(dāng)前負(fù)載狀況在每個(gè)資源維度上進(jìn)行調(diào)整。為了解決該問題,AUT利用Q學(xué)習(xí)方法在線從當(dāng)前環(huán)境中學(xué)習(xí)經(jīng)驗(yàn),并利用該經(jīng)驗(yàn)知識(shí)尋找每個(gè)閾值的自適應(yīng)值。Q學(xué)習(xí)機(jī)制在對環(huán)境無先驗(yàn)知識(shí)的前提下提供了一種自適應(yīng)機(jī)制。在Q學(xué)習(xí)機(jī)制中,LAi首先觀測環(huán)境的當(dāng)前狀態(tài)s,然后在當(dāng)前時(shí)槽t中執(zhí)行一個(gè)行為a。定義AUT機(jī)制中的狀態(tài)s為 (RCPU,PMi,Rmem,PMi),RCPU,PMi和Rmem,PMi分別表示主機(jī)PMi的CPU利用率和內(nèi)存利用率。

        根據(jù)觀測狀態(tài)s,LAi選擇一個(gè)利用率閾值Td,PMi={0.5,0.6,0.7,0.8,0.9} 作為每個(gè)d維度資源上的行為a。由于在PM的利用率接近于100%時(shí),可能導(dǎo)致SLA違例的風(fēng)險(xiǎn),本文將資源利用率限制在90%以內(nèi)。在Q學(xué)習(xí)過程的初始階段,LA執(zhí)行一個(gè)確定的搜索行為,此時(shí)隨機(jī)選擇一個(gè)行為。然后,LAi根據(jù)其經(jīng)驗(yàn)(搜索)選擇一個(gè)行為。

        在下一個(gè)時(shí)槽t+1的開始階段,環(huán)境行為轉(zhuǎn)換為一個(gè)新的狀態(tài)s’,LAi根據(jù)加強(qiáng)信號(hào)改進(jìn)其知識(shí)。該信號(hào)可以反映行為發(fā)生后系統(tǒng)的成功或失效。本文將信號(hào)考慮為本地懲罰值、集群和模塊懲罰值之和。由于LAi執(zhí)行行為a時(shí)需要支付懲罰值,LAi在學(xué)習(xí)期間需要最小化其平均長期懲罰值。每個(gè)懲罰值即為所設(shè)計(jì)系統(tǒng)每一層次中的目標(biāo)函數(shù),該目標(biāo)函數(shù)決定了代理行為對于性能和功耗的綜合影響。

        本地懲罰值LPi表示本地代理i決策行為對于主機(jī)PMi的功耗和性能影響。由于該懲罰值由LA計(jì)算,因此將其稱為本地懲罰值。由于將PM轉(zhuǎn)換為節(jié)能模式會(huì)降低其性能等級(jí),故AUT需要在功耗和性能間做出均衡考慮。因此,引入一個(gè)多目標(biāo)函數(shù)LPi(SLAV,POW), 將功耗和性能均考慮在內(nèi),并利用該函數(shù)給出在RL上的懲罰值。性能需求可形式化為服務(wù)等級(jí)協(xié)議SLA,而主機(jī)PMi的SLA違例SLAVt+1,PMi即為時(shí)槽t+1時(shí)所有虛擬機(jī)的請求資源與實(shí)際分配的資源之差。時(shí)槽t+1時(shí)的本地懲罰值可定義為SLA違例SLAV與主機(jī)PMi的總功耗POW的線性函數(shù)

        LPi(SLAV,POW)=SLAVt+1,PMi+β×POWt+1,PMi

        (5)

        其中,β為權(quán)重因子,代表功耗目標(biāo)與性能目標(biāo)間的關(guān)系。

        集群懲罰值CPj,i從集群代理j發(fā)送至本地代理i。該懲罰值代表本地代理i的行為決策對于同一集群中其它主機(jī)PM的影響。因此,集群懲罰值是除了LPi之外的集群j的本地懲罰的均值。此外,本地代理i可以得到集群中總體的性能與功耗

        (6)

        其中,Y表示集群j中本地代理的數(shù)量。

        CAj接收來自模塊代理z的模塊懲罰值MPz,j, 該懲罰值表示除了其集群懲罰值之外的模塊內(nèi)的其它集群的懲罰值,定義為

        (7)

        其中,X表示模塊z中的集群代理的數(shù)量。

        最后,LAi更新一個(gè)Q值Qt+1(s,a), 該值通過總體懲罰值Pt+1,i與相應(yīng)的行為-狀態(tài)對相聯(lián)系,即總體懲罰值為本地懲罰值LP、集群懲罰值CP和模塊懲罰值MP之和

        Pt+1,i=LPi+CPj,i+MPz,j

        (8)

        (9)

        其中,α表示學(xué)習(xí)率,取值空間為0至1之間,若取值為0,表明算法沒有發(fā)生學(xué)習(xí)行為,若取值為1,則表明僅僅利用了最近的信息來學(xué)習(xí)。折扣因子γ取值0至1之間,給出近期未來和遠(yuǎn)期未來的懲罰權(quán)重。Qt+1(s,a) 表示狀態(tài)s時(shí)行為a導(dǎo)致的期望功耗。因此,本地代理在再次觀測到狀態(tài)s時(shí)將選擇使得Q值達(dá)到最小的行為。

        3.3 虛擬機(jī)部署最優(yōu)化算法過程

        為了降低SLA違例和物理主機(jī)能耗,每個(gè)集群代理均需要周期性運(yùn)行算法1如示的虛擬機(jī)部署最優(yōu)化算法,該算法通過兩個(gè)階段創(chuàng)建虛擬機(jī)遷移計(jì)劃M。

        在第一個(gè)階段中,即步驟(1)~步驟(22),算法目標(biāo)是從超載主機(jī)上遷移部分虛擬機(jī)以避免可能的SLA違例。遷移虛擬機(jī)時(shí)選擇的是擁有最小遷移時(shí)間的虛擬機(jī)優(yōu)先遷移,遷移時(shí)間計(jì)算為分配至虛擬機(jī)的內(nèi)存除以源主機(jī)與目標(biāo)主機(jī)間的可用網(wǎng)絡(luò)帶寬。算法首先對源主機(jī)pso上的虛擬機(jī)按其利用的內(nèi)存能力進(jìn)行降序排列(所有網(wǎng)絡(luò)帶寬均設(shè)置為1 GBps),即步驟(3),然后,開始按序遷移虛擬機(jī)直到源主機(jī)PM仍被考慮為超載集合Pover中的一個(gè)成員,即步驟(4)~步驟(5)。為了尋找重新分配遷移虛擬機(jī)v的合適目標(biāo)主機(jī)pde,算法優(yōu)先考慮的是集群中非超載主機(jī)集合Pnonover,即步驟(7)~步驟(12)。若虛擬機(jī)和主機(jī)的整體資源利用率低于自適應(yīng)閾值,則該P(yáng)M被選擇為目標(biāo)主機(jī)pde,即步驟(8)。若算法在同一集群內(nèi)無法找到目標(biāo)主機(jī)pde,則將該請求發(fā)送至模塊代理,在其它集群內(nèi)尋找,即步驟(13)~步驟(15)。若活躍狀態(tài)的主機(jī)沒有足夠的資源部署遷移虛擬機(jī)v,則算法重新開啟一臺(tái)休眠主機(jī)進(jìn)行部署。最后,新的虛擬機(jī)部署被添加至遷移計(jì)劃M1中,即步驟(16)。遷移計(jì)劃是一個(gè)三元組集合,表示為 (pso;v;pde),pso表示源主機(jī),v表示遷移的虛擬機(jī),pde表示目標(biāo)主機(jī)。步驟(17)對源主機(jī)和目標(biāo)主機(jī)的資源利用率進(jìn)行更新。

        在第二個(gè)階段中,即步驟(23)~步驟(45),算法目標(biāo)是合并非超載主機(jī)上的虛擬機(jī)。首先基于當(dāng)前負(fù)載按降序排列非超載主機(jī)集合Pnonover內(nèi)的主機(jī),即步驟(24)。然后,從列表中的最低載主機(jī)開始遍歷,將其考慮為一個(gè)源主機(jī)pso,即步驟(25)~步驟(26)。算法嘗試遷移其上的所有虛擬機(jī),以便釋放源主機(jī)pso。為了選擇從pso上優(yōu)先需要遷移的虛擬機(jī),算法根據(jù)其負(fù)載按降序?qū)so上的虛擬機(jī)進(jìn)行排列,即步驟(27)。算法從集合Pnonover中的第一個(gè)主機(jī)(負(fù)載最重主機(jī))開始遍歷尋找目標(biāo)主機(jī)pde,即步驟(30)。若第一個(gè)主機(jī)不滿足,則選擇第二個(gè)主機(jī),依此類推。算法選擇的目標(biāo)主機(jī)pde需要在考慮閾值的情況下?lián)碛凶銐虻奶摂M機(jī)請求的資源能力,即步驟(31)。最后,新的虛擬機(jī)部署被添加至遷移計(jì)劃M2中,即步驟(32)。步驟(33)對源主機(jī)和目標(biāo)主機(jī)的已利用資源能力進(jìn)行更新,以反映出新的虛擬機(jī)部署結(jié)果。變量success定義為檢測是否來自于源主機(jī)pso上的所有虛擬機(jī)能夠完成遷移。若有一個(gè)虛擬機(jī)無法完成遷移,則全部不遷移。此時(shí),success=false,算法將移除遷移計(jì)劃中的所有三元組,并恢復(fù)源主機(jī)和目標(biāo)主機(jī)的資源能力,即步驟(39)~步驟(41)。否則,在其上的所有虛擬機(jī)遷移后,空閑源主機(jī)pso將轉(zhuǎn)換為休眠狀態(tài),即步驟(42)~步驟(44)。算法的輸出為遷移計(jì)劃M,包括了在第一階段和第二階段中生成的所有遷移三元組,即步驟(46)~步驟(47)。最后,集群代理根據(jù)遷移計(jì)劃M將遷移指令發(fā)送至集群的本地代理,執(zhí)行具體的虛擬機(jī)遷移。

        算法1: 虛擬機(jī)部署最優(yōu)化算法

        (1)M1=null

        (2)forpso∈Poverdo

        (3)Vm←sort VMs onPMpsoin ascending order ofUmem,v

        (4) forv∈Vmdo

        (5) ifpso∈Poverthen

        (6)pde=null

        (7) forp∈Pnonoverdo

        (8) if (RCPU,p+RCPU,v≤TCPU,p)&(Rmem,p+Rmem,v≤Tmem,p)

        (9)pde=p

        (10) break

        (11) end if

        (12) end for

        (13) ifpde=null then

        (14) send a request to the module agent to findpde

        (15) end if

        (16)M1=M1∪{(pso,v,pde)}

        (17) updateRpsoandRpde

        (18) else

        (19) break

        (20) end if

        (21) end for

        (22)end for

        (23)M2=null

        (24)sortPnonoverin descending order ofLoadp

        (25)fori=|Pnonover| to 1 do

        (26)pso=Pnonover[i]

        (27)Vm←sort VMs onPMpsoin descending order ofLoadv

        (28) forv∈Vmdo

        (29)success=false

        (30) forpde∈Pnonover-psodo

        (31) if(RCPU,pde+RCPU,v≤TCPU,pde)&(Rmem,pde+Rmem,v≤Tmem,pde)

        (32)M2=M2∪{(pso,v,pde)}

        (33) updateRpsoandRpde

        (34)success=true

        (35) break

        (36) end if

        (37) end for

        (38) end for

        (39) ifsuccess=falsethen

        (40)M2=null

        (41) recoverRpsoandRpde

        (42) else

        (43) switchpsoto the sleep mode

        (44) end if

        (45)end for

        (46)M=M1∪M2

        (47)returnM

        3.4 虛擬機(jī)分配

        虛擬機(jī)分配需在SAMRS中的3層結(jié)構(gòu)中得以求解,最低下的訪問層由物理主機(jī)構(gòu)成,主機(jī)由機(jī)架頂層ToR交換機(jī)連接;中間層為聚合層,主機(jī)集群通過聚合交換機(jī)AS連接在不同的模塊中;最高層為核心層,通過AS和核心交換機(jī)的安全連接至互聯(lián)網(wǎng)在核心層和聚合層。具體分配流程是:首先,全局代理和模塊代理通過運(yùn)行BFD算法先將虛擬機(jī)分配至模塊,然后分配虛擬機(jī)至集群。BFD算法根據(jù)當(dāng)前的虛擬機(jī)負(fù)載狀況的降序?qū)μ摂M機(jī)進(jìn)行排列,其目標(biāo)是:如果模塊或集群擁有足夠資源能力分配至虛擬機(jī),則將負(fù)載最輕的虛擬機(jī)分配至負(fù)載最重的模塊或集群中。最后,在訪問層,如果某主機(jī)擁有足夠的CPU和內(nèi)存能力在當(dāng)前自適應(yīng)閾值的前提下部署虛擬機(jī),同集群代理會(huì)將每個(gè)虛擬機(jī)分配至該主機(jī)上,即算法1中的步驟(8)。因此,這樣可以限制虛擬機(jī)請求的資源量在自適應(yīng)度閾值以內(nèi),進(jìn)而最小化可能的性能下降。

        4 仿真實(shí)驗(yàn)

        4.1 測試負(fù)載說明

        利用兩種現(xiàn)實(shí)負(fù)載流測試虛擬機(jī)部署優(yōu)化算法,包括:Google集群數(shù)據(jù)GCD[8]和PlanetLab數(shù)據(jù)[9]。GCD提供的是集群系統(tǒng)中某一個(gè)月內(nèi)的負(fù)載流數(shù)據(jù)。該負(fù)載流涉及12 000 臺(tái)異構(gòu)主機(jī)上的650 k個(gè)任務(wù)。每個(gè)任務(wù)代表一個(gè)Linux程序,其中包含了在CPU(內(nèi)核占用秒數(shù))、內(nèi)存、磁盤存儲(chǔ)空間等資源上的請求。每類資源的利用以5 min作為時(shí)間間隔進(jìn)行收集。利用任務(wù)ID對任務(wù)進(jìn)行標(biāo)識(shí),CPU和內(nèi)存屬性分別考慮為CPU速率和內(nèi)存量的利用。PlanetLab數(shù)據(jù)為CoMon工程的一部分,該工程中,CPU和內(nèi)存利用數(shù)據(jù)從數(shù)以千計(jì)的虛擬機(jī)中每5 min收集一次。該負(fù)載流是一種典型的IaaS云環(huán)境負(fù)載流,如典型的Amazon EC2。GCD和PlanetLab中虛擬機(jī)的負(fù)載所對應(yīng)的CPU和內(nèi)存占用屬性見表1。

        表1 測試負(fù)載流屬性

        4.2 仿真環(huán)境搭建

        為了測試算法效率,在云仿真平臺(tái)CloudSim[10]中進(jìn)行仿真實(shí)驗(yàn)。表2給出了針對兩種測試負(fù)載流的相關(guān)參數(shù)配置。模擬云數(shù)據(jù)中心由若干臺(tái)異構(gòu)物理主機(jī)構(gòu)成,一半主機(jī)配置為HP ProLiant ML110 G4服務(wù)器,每個(gè)內(nèi)核1860 MIPS,另一個(gè)主機(jī)配置為HP ProLiant ML110 G5服務(wù)器,每個(gè)內(nèi)核2660 MIPS。每個(gè)主機(jī)配置兩個(gè)內(nèi)核,4 GB 內(nèi)存和1 GBps的網(wǎng)絡(luò)帶寬。虛擬機(jī)實(shí)例的CPU和內(nèi)存屬性參考Amazon EC2在平臺(tái)中設(shè)置,即:High-CPU中等實(shí)例(2500 MIPS,0.85 GB),越大實(shí)例(2000 MIPS,3.75 GB),小型實(shí)例(1000 MIPS,1.7 GB),微型實(shí)例(500 MIPS,613 MB)。α和γ(Q學(xué)習(xí)因子)分別設(shè)置為0.5和0.8。

        表2 仿真環(huán)境參數(shù)配置

        4.3 評估指標(biāo)

        (1)SLA違例SLAV指標(biāo)。SLAV是一種獨(dú)立的負(fù)載指標(biāo),用于評估虛擬機(jī)部署中SLA的交付情況。SLAV包括主機(jī)超載導(dǎo)致的SLA違例SLAVO和由于遷移導(dǎo)致的SLA違例SLAVM。對于云環(huán)境中的虛擬機(jī)合并問題而言,兩種SLA違例具有同等的重要性,因此,綜合的SLA違例指標(biāo)可考慮為兩個(gè)參數(shù)的乘積,表示為

        SLAV=SLAVO×SLAVM

        (10)

        其中,SLAVO表示活躍主機(jī)經(jīng)歷CPU利用率100%所占的時(shí)間比例,表示為

        (11)

        其中,M表示主機(jī)數(shù)量,Tsi表示主機(jī)i經(jīng)歷的CPU利用率100%(導(dǎo)致SLA違例)的總時(shí)間,Tai表示主機(jī)i活躍狀態(tài)的總時(shí)間。

        SLAVM表示由遷移導(dǎo)致的虛擬機(jī)性能下降,度量為

        (12)

        其中,N表示虛擬機(jī)數(shù)量,Cdj表示由于遷移導(dǎo)致的虛擬機(jī)j性能下降的估算。仿真實(shí)驗(yàn)中,該估算值一般設(shè)為虛擬機(jī)j在所有遷移過程中以MIPS計(jì)算的CPU占用的10%,Crj表示整個(gè)周期中虛擬機(jī)j的總CPU請求量。

        (2)能耗指標(biāo)。該指標(biāo)表示數(shù)據(jù)中心中物理主機(jī)執(zhí)行負(fù)載消耗的總體能耗。主機(jī)能耗取決于CPU、內(nèi)存、存儲(chǔ)及網(wǎng)絡(luò)帶寬的利用率。研究表明,相比其它資源類型,CPU消耗了最多能源。因此,簡化能耗模型后,主機(jī)能耗可表示為其CPU利用率的關(guān)系式。實(shí)驗(yàn)中根據(jù)SPECpower實(shí)驗(yàn)床中現(xiàn)實(shí)的功耗數(shù)據(jù)。表3給出了在不同的負(fù)載條件下兩類主機(jī)HP G4和HP G5的功耗情況,從表中可以看出,低載主機(jī)轉(zhuǎn)換為休眠后可降低能耗。

        表3 不同負(fù)載條件下主機(jī)的功耗/W

        (3)虛擬機(jī)遷移量。在線虛擬機(jī)遷移涉及在源主機(jī)上的CPU處理、源和目標(biāo)主機(jī)間的鏈路帶寬以及遷移時(shí)的服務(wù)停機(jī)、遷移時(shí)間等多重代價(jià),因此,虛擬機(jī)合并過程中需要最小化虛擬機(jī)遷移量。

        4.4 對比算法

        (1)HiVM算法[11]:該算法利用了基于虛擬機(jī)管理方法的利用率預(yù)測方法,根據(jù)當(dāng)前和未來的虛擬機(jī)資源利用優(yōu)化了虛擬機(jī)部署方案。

        (2)MADC算法[12]:基于多代理的動(dòng)態(tài)虛擬機(jī)合并算法,該算法是一種雙層結(jié)構(gòu)的多代理模型。

        (3)3種自適應(yīng)利用率閾值算法[5]:該類算法首先根據(jù)統(tǒng)計(jì)學(xué)方法動(dòng)態(tài)調(diào)整CPU利用率上限閾值,相關(guān)統(tǒng)計(jì)學(xué)方法包括:絕對中位差法MAD、四分位差法IQR和局部回歸法LR。通過以上統(tǒng)計(jì)學(xué)方法確定上限閾值后,若主機(jī)的CPU利用率超過此上限值,則虛擬機(jī)部署優(yōu)化根據(jù)負(fù)載均衡的原則重新進(jìn)行虛擬機(jī)分配。通過與該算法的比較,可以顯示本文設(shè)計(jì)的AUT所使用的Q學(xué)習(xí)自適應(yīng)機(jī)制與經(jīng)典統(tǒng)計(jì)學(xué)方法的性能優(yōu)勢。

        (4)靜態(tài)閾值算法THR[7]:該算法設(shè)置CPU閾值為固定值,如80%,當(dāng)主機(jī)當(dāng)前利用率超過總能力的80%時(shí),則需要從主機(jī)上遷移虛擬機(jī)。通過與算法的比較,可以顯示出自適應(yīng)閾值設(shè)置的優(yōu)勢。

        4.5 結(jié)果分析

        圖2給出了利用GCD數(shù)據(jù)流測試時(shí)7種算法在SLAV、能耗以及虛擬機(jī)遷移量的性能表現(xiàn)??梢钥吹?,比較另外6種算法,本文可以有效降低SLA違例,這是因?yàn)楸疚脑O(shè)計(jì)的虛擬機(jī)部署優(yōu)化算法可以通過AUT機(jī)制將主機(jī)利用率維持在自適應(yīng)閾值以內(nèi)。此外,比較HiVM、MADC、LR、MAD、IQR和THR這6種算法,本文算法可以分別降低13.7%、25.6%、43.3%、59.1%、66.3%和69.4%的能耗,這是由于本文算法可以最小化非超載主機(jī)的數(shù)量。同時(shí),圖2(c)顯示出本文算法可以最小化虛擬機(jī)遷移量。

        圖2 GCD負(fù)載流的測試結(jié)果

        圖3(a)顯示了利用PlanetLab負(fù)載流時(shí)算法得到的SLAV指標(biāo)情況,結(jié)果表明,本文得到了比基準(zhǔn)算法更小的SLA違例,這是由于該算法在CPU或內(nèi)存利用率超過自適應(yīng)閾值時(shí)會(huì)從主機(jī)上遷移部分虛擬機(jī)預(yù)防SLA違例。圖3(b)顯示本文算法比其它算法也節(jié)省了更多的能耗,這是由于算法可以通過運(yùn)行算法的第二階段將虛擬機(jī)合并至最小數(shù)量的非超載主機(jī)上。同時(shí),本文算法也可以有效降低虛擬機(jī)遷移量,避免了過多非必要的虛擬機(jī)遷移。

        圖3 PlanetLab負(fù)載流的測試結(jié)果

        5 結(jié)束語

        提出一種基于Q學(xué)習(xí)機(jī)制的自適應(yīng)虛擬機(jī)部署算法。算法利用Q學(xué)習(xí)機(jī)制在無需先驗(yàn)知識(shí)的前提下,可以自適應(yīng)生成資源利用率閾值,根據(jù)動(dòng)態(tài)自適應(yīng)閾值動(dòng)態(tài)地對主機(jī)超載狀態(tài)作出決策,以此判斷是否進(jìn)行虛擬機(jī)遷移。通過兩種現(xiàn)實(shí)負(fù)載流數(shù)據(jù)對算法進(jìn)行了實(shí)驗(yàn)分析。結(jié)果表明,與另外6種典型虛擬機(jī)部署算法相比,該算法不僅可以降低主機(jī)能耗,還可以同步減小虛擬機(jī)遷移量和SLA違例率。

        猜你喜歡
        資源
        讓有限的“資源”更有效
        污水磷資源回收
        基礎(chǔ)教育資源展示
        崛起·一場青銅資源掠奪戰(zhàn)
        一樣的資源,不一樣的收獲
        我給資源分分類
        資源回收
        做好綠色資源保護(hù)和開發(fā)
        資源再生 歡迎訂閱
        資源再生(2017年3期)2017-06-01 12:20:59
        激活村莊內(nèi)部治理資源
        決策(2015年9期)2015-09-10 07:22:44
        91精品综合久久久久m3u8| 成人中文乱幕日产无线码| 一本一本久久aa综合精品| 女人与牲口性恔配视频免费| 人妻无码一区二区19P| 亚洲精品不卡av在线免费| 一本大道av伊人久久综合 | 国产亚洲精品一品二品| 免费国产在线精品一区| 69久久夜色精品国产69| 91精品国产91久久久无码色戒| 久久精品蜜桃美女av| 国产成人精品久久亚洲高清不卡| 日本xxxx色视频在线播放| 国产成人精品麻豆| 亚洲一区在线二区三区| 暖暖 免费 高清 日本 在线| 精品一区二区久久久久久久网站 | av在线免费观看蜜桃| 麻豆精品久久久久久久99蜜桃| 亚洲色大成在线观看| 亚洲国产精品成人一区二区三区| 精品卡一卡二乱码新区| 无套内射蜜桃小视频| 99riav精品国产| 全部亚洲国产一区二区| 国产美女做爰免费视频| 91spa国产无码| 日本二区三区视频免费观看| 精品一区二区av天堂色偷偷| 午夜无码片在线观看影视| 草草影院国产| 蜜桃在线高清视频免费观看网址| 娜娜麻豆国产电影| 国产午夜视频在永久在线观看| 亚洲精品一区二区三区国产| 桃红色精品国产亚洲av| 无遮挡又黄又刺激又爽的视频 | 国产精品国产三级国产a| 人妻影音先锋啪啪av资源| 亚洲AV无码一区二区三区精神|