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

        ?

        大規(guī)模云計(jì)算服務(wù)器優(yōu)化調(diào)度問題的最優(yōu)二元交換算法研究

        2019-06-11 03:05:46王萬良臧澤林陳國棋屠杭垚王宇樂陸琳彥
        通信學(xué)報(bào) 2019年5期
        關(guān)鍵詞:宿主機(jī)使用率實(shí)例

        王萬良,臧澤林,陳國棋,屠杭垚,王宇樂,陸琳彥

        (1. 浙江工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310027;2. 倫敦大學(xué)國王學(xué)院工程科學(xué)學(xué)院,英國 倫敦 WC2R 2LS)

        1 引言

        云計(jì)算是分布式計(jì)算(distributed computing)、網(wǎng)絡(luò)存儲(chǔ)(network storage technology)、負(fù)載均衡(load balance)等傳統(tǒng)計(jì)算機(jī)和通信技術(shù)發(fā)展融合的產(chǎn)物,由于云計(jì)算技術(shù)的通用性和高可靠性,該技術(shù)得到了廣泛的發(fā)展[1]。隨著云計(jì)算規(guī)模的逐步擴(kuò)大,谷歌、阿里巴巴、百度等大型互聯(lián)網(wǎng)企業(yè)紛紛搭建了自己的云服務(wù)平臺(tái)。它們建立的平臺(tái)可容納超過萬臺(tái)的服務(wù)器,為超過百萬的用戶進(jìn)行服務(wù)。大規(guī)模云服務(wù)平臺(tái)的建立,使云服務(wù)的調(diào)度系統(tǒng)變得更加重要[2]。在龐大的云服務(wù)平臺(tái)基數(shù)下,云服務(wù)平臺(tái)的性能即使有1%的提高也會(huì)帶來巨大的收益[3]。

        目前,云計(jì)算調(diào)度分為云服務(wù)請求實(shí)時(shí)調(diào)度和基于歷史數(shù)據(jù)的云服務(wù)優(yōu)化調(diào)度。

        云服務(wù)請求實(shí)時(shí)調(diào)度以調(diào)度系統(tǒng)的快速性、穩(wěn)定性為出發(fā)點(diǎn),研究如何實(shí)時(shí)地將云計(jì)算任務(wù)指派給一臺(tái)或幾臺(tái)宿主機(jī)服務(wù)器實(shí)現(xiàn)負(fù)載均衡。在這類研究中,傳統(tǒng)的方法有Max-Min方法[4]、RR算法[5]、FCFS算法、FIFO算法[6]等。另外,一系列的商業(yè)軟件如 Google的 Borg調(diào)度系統(tǒng)[7-8]、阿里巴巴的Sigma調(diào)度系統(tǒng)[9]和MapReduce等開源軟件都做出了相應(yīng)的學(xué)術(shù)貢獻(xiàn)。但是上述研究存在以下2個(gè)尚待解決的問題:1)上述方法只能應(yīng)用于過程迭代和異構(gòu)任務(wù)類型,無法執(zhí)行遞歸或復(fù)雜的業(yè)務(wù)流;2)上述方法會(huì)出現(xiàn)占用特定的虛擬機(jī) I/O,造成其他作業(yè)“饑餓”的情況。

        在基于歷史數(shù)據(jù)的云服務(wù)優(yōu)化調(diào)度領(lǐng)域,同樣出現(xiàn)了大量的研究成果。其中,Tsai等[10]闡述了實(shí)時(shí)的云計(jì)算的生命周期問題,并在此基礎(chǔ)上提出了一種面向云計(jì)算實(shí)時(shí)調(diào)度的框架,該框架能夠有效地解決云計(jì)算實(shí)時(shí)調(diào)度的一般問題。在此基礎(chǔ)上,Zhu等[11]提出了一種用于虛擬化云中實(shí)時(shí)任務(wù)調(diào)度的新型滾動(dòng)調(diào)度架構(gòu),然后提出并分析了面向任務(wù)的能耗模型。另外,Zhu等[11]開發(fā)了一種新的能量感知調(diào)度算法(EARH, energy awar),并通過實(shí)驗(yàn)證明了該算法能夠在可調(diào)度性和節(jié)能之間做出良好的權(quán)衡。王吉等[12]在考慮調(diào)度快速性和有效性的背景下,又考慮了調(diào)度的容錯(cuò)性,提出了一種在虛擬云平臺(tái)中的容錯(cuò)調(diào)度算法(FSVC, fault-tolerant scheduling algorithm in virtualized cloud),通過主副版本方法實(shí)現(xiàn)對物理主機(jī)的容錯(cuò)控制,采用副版本重疊技術(shù)與虛擬機(jī)遷移技術(shù)提高算法的調(diào)度性能。郭平等[13]將云平臺(tái)的調(diào)度問題簡化為本地化的調(diào)度問題,并且結(jié)合主導(dǎo)資源公平調(diào)度策略 DRF和Delay調(diào)度約束機(jī)制,提出了一種滿足本地化計(jì)算的集群資源調(diào)度策略(DDRF, delay-dominant resource fairness),并討論了本地化計(jì)算時(shí)延對作業(yè)執(zhí)行效率的影響。另外,對于提供 GPU服務(wù)的云平臺(tái),Peng等[14]提出了一種高效的、動(dòng)態(tài)的深度學(xué)習(xí)資源調(diào)度方法—— Optimus,該方法使用在線訓(xùn)練來擬合訓(xùn)練模型,并建立性能模型以準(zhǔn)確地估計(jì)每個(gè)作業(yè)的訓(xùn)練速度。就工作完成時(shí)間而言,Optimus的調(diào)度性能有63%的提高。

        基于歷史數(shù)據(jù)的云服務(wù)優(yōu)化調(diào)度將同一云計(jì)算請求源產(chǎn)生的計(jì)算請求看成是可預(yù)測的時(shí)間序列。調(diào)度算法以該時(shí)間序列為基礎(chǔ)對宿主機(jī)服務(wù)器的分配進(jìn)行調(diào)度[15]。很多經(jīng)典的優(yōu)化方法和優(yōu)化理論可以引入調(diào)度框架[16]中,如遺傳算法(GA, genetic algorithm)[17]、群智能算法、局部搜索(LS, local search)算法[18]等。同時(shí),有部分學(xué)者提出了專門面向服務(wù)器的調(diào)度算法。例如,林偉偉等[19]通過對約束滿足問題對異構(gòu)的云數(shù)據(jù)中心的能耗優(yōu)化資源調(diào)度問題建模,并且在此基礎(chǔ)上提出了能耗優(yōu)化的資源分配算法(DY, dynamic power)。Li等[20]提出了一種協(xié)調(diào)調(diào)度算法來解決過度生成虛擬機(jī)(VM, virtual machine)實(shí)例的問題,并使用實(shí)際生產(chǎn)中的數(shù)據(jù)驗(yàn)證了該方法的有效性。Dong等[21]將云服務(wù)器調(diào)度問題建模為混合整數(shù)規(guī)劃(MIP, mixed integer programming)問題,將目標(biāo)函數(shù)設(shè)置為使數(shù)據(jù)中心服務(wù)器消耗的能量最小,并提出了一個(gè)有效的服務(wù)器優(yōu)先任務(wù)調(diào)度方案。

        為了克服分支定界算法解決大規(guī)模問題時(shí)間消耗龐大的問題,本文將LS算法[22]的框架融入分枝定界算法,設(shè)計(jì)了最優(yōu)二元交換算法(OTECA,optimal two element exchange algorithm)。OTECA并不是使用分支定界法一次性解決全部問題,而是每次只解決其中的部分子問題。然后使用LS的思想不斷地選擇子問題進(jìn)行解決。因此,OTECA可以通過求解多個(gè)子問題獲得原問題的解。上述求解策略可以快速有效地求解大規(guī)模的服務(wù)器調(diào)度問題。實(shí)驗(yàn)證明,OTECA優(yōu)于LS、GA等算法。

        2 云計(jì)算服務(wù)器調(diào)度模型

        本節(jié)建立一個(gè)MIP模型,對云計(jì)算服務(wù)器調(diào)度問題進(jìn)行描述。模型框架如圖1所示。

        圖1顯示了云計(jì)算調(diào)度資源、調(diào)度方案、目標(biāo)函數(shù)、約束條件與運(yùn)算請求間的相互關(guān)系。本節(jié)將用數(shù)學(xué)方式對上述單元以建模的方式進(jìn)行描述。

        2.1 云計(jì)算服務(wù)器的資源表示與數(shù)據(jù)描述

        在整個(gè)調(diào)度過程中,需要處理的資源被抽象為5個(gè)集合:服務(wù)器集合M、應(yīng)用集合A、實(shí)例集合S、親和約束集合Q與反親和約束集合F。

        每個(gè)宿主機(jī)服務(wù)器mj都可以提供多種類型的計(jì)算資源,服務(wù)器集合M可描述為

        圖1 云計(jì)算服務(wù)調(diào)度模型框架

        其中,n為服務(wù)器的數(shù)量,mj為第j臺(tái)服務(wù)器所能提供的資源,即

        應(yīng)用集合A描述了請求服務(wù)器資源的應(yīng)用與其對服務(wù)器提供資源的消耗,即

        其中,p為應(yīng)用的總量,ar為第r個(gè)應(yīng)用需求的資源,即

        其中,CPU、DISK與MEM的每日資源消耗按照時(shí)間曲線給出,NET-IO、DISK-IO的每日資源消耗以常數(shù)的形式給出。為元素個(gè)數(shù)為N的列向量,其中k為時(shí)間維度的檢索句柄,滿足k∈{1,2,3,…,N}。

        相互獨(dú)立的運(yùn)算請求被稱為實(shí)例。實(shí)例集合S包含調(diào)度過程中應(yīng)用產(chǎn)生的所有實(shí)例,即

        其中,q為實(shí)例的總量,實(shí)例si為

        親和約束與反親和約束描述了調(diào)度場景中的約束關(guān)系,主要分為2種情況:應(yīng)用與應(yīng)用之間的親和/反親和關(guān)系,應(yīng)用與服務(wù)器之間的親和/反親和關(guān)系。

        親和/反親和關(guān)系可以描述為2個(gè)應(yīng)用之間(或者應(yīng)用與宿主機(jī)服務(wù)器之間)存在相互依賴或者相互排斥的關(guān)系。具體的親和/反親和關(guān)系描述如表 1所示。

        表1 親和/反親和關(guān)系描述

        親和/反親和的關(guān)系使用 0-1矩陣Haa、Ham、Faa、與Fam描述。應(yīng)用與應(yīng)用間的親和關(guān)系Haa的結(jié)構(gòu)描述為

        Faa的結(jié)構(gòu)與Haa的結(jié)構(gòu)相同,其矩陣內(nèi)元素為,當(dāng)時(shí),r1應(yīng)用與r2應(yīng)用不存在反親和關(guān)系,反之存在。Ham的結(jié)構(gòu)描述為

        其中,Ham描述應(yīng)用與機(jī)器間的親和關(guān)系。

        Fam的結(jié)構(gòu)與Ham的結(jié)構(gòu)相同,其矩陣內(nèi)元素為當(dāng)時(shí),r應(yīng)用與j機(jī)器不存在反親和關(guān)系,反之存在。

        2.2 云計(jì)算服務(wù)器調(diào)度的決策變量與目標(biāo)函數(shù)

        云計(jì)算服務(wù)器的調(diào)度問題乃至大部分的資源調(diào)度問題都可以轉(zhuǎn)化為一個(gè)多維度的背包問題。調(diào)度的目的是為每一個(gè)計(jì)算請求(實(shí)例si)尋找一個(gè)合適的宿主機(jī)服務(wù)器mj,減少系統(tǒng)的運(yùn)行成本。因此以0-1整數(shù)的形式,定義二維決策變量V描述實(shí)例到機(jī)器的分配關(guān)系,即

        其中,vi,j為0-1決策變量,vi,j=1代表實(shí)例s1被調(diào)度到機(jī)器mj中執(zhí)行,反之沒有。

        為了方便對親和/反親和約束描述,另外,設(shè)定輔助決策變量W來描述應(yīng)用到機(jī)器的分配關(guān)系,即

        其中,wi,j為0-1決策變量,wi,j=1代表應(yīng)用ai被調(diào)度在機(jī)器mj中執(zhí)行,反之沒有。V與W之間存在的約束關(guān)系為

        其中,R(i)為一個(gè)從實(shí)例Si到其對應(yīng)的應(yīng)用的映射。優(yōu)化調(diào)度的目標(biāo)描述為:在一定調(diào)度時(shí)間段內(nèi),尋找一種使用服務(wù)器數(shù)量最少、負(fù)載均衡的服務(wù)器調(diào)度方案。為了避免由于模型不精確帶來的資源使用溢出風(fēng)險(xiǎn),本文通過懲罰的形式定義目標(biāo)函數(shù)為

        其中,k為時(shí)間索引,滿足k∈{1,2,3,…,N};C為時(shí)間采樣頻率;Fj為宿主機(jī)服務(wù)器mj獲得的分?jǐn)?shù)值,其可以描述為

        其中,β為懲罰閾值,當(dāng)宿主機(jī)服務(wù)器的CPU使用率大于懲罰閾值時(shí),開始引入額外平方項(xiàng)對調(diào)度方案進(jìn)行懲罰;α為懲罰增量系數(shù),描述進(jìn)行懲罰時(shí)的懲罰力度;xj,k為機(jī)器mj在k時(shí)刻的CPU使用率,計(jì)算式為

        單一機(jī)器 CPU使用率與目標(biāo)分?jǐn)?shù)關(guān)系如圖 2所示。由圖2可知,當(dāng)機(jī)器在所有的時(shí)間內(nèi)保持CPU使用率為0時(shí),目標(biāo)分?jǐn)?shù)為0;當(dāng)機(jī)器的CPU使用率大于0且小于懲罰閾值β時(shí),目標(biāo)分?jǐn)?shù)為1;但當(dāng)CPU使用率大于懲罰閾值時(shí),目標(biāo)分?jǐn)?shù)從1開始以二次冪形式上升。

        圖2 單一機(jī)器CPU使用率與目標(biāo)分?jǐn)?shù)關(guān)系

        2.3 云計(jì)算服務(wù)器調(diào)度的約束條件

        實(shí)際的云計(jì)算服務(wù)器調(diào)度環(huán)境中存在大量由硬件條件和應(yīng)用功能導(dǎo)致的限制。模型將這些限制轉(zhuǎn)化為模型約束、資源約束、親和/反親和約束和優(yōu)先級(jí)約束進(jìn)行處理。

        模型約束描述了調(diào)度模型的基本約束,包括每個(gè)實(shí)例都應(yīng)被安排到一個(gè)宿主機(jī)服務(wù)器上,且只能被安排到一臺(tái)宿主機(jī)服務(wù)器上,即

        資源約束是一種由于資源限制造成的約束,每個(gè)宿主機(jī)服務(wù)器上配置的不同類型的資源是有容量上限的。

        CPU資源約束為

        DISK資源約束為

        MEM資源約束為

        NET-IO資源約束為

        DISK-IO資源約束為

        親和/反親和約束可以分為以下4種情況。

        1) 應(yīng)用與應(yīng)用的親和約束

        2) 應(yīng)用與應(yīng)用的反親和約束

        3) 應(yīng)用與機(jī)器的親和約束

        4) 應(yīng)用與機(jī)器的反親和約束

        約束決策變量不能同時(shí)為1。

        3 大規(guī)模云計(jì)算二元交換分析論證

        將式(13)寫成max函數(shù)形式,定義評(píng)分函數(shù)為

        其中,x為宿主機(jī)服務(wù)器某一時(shí)刻的CPU使用率,機(jī)器j的CPU使用率為xj。

        引理1在所有對2臺(tái)機(jī)器進(jìn)行的CPU使用率(x1,x2)的重新分配(x1*,x2*)中,至少存在一個(gè)使評(píng)價(jià)分最小的最優(yōu)分配,且該最優(yōu)分配可由計(jì)算式和求得,其中,c為2臺(tái)機(jī)器的CPU容量的比例,即

        證明將式(14)代入Ot(x1,x2)=f(x1)+f(x2)可得

        由于實(shí)例的重新分配不改變其 CPU使用率絕對值之和,因此有

        因此,可以表示成l(·),即,將其代入式(26),可得變量為x1*的方程為

        對式(28)進(jìn)行分段討論后再對x1*求導(dǎo)可得

        引理2定義機(jī)器j的特征計(jì)算式為xj為機(jī)器j的平均CPU使用率。在2臺(tái)機(jī)器的平均CPU占比為(x1,x2)的情況下,最優(yōu)分配(x1*,x2*)所帶來的評(píng)分之和的下降量Od(x1,x2,c)=Ot(x1,x2)-Ot(x1*,x2*,c)與 2臺(tái)機(jī)器的特征計(jì)算式的差的平方(g1-g2)2呈正相關(guān)。

        證明對特征公式的差的平方(g1-g2)2進(jìn)行展開,有

        構(gòu)造函數(shù)

        對于所有的自由變量,使用鏈?zhǔn)椒▌t進(jìn)行展開,可得

        其中

        由于α、β與c皆大于或等于 0,Od對于特征計(jì)算式p的導(dǎo)數(shù)恒大于0,即D(x1,x2,c)>0,因此2個(gè)方程呈正相關(guān)。證畢。

        4 算法設(shè)計(jì)

        混合整數(shù)規(guī)劃問題是一個(gè)NP完全問題,即求解該問題的最優(yōu)解的時(shí)間復(fù)雜度與問題的規(guī)模呈指數(shù)關(guān)系。隨著數(shù)據(jù)量的增長,分支定界法不能在有效時(shí)間內(nèi)得到理想的解,基于此,本文設(shè)計(jì)了OTECA,尋找一個(gè)時(shí)間花費(fèi)與求解精度的平衡點(diǎn),快速有效地解決云計(jì)算服務(wù)器調(diào)度問題。

        4.1 可行解生成方法

        可行解生成方法負(fù)責(zé)生成占用盡量少的服務(wù)器資源且滿足約束要求的初始解。求解的流程如算法1所示。

        算法1可行解生成方法(GSSM, good solution generation method)

        輸入服務(wù)器集合M,應(yīng)用集合A,實(shí)例集合S

        輸出調(diào)度初始可行解V,狀態(tài)矩陣E

        1) 初始化可行解V,使用服務(wù)器數(shù)下限Nml=0,使用服務(wù)器數(shù)上限Nmh=p

        2) whileNml!=Nmhdo

        3) 機(jī)器指示m=0

        4) for 實(shí)例索引s=0,s≤q,s++

        5) if 實(shí)例s可裝入機(jī)器mthen

        6)V,E=put(s,m) %將s放入m中,并更新狀態(tài)

        7) else

        8)m=m+1,s=s-1

        9) end if

        10) ifm==Nmhthen %機(jī)器數(shù)選取過少

        17) end if

        18) end for

        19) end while

        20) returnV,E

        算法通過二分法的形式對使用服務(wù)器數(shù)量的上限和下限不斷更新,從而不斷地拉近使用服務(wù)器的上下限的差距,最終在上下限相等時(shí)停止程序,完成對最合適的可行解的生成。步驟5)驗(yàn)證機(jī)器m裝入實(shí)例s后,是否仍然滿足模型約束。步驟 10)與步驟 15)判斷當(dāng)前的機(jī)器數(shù)量上限Nmh能否得到可行解,如果可以得到可行解,則進(jìn)一步減少機(jī)器數(shù)量,如果無法得到可行解,則增加機(jī)器的數(shù)量,直至上下限相等則退出方法。

        在時(shí)間復(fù)雜度方面,由于每次進(jìn)入步驟 11)、步驟12)與步驟16)判斷都會(huì)造成Nmh與Nml的差減少一半,因此外部循環(huán)的復(fù)雜度為log(p)。步驟4)~步驟18)的內(nèi)部循環(huán)的次數(shù)受到實(shí)例數(shù)p與機(jī)器數(shù)n的影響,在最壞的情況下將進(jìn)行n+p次循環(huán),因此整個(gè)算法的時(shí)間復(fù)雜度為(n+p)log(p)。

        4.2 最優(yōu)二元交換算法

        分支定界法求解大規(guī)模MIP問題消耗的時(shí)間常常是不能接受的,但是求解較小規(guī)模的MIP問題卻有很高的效率。該算法將通過求解一系列小規(guī)模的 MIP子問題,去逼近整個(gè)大規(guī)模的 MIP問題。

        可以證明,在所有的實(shí)例都滿足約束被分配進(jìn)入宿主機(jī)服務(wù)器的情況下,將其中2臺(tái)機(jī)器中的實(shí)例以 BBM 方法重新分配到原來的宿主機(jī)服務(wù)器中,不會(huì)造成調(diào)度目標(biāo)值的上升(如引理1所示),且這2臺(tái)機(jī)器的特征計(jì)算式gj差距越大,其獲得更高分?jǐn)?shù)下降的可能性也就越大(如引理2所示)。

        OTECA流程如圖3所示。

        圖3 OTECA流程

        最優(yōu)二元交換算法偽代碼如算法2所示。

        算法2OTECA

        輸入服務(wù)器集合M,應(yīng)用集合A,實(shí)例集合S,懲罰系數(shù)α和β,集合選擇系數(shù)γ,小規(guī)模MIP子問題求解次數(shù)Ns

        輸出服務(wù)器調(diào)度結(jié)果Vbest

        1)V=GSSM(M,A,S) %生成可行解

        2)M,ScoreList=Score(E,M) %按照式(14)對當(dāng)前可行狀態(tài)中每個(gè)服務(wù)器進(jìn)行打分,并按照分?jǐn)?shù)進(jìn)行排序

        3) for loop=0, loop<Naim, loop++

        4)M=SMWS(M, ScoreList) %按照分?jǐn)?shù)調(diào)整順序

        5)Smh,Sml=CMSet(Mc,A,S,α,β,γ) %選取高分服務(wù)器集合與低分服務(wù)器集合

        6)Mh,Ml=ChoMach(Smh,Sml) %分別在2臺(tái)服務(wù)器集合中選取一臺(tái)待交換機(jī)器

        7)VMIP,E=BBM(Mh,Ml,A,α,β)%分支定界法求解該小規(guī)模MIP問題,得到新的分配方案與機(jī)器狀態(tài)

        8) end for

        9) returnVbest

        最優(yōu)二元優(yōu)化部分是算法的核心部分,該部分為尋找一個(gè)優(yōu)秀的大規(guī)模服務(wù)器調(diào)度方案,其主要循環(huán)中包括高分機(jī)器集合與低分機(jī)器集合的維護(hù)、MIP子問題選擇、MIP子問題求解等步驟。

        步驟 4)和步驟 5)生成一個(gè)高分機(jī)器集合與低分機(jī)器集合,其中特征分?jǐn)?shù)概念由目標(biāo)函數(shù)中目標(biāo)分?jǐn)?shù)的概念變化而來。該特征分?jǐn)?shù)綜合考慮了機(jī)器當(dāng)前負(fù)載與機(jī)器的容量這2個(gè)特性,可以表現(xiàn)機(jī)器未來的負(fù)載能力,如引理 2所示。步驟 5)中,使用最高分sh與最低分sl生成高分集合與低分集合,生成的標(biāo)準(zhǔn)為

        其中,γ為集合選擇系數(shù),一個(gè)較大的值可以使高分機(jī)器集合和低分機(jī)器集合隨循環(huán)次數(shù)的選擇增長得更快;Smh為高分機(jī)器集合,Sml為低分機(jī)器集合。

        步驟7)中設(shè)定當(dāng)機(jī)器得分不變的前提下,實(shí)例負(fù)載盡量裝入容量較大的服務(wù)器,從而盡量減少服務(wù)器的使用。步驟 4)~步驟 7)不斷解決子問題優(yōu)化調(diào)度結(jié)果。

        每個(gè)循環(huán)子問題由高分機(jī)器、低分機(jī)器與機(jī)器中的實(shí)例組成。子問題的最優(yōu)解一定是上述實(shí)例在上述機(jī)器上的重新組合。可以證明,新解的目標(biāo)分?jǐn)?shù)之和一定優(yōu)于原解(如引理 1所示)。另外,高分機(jī)器與低分機(jī)器的分差越高,重新組合后分?jǐn)?shù)的優(yōu)化越顯著(如引理 2所示)。上述引理是算法挑選高分集合和低分集合進(jìn)行混合的原因。因此,最優(yōu)二元優(yōu)化算法比傳統(tǒng)的基于隨機(jī)或啟發(fā)的算法有更強(qiáng)的目的性,在前期擁有更高的收斂速度,在后期擁有更強(qiáng)的調(diào)度精確度。

        算法初始階段將快速地消除高負(fù)載機(jī)器,造成低負(fù)載機(jī)器分?jǐn)?shù)上升、高負(fù)載機(jī)器分?jǐn)?shù)下降,這時(shí)高分機(jī)器集合和低分機(jī)器集合將出現(xiàn)一定重疊。隨著這種重疊現(xiàn)象的逐步加深,算法的子問題選擇將逐漸退化為對機(jī)器的隨機(jī)優(yōu)化,從而對機(jī)器中實(shí)例進(jìn)行整理,并減小宿主機(jī)服務(wù)器的數(shù)量。最后該算法將返回從實(shí)例到宿主機(jī)服務(wù)器的優(yōu)化分配。

        在時(shí)間復(fù)雜度方面,4.1節(jié)已經(jīng)論證了算法 2步驟1)的復(fù)雜度為(n+p) log(p),步驟2)作為一個(gè)排序的工作,復(fù)雜度為nlog(n)。因?yàn)椴襟E3)~步驟7)在最壞情況下復(fù)雜度為Naim2x,其中x為子問題中實(shí)例的數(shù)量,這并不意味著該步驟是十分耗時(shí)的,因?yàn)樵谧訂栴}中,x受到機(jī)器容量的約束。在實(shí)際的應(yīng)用環(huán)境中,步驟7)均可以在可接受的時(shí)間(秒級(jí))范圍內(nèi)得到響應(yīng),則算法2總的時(shí)間復(fù)雜度為(n+p)log(p)+nlog(n)。

        5 仿真與驗(yàn)證

        5.1 實(shí)驗(yàn)硬件架構(gòu)描述與數(shù)據(jù)集描述

        為了保證改進(jìn)算法得到充分穩(wěn)定的測試,本文使用不同規(guī)模的調(diào)度測試數(shù)據(jù)與阿里云計(jì)算中心公開的實(shí)際數(shù)據(jù)集(ALISS)進(jìn)行仿真實(shí)驗(yàn)。數(shù)據(jù)中心擁有10 000臺(tái)不同配置的宿主機(jī)服務(wù)器。實(shí)驗(yàn)仿真硬件平臺(tái)為:曙光天闊W580-G20服務(wù)器,CPU E5-2620 v4 2.1 GHz;軟件環(huán)境為:ubuntu 18 LTS,Python3.6。

        實(shí)驗(yàn)的硬件架構(gòu)如圖4所示。硬件架構(gòu)按照功能由4種節(jié)點(diǎn)組成,分別為資源節(jié)點(diǎn)、管理節(jié)點(diǎn)、調(diào)度節(jié)點(diǎn)和服務(wù)節(jié)點(diǎn)。其中,服務(wù)節(jié)點(diǎn)負(fù)責(zé)收集云計(jì)算請求,并以集合A、S的形式提交給調(diào)度節(jié)點(diǎn)。管理節(jié)點(diǎn)負(fù)責(zé)監(jiān)控資源節(jié)點(diǎn)的資源使用和工作情況,并以集合M的形式提交給調(diào)度節(jié)點(diǎn)。調(diào)度節(jié)點(diǎn)綜合整個(gè)云計(jì)算服務(wù)平臺(tái)的情況進(jìn)行調(diào)度工作,將運(yùn)算請求調(diào)度到資源節(jié)點(diǎn)中。

        ALISS數(shù)據(jù)集中每一組數(shù)據(jù)由4張表格組成,分別是機(jī)器信息列表、應(yīng)用信息列表、實(shí)例信息列表、親和與反親和信息列表。其中,機(jī)器信息列表中含有M-id、M-c、M-m、M-d,M-id為機(jī)器的ID,M-c、M-m、M-d分別對應(yīng)機(jī)器集合的miCPU、miDISK、miMEM。應(yīng)用信息列表中含有 A-id、A-c、A-m、A-d,A-id為應(yīng)用的 ID,A-c、A-m、A-d分別對應(yīng)集合中的。時(shí)變數(shù)據(jù) CPU-use、MEM-use的采樣周期為15 min,即C=96。

        圖4 實(shí)驗(yàn)的硬件架構(gòu)

        5.2 OTECA在ALISS上的求解結(jié)果

        本節(jié)使用OTECA求解ALISS-2數(shù)據(jù)集中的調(diào)度問題。為了保證服務(wù)器運(yùn)行的穩(wěn)定性與資源分配的合理性,設(shè)置模型參數(shù)為α=10,β=0.5,選取OTECA參數(shù)為擇優(yōu)選取集合選擇系數(shù)γ=1.5,子問題求解次數(shù)Ns=300,并對問題進(jìn)行求解。求解過程如圖5~圖7所示。

        圖5 ALISS-2問題宿主機(jī)服務(wù)器數(shù)、目標(biāo)函數(shù)與循環(huán)次數(shù)關(guān)系

        圖6 ALISS-2問題高低分機(jī)器數(shù)與循環(huán)次數(shù)關(guān)系變化

        圖7 ALISS-2宿主機(jī)服務(wù)器使用率與循環(huán)次數(shù)關(guān)系變化

        優(yōu)化開始時(shí),宿主機(jī)服務(wù)器平均 CPU使用率僅在45%左右,這證明優(yōu)化開始時(shí)服務(wù)器組的負(fù)載并不均衡。隨著算法迭代循環(huán)次數(shù)的增加,算法將得分較高的機(jī)器中的實(shí)例與得分較低的機(jī)器中的實(shí)例使用整數(shù)規(guī)劃的方法進(jìn)行最優(yōu)的重新組合,重新分配到原來的機(jī)器中,并將負(fù)載進(jìn)行有效的重組。由圖5可知,隨著優(yōu)化的進(jìn)行,得分在快速地下降。在最理想的情況下,算法將所有的機(jī)器的負(fù)載都調(diào)整到從下方逼近β的情況。由圖6可知,由于優(yōu)化開始時(shí)機(jī)器分?jǐn)?shù)差異較大,以最高分和最低分劃定的高分機(jī)器集合和低分機(jī)器集合中元素較少。隨著優(yōu)化的進(jìn)行,機(jī)器的負(fù)載逐步平均,分?jǐn)?shù)的分布逐步集中,高分機(jī)器集合和低分機(jī)器集合逐漸包含同一部分機(jī)器。

        當(dāng)loop>100時(shí),由于機(jī)器的負(fù)載已經(jīng)達(dá)到了平均水平,機(jī)器數(shù)與得分的差距基本不再變化,此時(shí)分?jǐn)?shù)的下降主要來自機(jī)器數(shù)的削減。當(dāng)某臺(tái)機(jī)器不執(zhí)行任何程序時(shí),其得分為 0。因此在交換無法使負(fù)載更加均衡的情況下,OTECA的同樣的交換操作將盡量清除多余的宿主機(jī)服務(wù)器。由圖7可知,隨著循環(huán)次數(shù)的上升,CPU的平均使用率逐漸接近β,達(dá)到接近最優(yōu)解的狀態(tài)。

        5.3 不同規(guī)模服務(wù)器調(diào)度問題上算法性能對比

        本文在不同規(guī)模的調(diào)度問題中進(jìn)行算法性能的比較。實(shí)驗(yàn)算法包括 OTECA、分離化差分進(jìn)化算法(C-MSDE, cost modified separation differential evolution)[23]、成本時(shí)間進(jìn)化算法(CT-DE, cost time differential evolution)[24]、GA[17]和 LS[18]。

        擇優(yōu)選取 OTECA 中參數(shù)γ=1.5,Ns=300;C-MSDE中選擇變異因子為 1,交叉因子為 0.5;CT-DE中Ptime=Pcost=0.5;GA中選擇概率為0.2,交叉概率為0.2,變異概率為0.2;LS中搜索范圍為3;C-MSDE、CT-DE、GA的種群數(shù)為300。測試使用的服務(wù)器規(guī)格數(shù)據(jù)與云計(jì)算要求數(shù)據(jù)皆從阿里巴巴公司公布的Alibaba Cluster Data V2018中抽取,測試結(jié)果如表2所示。

        表2 不同規(guī)模服務(wù)器調(diào)度問題上5種算法性能對比

        表 2中顯示了不同規(guī)模(SSP1~SSP6)的調(diào)度問題,其中SSP1~SSP3是規(guī)模與實(shí)例數(shù)較小的服務(wù)器調(diào)度問題,SSP4~SSP6是規(guī)模與實(shí)例數(shù)較大的服務(wù)器調(diào)度問題。其中,Nm代表算法調(diào)度結(jié)果使用的宿主機(jī)服務(wù)器數(shù)量,Score代表算法所得目標(biāo)分?jǐn)?shù),CPU代表調(diào)度結(jié)果平均CPU使用率,目標(biāo)為50%。處理小規(guī)模問題時(shí),進(jìn)行比較的算法擁有相似的性能表現(xiàn),但是OTECA、CT-DE與LS擁有較好的表現(xiàn),目標(biāo)分?jǐn)?shù)的平均值相比其他算法優(yōu)秀 1%。處理較大規(guī)模問題時(shí),OTECA展現(xiàn)出比較突出的性能優(yōu)勢,目標(biāo)分?jǐn)?shù)的平均值比其他算法中最優(yōu)秀的LS優(yōu)秀3%。綜合上述2種情況,OTECA表現(xiàn)更好。

        5.4 5種算法在ALISS數(shù)據(jù)集上性能對比

        設(shè)置算法參數(shù)與5.3節(jié)相同,以實(shí)例在宿主機(jī)服務(wù)器中的轉(zhuǎn)移次數(shù)為橫坐標(biāo),以分?jǐn)?shù)為縱坐標(biāo),得到5種算法求解ALISS-1問題如圖8所示。

        圖8 5種算法求解ALISS-1問題

        圖8中最下方的虛線為該問題的最優(yōu)解。在算法的初始階段,OTECA與C-MSDE的效率較高。隨著優(yōu)化的進(jìn)行,目標(biāo)值快速下降,GA、LS與CT-DE因優(yōu)化策略原因效率較低。在優(yōu)化的中后階段,OTECA表現(xiàn)出了較強(qiáng)的調(diào)度能力與精確性,通過解決子問題,有目的地將組合不合理的機(jī)器挑選出來并進(jìn)行重新組合,該操作在效果上優(yōu)于基于隨機(jī)遷移的GA、LS、C-MSDE等其他算法,OTECA得到的調(diào)度結(jié)果能夠跳出局部最優(yōu)解。

        算法對服務(wù)器組負(fù)載的均衡能力是衡量算法優(yōu)劣程度的重要指標(biāo),本文對于ALISS-1的求解過程繪制機(jī)器負(fù)載量直方圖,如圖9所示。

        圖9 機(jī)器CPU使用率標(biāo)準(zhǔn)差直方圖

        由圖9可知,當(dāng)實(shí)例交換次數(shù)為0時(shí),5種算法以相同的基礎(chǔ)進(jìn)行優(yōu)化。隨著實(shí)例交換次數(shù)的增加,5種優(yōu)化方法都能起到有效的負(fù)載均衡效果。當(dāng)實(shí)例的交換次數(shù)為20 000次時(shí),OTECA的效果最為顯著,其對應(yīng)的機(jī)器 CPU使用率的標(biāo)準(zhǔn)差最小,相比初始值變化的幅度是GA的2倍。隨著優(yōu)化的繼續(xù)進(jìn)行,其他算法的標(biāo)準(zhǔn)差幾乎沒有發(fā)生改變,而OTECA的標(biāo)準(zhǔn)差有少量提升。這是因?yàn)殡S著交換的進(jìn)行,OTECA能夠有效地減少使用宿主機(jī)服務(wù)器的數(shù)量,從而提高了仍在工作的宿主機(jī)服務(wù)器使用率的標(biāo)準(zhǔn)差。5種算法求解ALISS數(shù)據(jù)集的結(jié)果對比如表3所示。

        表3中評(píng)價(jià)了5種算法在數(shù)據(jù)集上的5個(gè)指標(biāo),分別是目標(biāo)分?jǐn)?shù)(Score)、平均機(jī)器 CPU 使用率(CPU)、平均機(jī)器內(nèi)存使用率(DISK)、平均機(jī)器硬盤使用率(MEM)、機(jī)器 CPU使用率標(biāo)準(zhǔn)差(STD)。在 7個(gè)測試數(shù)據(jù)中,OTECA表現(xiàn)最佳,目標(biāo)分?jǐn)?shù)的平均分為 6 665.70,比第二優(yōu)秀的C-MSDE優(yōu)秀4%。

        數(shù)據(jù)問題的差異性會(huì)引起算法表現(xiàn)的差異,但是OTECA綜合性能占有一定優(yōu)勢。對于ALISS-3與ALISS-4這類實(shí)例粒度較?。▎蝹€(gè)實(shí)例占用的資源較?。┑膯栴},5種算法的表現(xiàn)相似。但是對于實(shí)例粒度較大的問題,GA、LS、C-MSDE與CT-DE等算法表現(xiàn)稍遜于 OTECA,原因是不滿足約束的情況會(huì)降低上述算法的搜索效率。綜合考慮上述情況,OTECA具有更加優(yōu)秀的性能。

        表3顯示,C-MSDE、CT-DE、GA與LS這4種算法在解決有相對嚴(yán)格約束的服務(wù)器調(diào)度問題時(shí)沒有明顯優(yōu)勢,這是因?yàn)?種算法的解集更新具有隨機(jī)性,新生成的解很容易不滿足問題的約束。因此,檢查新解是否滿足約束與丟棄不滿足約束的解花費(fèi)大量的運(yùn)算時(shí)間,從而大大降低了算法性能。OTECA不需要維護(hù)多個(gè)解的集合,也從不產(chǎn)生可能不滿足約束的解。OTECA只通過求解 MIP子問題不斷地對解集進(jìn)行更新,因此擁有較高的效率與性能。

        6 結(jié)束語

        本文針對大規(guī)模云服務(wù)器調(diào)度問題進(jìn)行研究。在對大規(guī)模云服務(wù)器調(diào)度問題進(jìn)行MIP建模的基礎(chǔ)上,為了解決傳統(tǒng)方法很難及時(shí)地求解出最優(yōu)調(diào)度方案的問題,本文提出了 OTECA。OTECA首先通過可行解生成算法求出可行解,然后通過在循環(huán)中不斷選取與解決MIP子問題的方式優(yōu)化可行解,從而得到全局調(diào)度方案。結(jié)果表明,OTECA可以快速優(yōu)化大規(guī)模服務(wù)器調(diào)度方案,在測試數(shù)據(jù)集ALISS上較傳統(tǒng)的GA、LS、C-MSDE與CT-DE算法有較大的優(yōu)勢。在完成相同任務(wù)的情況下,OTECA使云計(jì)算中心的資源消耗減少4%以上。

        表3 5種算法求解ALISS數(shù)據(jù)集的結(jié)果對比

        猜你喜歡
        宿主機(jī)使用率實(shí)例
        虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室在農(nóng)村職校計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用研究
        嵌入式計(jì)算機(jī)軟件測試關(guān)鍵技術(shù)的思考
        嵌入式計(jì)算機(jī)軟件測試關(guān)鍵技術(shù)研究
        胃腸外科圍手術(shù)期合理使用抗菌藥物的探討
        完形填空Ⅱ
        完形填空Ⅰ
        在不連接網(wǎng)線的情況下Windows與VM之間如何ping通
        初中生學(xué)習(xí)·低(2012年4期)2012-04-29 04:29:50
        初中生學(xué)習(xí)·低(2012年7期)2012-04-29 00:44:03
        凝聚智慧,著眼未來
        校园春色综合久久精品中文字幕| 国产成人乱色伦区小说| 久久精品噜噜噜成人| 一本色道久久综合狠狠躁 | 国产精品无码一区二区三区在| 成人亚洲一区二区三区在线| 国产免费无码一区二区三区| 高清国产美女一级a毛片在线 | 日本免费一区二区三区影院| 中文字幕av一区二区三区人妻少妇 | 亚洲国产精品成人av| av在线观看免费天堂| 少妇粉嫩小泬喷水视频| 国产亚洲精品第一综合麻豆| 久久精品综合国产二区| 91偷自国产一区二区三区| 国产极品美女高潮无套| 亚洲丁香五月天缴情综合| 精品久久久久久蜜臂a∨| 国产精品综合色区av| 日本男人精品一区二区| 性刺激的大陆三级视频| 欧美极品少妇性运交| 日本精品一区二区在线看| 蜜桃视频一区视频二区| 精品卡一卡二卡3卡高清乱码| 亚洲av无码久久精品狠狠爱浪潮| 亚洲一区二区综合色精品| 中文字幕一区韩国三级| 亚洲av激情一区二区| 蜜桃av抽搐高潮一区二区| 色窝窝免费播放视频在线| 亚洲啪啪AⅤ一区二区三区| 国产av一区二区网站| 久久96国产精品久久久| 人体内射精一区二区三区| 亚洲AⅤ樱花无码| 久久老熟女一区二区三区福利| 波多野结衣的av一区二区三区| 久久精品免费免费直播| 最全精品自拍视频在线|