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

        ?

        基于模擬退火算法的粒子群優(yōu)化算法在容器調(diào)度中的應(yīng)用

        2021-12-22 13:18:54劉哲源呂曉丹蔣朝惠
        計(jì)算機(jī)測(cè)量與控制 2021年12期
        關(guān)鍵詞:資源

        劉哲源,呂曉丹,蔣朝惠,2

        (1.貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴陽(yáng) 550025;2.貴州省公共大數(shù)據(jù)重點(diǎn)實(shí)驗(yàn)室,貴陽(yáng) 550025)

        0 引言

        隨著云計(jì)算產(chǎn)業(yè)的高速發(fā)展,面對(duì)高并發(fā)量的業(yè)務(wù)壓力,虛擬機(jī)靈活性不足、創(chuàng)建速度慢、不易擴(kuò)展等缺點(diǎn)越來越凸顯。容器技術(shù)易擴(kuò)展、秒級(jí)啟動(dòng)、靈活的彈性伸縮等特點(diǎn),為這些問題提供了一種全新的解決方案。軟件容器化已經(jīng)成為軟件部署和當(dāng)今互聯(lián)網(wǎng)的新趨勢(shì)。Docker[1]則是其中一個(gè)開源的應(yīng)用容器引擎,不僅是一個(gè)新型虛擬化技術(shù),同時(shí)也是應(yīng)用程序交付的一種方式。傳統(tǒng)虛擬機(jī)一般由虛擬硬件和操作系統(tǒng)兩部分組成,而Docker容器不需要安裝特定的操作系統(tǒng)和VMM(虛擬機(jī)監(jiān)控),Docker容器通過共享主機(jī)操作系統(tǒng)內(nèi)核,用主機(jī)的硬件和操作系統(tǒng)來完成程序的操作,一定程度上減少了資源的浪費(fèi)問題,兩者架構(gòu)對(duì)比如圖1所示。

        圖1 傳統(tǒng)VM和Docker的架構(gòu)對(duì)比

        Kubernetes[2]是目前主流的Docker容器編排平臺(tái)之一,負(fù)責(zé)對(duì)容器的整個(gè)生命周期的管理。Pod是Kubernetes的基本運(yùn)行單元,一個(gè)Pod內(nèi)可以有多個(gè)容器,且可以在創(chuàng)建Pod的yaml配置文件中聲名容器所需要的資源需求。Kubernetes在對(duì)Pod任務(wù)進(jìn)行調(diào)度時(shí),首先通過預(yù)選算法篩選出所有符合運(yùn)行條件的節(jié)點(diǎn),接著通過優(yōu)選算法為這些節(jié)點(diǎn)進(jìn)行打分,最終選擇分?jǐn)?shù)最高的節(jié)點(diǎn)用來綁定Pod任務(wù),接著調(diào)用Docker-daemon通過Http方式向鏡像倉(cāng)庫(kù)下載相應(yīng)的容器鏡像,具體步驟如圖2所示。

        圖2 Kubernetes調(diào)度過程

        雖然Kubernetes的Balanced Resource Allocation調(diào)度算法雖然能一定程度上解決資源均衡問題,但是仍然達(dá)不到數(shù)據(jù)中心的預(yù)期水平。Kubernetes的調(diào)度算法僅僅考慮了工作節(jié)點(diǎn)的CPU和內(nèi)存利用率,而未考慮工作節(jié)點(diǎn)的網(wǎng)絡(luò)負(fù)載能力,從而影響Pod的任務(wù)最少等待時(shí)間。

        目前,國(guó)內(nèi)外對(duì)容器調(diào)度后的資源利用率不均衡問題有較多的研究。文獻(xiàn)[3]設(shè)計(jì)了EVCD(基于虛擬機(jī)彈性供給的容器部署),利用貪婪first-fit和round-robin,并EVCD可以在運(yùn)行時(shí)重新分配容器實(shí)現(xiàn)QoS的改進(jìn),提升容器調(diào)度的效果。文獻(xiàn)[4-5]通過對(duì)容器需求的CPU和內(nèi)存資源進(jìn)行分類,針對(duì)不同類型的容器使用不同的調(diào)度算法。文獻(xiàn)[6]提出了基于應(yīng)用歷史記錄的調(diào)度算法,減少容器調(diào)度后的鏡像分發(fā)過程中帶來的網(wǎng)絡(luò)資源的損耗。文獻(xiàn)[7-10]使用群優(yōu)化算法對(duì)容器的多指標(biāo)調(diào)度設(shè)計(jì),實(shí)現(xiàn)了較好的資源使用率。文獻(xiàn)[11]通過對(duì)數(shù)據(jù)中心資源進(jìn)行更細(xì)粒度的劃分,在保證了服務(wù)器性能的同時(shí),集群資源利用率也得到了提高。文獻(xiàn)[12-13]針對(duì)容器動(dòng)態(tài)調(diào)度的問題,設(shè)計(jì)尋找最優(yōu)解的動(dòng)態(tài)調(diào)度算法,解決了動(dòng)態(tài)調(diào)度中的資源浪費(fèi)問題。文獻(xiàn)[14]設(shè)計(jì)一種多目標(biāo)容器調(diào)度算法Multiopt,通過對(duì)工作節(jié)點(diǎn)當(dāng)前狀態(tài)進(jìn)行計(jì)算評(píng)估出合適的調(diào)度節(jié)點(diǎn)。文獻(xiàn)[15-16]對(duì)集群負(fù)載均衡性進(jìn)行考慮,采用智能算法對(duì)集群中所有節(jié)點(diǎn)進(jìn)行評(píng)定,最終確定調(diào)度節(jié)點(diǎn)。文獻(xiàn)[17]通過預(yù)先訓(xùn)練隨機(jī)森林回歸模型,預(yù)測(cè)集群壓力進(jìn)行容器調(diào)度。文獻(xiàn)[18]提出了一種VM-Container混合分層資源調(diào)度機(jī)制,通過調(diào)度狀態(tài)綜合性將任務(wù)劃分為不同的級(jí)別,針對(duì)不同的級(jí)別制定不同的PSO調(diào)度算法,但沒有考慮到特殊情景下的容器調(diào)度。文獻(xiàn)[19-20]關(guān)注容器資源要求環(huán)境和任務(wù)規(guī)模變化,提出采用粒子群優(yōu)化算法來進(jìn)行容器部署,解決了容器部署過程中的網(wǎng)絡(luò)消耗問題。

        盡管國(guó)內(nèi)外很多學(xué)者已經(jīng)為此做了很多有價(jià)值的工作,但是仍然存在不足。因此,研究的重點(diǎn)在于改進(jìn)容器調(diào)度算法以提高集群節(jié)點(diǎn)的資源利用率從而達(dá)到數(shù)據(jù)中心的預(yù)期水平,減少容器任務(wù)最少等待時(shí)間,提升容器云的服務(wù)質(zhì)量。

        1 數(shù)學(xué)模型的設(shè)計(jì)與構(gòu)建

        在Kubernetes平臺(tái)中,創(chuàng)建容器首先采用聲明式方法在Pod的yaml文件中聲明容器所需要的資源信息,接著通過kubectl命令來創(chuàng)建Pod。因此,在Pod開始調(diào)度之前,系統(tǒng)已經(jīng)獲取了Pod的資源需求情況。同時(shí),Kubernetes中的api-server組件收集集群中節(jié)點(diǎn)的指標(biāo)資源使用情況。構(gòu)建數(shù)學(xué)模型如下。

        容器云集群:

        Cluster={Node1,Node2,...,Noden}

        (1)

        式中,Cluster為n個(gè)Node節(jié)點(diǎn)組成的集群,每個(gè)Nodei節(jié)點(diǎn)都具有4維屬性表示為:

        Nodei={UCPU,UMem,UNet,status_now}

        (2)

        式中,Nodeid表示為Node節(jié)點(diǎn)i中的可用第d維資源,Nodei4表示節(jié)點(diǎn)Nodei得可用第4維資源status_now,即為當(dāng)前主機(jī)狀態(tài),其具體取值如下:

        (3)

        式中,當(dāng)節(jié)點(diǎn)Nodei當(dāng)前處于宕機(jī)狀態(tài)時(shí),status_now為值0,反之,status_now為值1。

        對(duì)于每次創(chuàng)建任務(wù)Podi,都具備3維屬性:

        Podi={RCPU,RMem,Rimage}

        (4)

        式中,Rmem,Rimage分別為任務(wù)Podi所需要的CPU、內(nèi)存、容器鏡像等資源需求。當(dāng)開始調(diào)度時(shí),通過Kubernetes編排平臺(tái)中的預(yù)選決策后,集群已經(jīng)通過預(yù)選決策篩選出了一部分可以滿足調(diào)度任務(wù)可正常工作節(jié)點(diǎn):

        (5)

        式中,Node為篩選出來符合調(diào)度條件的工作節(jié)點(diǎn)的集合,且被篩選出來的Node節(jié)點(diǎn)均包含有當(dāng)前節(jié)點(diǎn)目前的資源使用情況,UCPU為節(jié)點(diǎn)當(dāng)前的內(nèi)存使用量,Umem為當(dāng)前節(jié)點(diǎn)的內(nèi)存使用量。盡管篩選出了一部分可以使用的工作節(jié)點(diǎn),我們?nèi)孕枰ㄟ^優(yōu)選測(cè)了為Podi找到一個(gè)最優(yōu)節(jié)點(diǎn)進(jìn)行調(diào)度,以提升集群的整體資源利用率。

        對(duì)于每個(gè)數(shù)據(jù)中心而言,CPU、內(nèi)存等資源的長(zhǎng)期閑置也是一種開銷損耗,而資源利用率超過一定負(fù)荷閾值則證明其在負(fù)荷運(yùn)行,同樣也是對(duì)服務(wù)器的生命周期的一種損耗,因此保證資源利用率不低于資源閾值,且不高于負(fù)荷閾值,則是提升資源利用率的一種有效方式。對(duì)于資源利用率我們希望其:

        (6)

        式中,Z表示為資源類型,包括CPU、內(nèi)存、網(wǎng)絡(luò)等資源類型,Zmin為云服務(wù)廠商所希望資源不低于的最低資源閾值,Zmax為云服務(wù)廠商所希望的不高于的負(fù)荷閾值。ZNodei-use為若Podi綁定到Nodei節(jié)點(diǎn)后Z資源使用率,ZNodei-t為Nodei節(jié)點(diǎn)的總資源,ZNodei-U為當(dāng)前節(jié)點(diǎn)此時(shí)刻的Z資源類型的資源使用量,ZPodi-R為任務(wù)Podi所需要的資源量。

        容器云調(diào)度過程應(yīng)盡可能多地為上層應(yīng)用分配計(jì)算機(jī)資源,給容器云經(jīng)營(yíng)者帶來更多的收益,因此,以所有執(zhí)行任務(wù)所需要的資源量的價(jià)值來表示容器云經(jīng)營(yíng)者滿意度函數(shù)如式(7)所示:

        f(Z,Nodei)=(Zmin+Zmax)*ZNodei-t-2UZ

        (7)

        式(7)意為:當(dāng)適應(yīng)性函數(shù)在節(jié)點(diǎn)i的函數(shù)值越高,則證明資源Z在Nodei上的資源使用率低,越不符合數(shù)據(jù)中心的資源使用率預(yù)期,因此是Pod任務(wù)綁定的較優(yōu)節(jié)點(diǎn)。在Pod任務(wù)綁定到Nodei節(jié)點(diǎn)后,Z資源的使用率高于最低資源閾值,且不高于最高負(fù)載閾值,以達(dá)到容器云運(yùn)營(yíng)者的滿意程度。

        因此,我們主要對(duì)數(shù)據(jù)中心資源使用不均情況較為常見的CPU、內(nèi)存指標(biāo)和工作節(jié)點(diǎn)當(dāng)前網(wǎng)絡(luò)負(fù)載情況進(jìn)行數(shù)學(xué)建模:

        1)CPU模型構(gòu)建。根據(jù)Pod所需要的CPU需求量RCPU,與篩選出的節(jié)點(diǎn)Nodei中目前所使用的CPU使用量UCPU進(jìn)行量化建模,具體公式如式(8)所示:

        (8)

        為了滿足任務(wù)Pod所需CPU資源,E1應(yīng)受限于:

        0

        2)內(nèi)存模型構(gòu)建。根據(jù)Pod所需要的內(nèi)存需求量RMem,與篩選出的節(jié)點(diǎn)Nodei中目前所使用的內(nèi)存使用量UMem進(jìn)行量化建模,具體公式如式(9)所示:

        (9)

        為了滿足任務(wù)Pod所需內(nèi)存資源,E2應(yīng)受限于:

        0

        3)網(wǎng)絡(luò)負(fù)載建模。根據(jù)Pod所需要的鏡像需求Rimage,與篩選出的節(jié)點(diǎn)Pod中目前所使用的網(wǎng)絡(luò)負(fù)載量Unet進(jìn)行量化建模,具體公式如式(10)所示:

        (10)

        4)適應(yīng)性函數(shù)構(gòu)建。針對(duì)以上問題,對(duì)適應(yīng)性函數(shù)公式可以建立為:

        (11)

        式(11)中,Nodei4是Nodei得第4維屬性status_now,當(dāng)節(jié)點(diǎn)宕機(jī)時(shí),該宕機(jī)節(jié)點(diǎn)得適應(yīng)性函數(shù)function值為0,當(dāng)適應(yīng)性函數(shù)function值越高,則代表當(dāng)前Nodei資源利用率越滿足任務(wù)Pod運(yùn)行條件,且綁定Pod任務(wù)后集群資源利用率趨于數(shù)據(jù)中心滿意度。

        2 基于模擬退火的粒子群優(yōu)化算法

        2.1 標(biāo)準(zhǔn)粒子群優(yōu)化算法

        粒子群優(yōu)化算法(PSO)[21]是一種模擬生物行為活動(dòng)的群智能化算法,每個(gè)粒子都存在一個(gè)存在可行解的搜索空間,且每個(gè)粒子都具備一定的空間搜索能力,通過粒子速度V,粒子位置X來表示粒子空間位置特征,并由目的函數(shù)確定適應(yīng)度值,其值的好壞表示粒子的優(yōu)劣程度。

        粒子在獨(dú)自的搜索空間內(nèi),每個(gè)粒子會(huì)記錄自身最優(yōu)位置與全局最優(yōu)位置,并通過判斷當(dāng)前自身位置和個(gè)體最優(yōu)位置以及群體最優(yōu)位置的距離,若自身位置優(yōu)于全局最優(yōu)位置,則更新全局最優(yōu)位置,并不斷更新自身的位置和速度,不斷迭代,直到找到種群最優(yōu)位置。更新公式如式(12)所示:

        (12)

        標(biāo)準(zhǔn)PSO算法的偽代碼如下所示:

        Algorithm 1:Find the maximum position of the maximum function.

        procedure PSO

        for each particlei

        Initialize velocityViand positionXifor particlei

        Evaluate particleiand setpBesti=Xi

        end for

        gBest= max{pBesti}

        while not stop

        fori= 1 to N

        Update the velocity and position of particlei

        Evaluate particlei

        if function(Xi) > function(pBesti)

        pBesti=Xi;

        if function(pBesti) > function(gBest)

        gBest=pBesti;

        end for

        end while

        printgBest

        end procedure

        2.2 基于模擬退火的粒子群優(yōu)化算法思想

        模擬退火算法[22]的是受固體退火過程的啟發(fā)而發(fā)展出來的一種算法,固體加熱至足夠的高的溫度時(shí),再另其緩慢冷卻,而固體中的粒子在升溫過程中,內(nèi)能增大,趨于無序;緩慢降溫時(shí)又能夠使得內(nèi)能減小,趨于有序。因此理論上說,只要初始溫度足夠高,而降溫過程又足夠緩慢,那么算法在過程中將會(huì)收斂到全局極值。而之所以模擬退火算法可以有能力進(jìn)行概率突跳,是因?yàn)椴捎昧薓etropolis準(zhǔn)則,其表達(dá)式為如式(13)所示:

        (13)

        如圖3所示,在主節(jié)點(diǎn)api-server組件接收到Pod任務(wù)創(chuàng)建任務(wù)后,kube-scheduler組件調(diào)用基于模擬退火的粒子群優(yōu)化算法,并向數(shù)據(jù)庫(kù)請(qǐng)求實(shí)時(shí)采集容器云中工作節(jié)點(diǎn)的當(dāng)前資源信息,得到返回?cái)?shù)據(jù)后開始計(jì)算,計(jì)算完成后返回最優(yōu)節(jié)點(diǎn),工作節(jié)點(diǎn)kubelet組件通過watch監(jiān)聽主節(jié)點(diǎn)api-server得到調(diào)度任務(wù)后,調(diào)用本地Docker-daemon組件進(jìn)行容器鏡像的檢索和下載工作,鏡像存在本機(jī)后,啟動(dòng)任務(wù),至此一次任務(wù)創(chuàng)建完成。

        圖3 基于模擬退火的粒子群優(yōu)化算法框架圖

        粒子群優(yōu)化算法的優(yōu)化過程主要是通過粒子群中的粒子通過粒子間的信息(即個(gè)體最優(yōu)解和全局最優(yōu)解)不斷更新自身的位置和速度,使其能不斷地向全局最優(yōu)解靠攏,最終得到全局最優(yōu)解。但是由于基本粒子群算法處于運(yùn)算后期時(shí),因粒子多樣性減少,容易陷入局部最優(yōu),且后期收斂速度變慢。在整個(gè)計(jì)算流程中,慣性權(quán)重對(duì)粒子速度和位置的影響不同:運(yùn)算前期,較大的慣性權(quán)重有利于全局搜索,粒子速度快,但尋優(yōu)值不夠精確;相反,運(yùn)算前期,較小的慣性權(quán)重有利于局部搜索,全局搜索能力較弱,但容易陷入局部最優(yōu)。因此,將模擬退火算法嵌入粒子群優(yōu)化算法中,就是在算法初期溫度較高的時(shí)候,讓種群例子有較大概率去接受非最優(yōu)解,從而跳出局部最優(yōu)解,而后期溫度降低時(shí),又能夠收斂到全局最優(yōu),準(zhǔn)確定位到全局最優(yōu)解。由于模擬退火有能夠突跳的概率,因此可以有效避免算法陷入局部最優(yōu),有效避免了“早熟”現(xiàn)象?;谀M退火的粒子群優(yōu)化算法流程如圖4所示。

        圖4 模擬退火的粒子群優(yōu)化算法流程圖

        3 實(shí)驗(yàn)結(jié)果與分析

        3.1 實(shí)驗(yàn)環(huán)境

        實(shí)驗(yàn)環(huán)境采用翔明云提供的虛擬機(jī)作為操作主機(jī),創(chuàng)建集群大小為17的高可用Kubernetes集群,集群中3臺(tái)節(jié)點(diǎn)搭建Master節(jié)點(diǎn)高可用,其中2臺(tái)既是Master節(jié)點(diǎn)也是Node節(jié)點(diǎn),共計(jì)16個(gè)Node節(jié)點(diǎn)。實(shí)驗(yàn)環(huán)境如表2所示。

        表2 實(shí)驗(yàn)環(huán)境表

        對(duì)SA-PSO算法(后稱改進(jìn)PSO算法)與標(biāo)準(zhǔn)PSO算法、文獻(xiàn)[23]動(dòng)態(tài)權(quán)重調(diào)整的PSO算法(后稱權(quán)重PSO算法)進(jìn)行性能及精度進(jìn)行對(duì)比。同時(shí)對(duì)改進(jìn)PSO算法與Kubernetes默認(rèn)調(diào)度算法進(jìn)行對(duì)比。服務(wù)器資源利用率的期望閾值根據(jù)貴州翔明云日常運(yùn)維需求來進(jìn)行設(shè)定,當(dāng)CPU利用率在20%~80%,內(nèi)存利用率在30%~80%之間,服務(wù)器性能較好,且資源利用率最合理,文獻(xiàn)[24]實(shí)驗(yàn)得出當(dāng)c1=c2=2.5時(shí)標(biāo)準(zhǔn)PSO算法的收斂效果最好,文獻(xiàn)[25]指出模擬退火中K=0.7和T0=10 000時(shí),基于模擬退火的粒子群優(yōu)化算法效果較好。實(shí)驗(yàn)中具體參數(shù)設(shè)置如表3所示。

        表3 實(shí)驗(yàn)參數(shù)表

        3.2 實(shí)驗(yàn)與分析

        3.2.1 性能測(cè)試和精度測(cè)試

        對(duì)改進(jìn)PSO算法的性能進(jìn)行測(cè)試,通過對(duì)權(quán)重PSO算法,標(biāo)準(zhǔn)PSO算法的尋優(yōu)過程中的迭代次數(shù)以及收斂性進(jìn)行對(duì)比,測(cè)試改進(jìn)算法的算法效率。實(shí)驗(yàn)過程通過發(fā)布一個(gè)CPU需求量為1 000 m、內(nèi)存需求量為1 G的Nginx容器Pod任務(wù),使用目標(biāo)函數(shù)對(duì)不同Node節(jié)點(diǎn)的資源利用情況進(jìn)行計(jì)算得到該節(jié)點(diǎn)的適應(yīng)性值,適應(yīng)值最高的節(jié)點(diǎn)即為本次任務(wù)的全局最優(yōu)目標(biāo)節(jié)點(diǎn),不同的粒子在不同節(jié)點(diǎn)間自主運(yùn)動(dòng),并不斷與全局最優(yōu)解進(jìn)行比較,調(diào)整自身的運(yùn)動(dòng)方向以及運(yùn)動(dòng)速度,直到找到最高峰值,峰值所在節(jié)點(diǎn)既是全局最優(yōu)節(jié)點(diǎn),具體如圖5所示。

        圖5 集群節(jié)點(diǎn)適應(yīng)值曲線

        當(dāng)?shù)螖?shù)為50,粒子群大小為3時(shí),對(duì)3種算法的迭代尋優(yōu)變化曲線進(jìn)行對(duì)比,具體實(shí)驗(yàn)結(jié)果如圖6所示。

        圖6 算法迭代尋優(yōu)對(duì)比圖

        依此反復(fù)測(cè)試10次,目的函數(shù)達(dá)到最大值記為一次成功命中,意味著沒有進(jìn)入局部最優(yōu),達(dá)到了全局最優(yōu)解,記為全局收斂成功。各個(gè)算法尋找到各自群體最優(yōu)解看作完成迭代,記錄為迭代次數(shù),同時(shí)該記錄也包含陷入局部最優(yōu)解的情況。通過計(jì)算得出平均迭代次數(shù)、收斂成功率情況如表4所示。

        表4 尋優(yōu)情況表

        實(shí)驗(yàn)表明,當(dāng)粒子群大小為3,最大迭代次數(shù)為50次時(shí),標(biāo)準(zhǔn)PSO算法容易陷入局部最優(yōu)情況而無法精確地找到目標(biāo)節(jié)點(diǎn),而改進(jìn)PSO算法和權(quán)重PSO算法相較標(biāo)準(zhǔn)PSO算法的收斂成功率以及命中率均有較大提升,且平均迭代次數(shù)要少于標(biāo)準(zhǔn)PSO算法。改進(jìn)PSO算法由于對(duì)學(xué)習(xí)因子進(jìn)行動(dòng)態(tài)調(diào)整,收斂性能略優(yōu)于權(quán)重PSO算法。上述實(shí)驗(yàn)可知,在本次實(shí)驗(yàn)環(huán)境下,改進(jìn)PSO算法的成功命中率相較標(biāo)準(zhǔn)PSO算法提高了近60%。

        3.2.2 負(fù)載均衡測(cè)試

        對(duì)集群負(fù)載均衡度進(jìn)行測(cè)試。使用Kubernetes的Scheduler-framework用來實(shí)現(xiàn)改進(jìn)PSO算法的調(diào)度算法。通過選擇先后選擇BLA調(diào)度算法和改進(jìn)PSO調(diào)度算法分別部署4個(gè)高資源需要求的Nginx服務(wù)器作為調(diào)度任務(wù),在yaml文件中限制CPU大小為1 000 m,內(nèi)存大小為1 G,通過Kubernetes的BalanceResourceAllocation(后稱BLA)算法,將4個(gè)調(diào)度任務(wù)分別綁定到4個(gè)節(jié)點(diǎn),先后次序?yàn)閚ode15,node02,node05,node12,完成后集群資源利用使用圖如圖7所示。

        圖7 BLA調(diào)度算法集群資源使用情況圖

        實(shí)驗(yàn)結(jié)果表明,雖然BLA調(diào)度算法一定程度上提高了資源利用率,但是仍有部分節(jié)點(diǎn)資源使用情況不理想。在BLA調(diào)度過程中,主要會(huì)考慮任務(wù)綁定到某個(gè)節(jié)點(diǎn)時(shí)節(jié)點(diǎn)資源使用率是否均衡而不會(huì)考慮資源利用率情況,因此容易造成某些節(jié)點(diǎn)資源利用率不高的情況。通過改進(jìn)PSO算法先后部署同樣的4個(gè)調(diào)度任務(wù),任務(wù)綁定節(jié)點(diǎn)先后次序?yàn)閚ode08,node06,node04,node15,改進(jìn)PSO算法能較好的提高整體資源利用情況,達(dá)到云提供商的資源使用預(yù)期,完成調(diào)度后的資源使用情況如圖8所示。

        圖8 改進(jìn)PSO調(diào)度算法集群資源使用情況圖

        通過對(duì)比兩個(gè)算法的任務(wù)調(diào)度可以看出,改進(jìn)PSO算法SA-PSO相對(duì)Kubernetes的Balance Resource Allocation算法實(shí)現(xiàn)了更好的集群資源利用率,同時(shí)部署節(jié)點(diǎn)的網(wǎng)絡(luò)負(fù)載率也處于較低水平,為下一步容器鏡像分發(fā)步驟節(jié)省了任務(wù)等待時(shí)間。在本實(shí)驗(yàn)環(huán)境中,改進(jìn)PSO算法(SA-PSO)可以準(zhǔn)確地找到任務(wù)綁定的最優(yōu)節(jié)點(diǎn),從而提高集群的整體資源利用率。

        3.2.3 任務(wù)最少等待時(shí)間測(cè)試

        使用Kubernetes默認(rèn)調(diào)度算法和改進(jìn)PSO調(diào)度算法進(jìn)行分別部署10次鏡像大小為133 MB的Nginx服務(wù)Pod任務(wù),其資源需求配置如測(cè)試(2)相同,記錄其任務(wù)最短等待時(shí)間,實(shí)驗(yàn)對(duì)比結(jié)果如圖9所示。

        圖9 任務(wù)最少等待時(shí)間與網(wǎng)絡(luò)負(fù)載率對(duì)比圖

        圖9中,網(wǎng)絡(luò)負(fù)載率1為默認(rèn)算法調(diào)度工作節(jié)點(diǎn)的網(wǎng)絡(luò)負(fù)載率,網(wǎng)絡(luò)負(fù)載率2為改進(jìn)PSO算法調(diào)度工作節(jié)點(diǎn)的網(wǎng)絡(luò)負(fù)載率。由實(shí)驗(yàn)結(jié)果可知,改進(jìn)PSO算法較于默認(rèn)調(diào)度算法由于在調(diào)度過程中將工作節(jié)點(diǎn)的網(wǎng)絡(luò)負(fù)載率帶入計(jì)算,優(yōu)先選擇網(wǎng)絡(luò)負(fù)載率低的節(jié)點(diǎn)進(jìn)行調(diào)度,因此可以提升鏡像分發(fā)的效率,從而減少任務(wù)最少等待時(shí)間。

        4 結(jié)束語(yǔ)

        隨著云計(jì)算產(chǎn)業(yè)的快速發(fā)展,Docker的出現(xiàn)給了互聯(lián)網(wǎng)企業(yè)一種新的解決問題的思路。面對(duì)大規(guī)模的軟件部署,若不能合理利用服務(wù)器資源,無論對(duì)云提供商還是軟件方都是一項(xiàng)額外的開銷。而主流的容器編排平臺(tái)Kubernetes在調(diào)度容器的過程中存在著資源利用不足的問題,同時(shí)目前主流研究沒有將容器調(diào)度過程與鏡像分發(fā)過程相結(jié)合。因此,在此提出了一種基于SA-PSO調(diào)度算法,通過模擬退火算法解決粒子群算法易于陷入局部最優(yōu)解的問題。經(jīng)過實(shí)驗(yàn)表明,SA-PSO算法相較標(biāo)準(zhǔn)PSO算法以及權(quán)重PSO算法有較強(qiáng)的收斂能力以及尋優(yōu)精準(zhǔn)度,在本實(shí)驗(yàn)環(huán)境中,尋優(yōu)精準(zhǔn)度相較標(biāo)準(zhǔn)PSO算法提升約60%。同時(shí),在Kubernetes平臺(tái)實(shí)驗(yàn)測(cè)試中,SA-PSO調(diào)度算法不僅對(duì)數(shù)據(jù)中心期望的資源閾值進(jìn)行考慮,而且在集群資源利用率方面優(yōu)于BalanceResourceAllocation調(diào)度算法。對(duì)工作節(jié)點(diǎn)的網(wǎng)絡(luò)負(fù)載率進(jìn)行考慮,顯著減少了容器任務(wù)的任務(wù)等待時(shí)間。

        猜你喜歡
        資源
        讓有限的“資源”更有效
        污水磷資源回收
        基礎(chǔ)教育資源展示
        崛起·一場(chǎng)青銅資源掠奪戰(zhàn)
        一樣的資源,不一樣的收獲
        我給資源分分類
        資源回收
        做好綠色資源保護(hù)和開發(fā)
        資源再生 歡迎訂閱
        資源再生(2017年3期)2017-06-01 12:20:59
        激活村莊內(nèi)部治理資源
        決策(2015年9期)2015-09-10 07:22:44
        亚洲国产成人片在线观看| 我的极品小姨在线观看| 国产精品偷伦免费观看的| 久久久久久久久久免免费精品| 91亚洲精品久久久中文字幕| 日本亚洲系列中文字幕| 一本色道久久爱88av| 国产顶级熟妇高潮xxxxx| 午夜福利电影| 国产在线美女| 一区视频在线观看免费播放.| 免费看男女啪啪的视频网站| 久久91精品国产一区二区| 中文字字幕人妻中文| 久久精品免费观看国产| 国产白嫩美女在线观看| 传媒在线无码| 亚洲福利网站在线一区不卡| 国产一区二区长腿丝袜高跟鞋| 人妻中文字幕乱人伦在线| 中文字幕丰满乱子无码视频| 在线观看国产精品日韩av| 女性自慰网站免费看ww| 少妇人妻中文字幕在线| 色综合久久蜜芽国产精品| 亚洲欧美国产国产综合一区| 欧美日韩精品福利在线观看| 国语自产啪在线观看对白| 久久人人爽人人爽人人片av高请| 亚洲精品综合一区二区| 中文字幕福利视频| mm在线精品视频| 国产精品一区二区三区av在线| 欧美四房播播| 天天干夜夜操| 国产美女亚洲精品一区| 日本中文一区二区在线| 把女的下面扒开添视频| 国产精品污www一区二区三区| 亚洲蜜芽在线精品一区| 国产毛片精品av一区二区|