• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于模擬退火算法的粒子群優(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)越來(lái)越凸顯。容器技術(shù)易擴(kuò)展、秒級(jí)啟動(dòng)、靈活的彈性伸縮等特點(diǎn),為這些問(wèn)題提供了一種全新的解決方案。軟件容器化已經(jīng)成為軟件部署和當(dāng)今互聯(lián)網(wǎng)的新趨勢(shì)。Docker[1]則是其中一個(gè)開(kāi)源的應(yīng)用容器引擎,不僅是一個(gè)新型虛擬化技術(shù),同時(shí)也是應(yīng)用程序交付的一種方式。傳統(tǒng)虛擬機(jī)一般由虛擬硬件和操作系統(tǒng)兩部分組成,而Docker容器不需要安裝特定的操作系統(tǒng)和VMM(虛擬機(jī)監(jiān)控),Docker容器通過(guò)共享主機(jī)操作系統(tǒng)內(nèi)核,用主機(jī)的硬件和操作系統(tǒng)來(lái)完成程序的操作,一定程度上減少了資源的浪費(fèi)問(wèn)題,兩者架構(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í),首先通過(guò)預(yù)選算法篩選出所有符合運(yùn)行條件的節(jié)點(diǎn),接著通過(guò)優(yōu)選算法為這些節(jié)點(diǎn)進(jìn)行打分,最終選擇分?jǐn)?shù)最高的節(jié)點(diǎn)用來(lái)綁定Pod任務(wù),接著調(diào)用Docker-daemon通過(guò)Http方式向鏡像倉(cāng)庫(kù)下載相應(yīng)的容器鏡像,具體步驟如圖2所示。

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

      雖然Kubernetes的Balanced Resource Allocation調(diào)度算法雖然能一定程度上解決資源均衡問(wèn)題,但是仍然達(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)度后的資源利用率不均衡問(wèn)題有較多的研究。文獻(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]通過(guò)對(duì)容器需求的CPU和內(nèi)存資源進(jìn)行分類(lèi),針對(duì)不同類(lèi)型的容器使用不同的調(diào)度算法。文獻(xiàn)[6]提出了基于應(yīng)用歷史記錄的調(diào)度算法,減少容器調(diào)度后的鏡像分發(fā)過(guò)程中帶來(lái)的網(wǎng)絡(luò)資源的損耗。文獻(xiàn)[7-10]使用群優(yōu)化算法對(duì)容器的多指標(biāo)調(diào)度設(shè)計(jì),實(shí)現(xiàn)了較好的資源使用率。文獻(xiàn)[11]通過(guò)對(duì)數(shù)據(jù)中心資源進(jìn)行更細(xì)粒度的劃分,在保證了服務(wù)器性能的同時(shí),集群資源利用率也得到了提高。文獻(xiàn)[12-13]針對(duì)容器動(dòng)態(tài)調(diào)度的問(wèn)題,設(shè)計(jì)尋找最優(yōu)解的動(dòng)態(tài)調(diào)度算法,解決了動(dòng)態(tài)調(diào)度中的資源浪費(fèi)問(wèn)題。文獻(xiàn)[14]設(shè)計(jì)一種多目標(biāo)容器調(diào)度算法Multiopt,通過(guò)對(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]通過(guò)預(yù)先訓(xùn)練隨機(jī)森林回歸模型,預(yù)測(cè)集群壓力進(jìn)行容器調(diào)度。文獻(xiàn)[18]提出了一種VM-Container混合分層資源調(diào)度機(jī)制,通過(guò)調(diào)度狀態(tài)綜合性將任務(wù)劃分為不同的級(jí)別,針對(duì)不同的級(jí)別制定不同的PSO調(diào)度算法,但沒(méi)有考慮到特殊情景下的容器調(diào)度。文獻(xiàn)[19-20]關(guān)注容器資源要求環(huán)境和任務(wù)規(guī)模變化,提出采用粒子群優(yōu)化算法來(lái)進(jìn)行容器部署,解決了容器部署過(guò)程中的網(wǎng)絡(luò)消耗問(wèn)題。

      盡管?chē)?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文件中聲明容器所需要的資源信息,接著通過(guò)kubectl命令來(lái)創(chuàng)建Pod。因此,在Pod開(kāi)始調(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)開(kāi)始調(diào)度時(shí),通過(guò)Kubernetes編排平臺(tái)中的預(yù)選決策后,集群已經(jīng)通過(guò)預(yù)選決策篩選出了一部分可以滿足調(diào)度任務(wù)可正常工作節(jié)點(diǎn):

      (5)

      式中,Node為篩選出來(lái)符合調(diào)度條件的工作節(jié)點(diǎn)的集合,且被篩選出來(lái)的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)孕枰ㄟ^(guò)優(yōu)選測(cè)了為Podi找到一個(gè)最優(yōu)節(jié)點(diǎn)進(jìn)行調(diào)度,以提升集群的整體資源利用率。

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

      (6)

      式中,Z表示為資源類(lèi)型,包括CPU、內(nèi)存、網(wǎng)絡(luò)等資源類(lèi)型,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資源類(lèi)型的資源使用量,ZPodi-R為任務(wù)Podi所需要的資源量。

      容器云調(diào)度過(guò)程應(yīng)盡可能多地為上層應(yīng)用分配計(jì)算機(jī)資源,給容器云經(jīng)營(yíng)者帶來(lái)更多的收益,因此,以所有執(zhí)行任務(wù)所需要的資源量的價(jià)值來(lái)表示容器云經(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ù)中心資源使用不均情況較為常見(jiàn)的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ì)以上問(wèn)題,對(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è)粒子都具備一定的空間搜索能力,通過(guò)粒子速度V,粒子位置X來(lái)表示粒子空間位置特征,并由目的函數(shù)確定適應(yīng)度值,其值的好壞表示粒子的優(yōu)劣程度。

      粒子在獨(dú)自的搜索空間內(nèi),每個(gè)粒子會(huì)記錄自身最優(yōu)位置與全局最優(yōu)位置,并通過(guò)判斷當(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]的是受固體退火過(guò)程的啟發(fā)而發(fā)展出來(lái)的一種算法,固體加熱至足夠的高的溫度時(shí),再另其緩慢冷卻,而固體中的粒子在升溫過(guò)程中,內(nèi)能增大,趨于無(wú)序;緩慢降溫時(shí)又能夠使得內(nèi)能減小,趨于有序。因此理論上說(shuō),只要初始溫度足夠高,而降溫過(guò)程又足夠緩慢,那么算法在過(guò)程中將會(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ù)后開(kāi)始計(jì)算,計(jì)算完成后返回最優(yōu)節(jié)點(diǎn),工作節(jié)點(diǎn)kubelet組件通過(guò)watch監(jiān)聽(tīng)主節(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)化過(guò)程主要是通過(guò)粒子群中的粒子通過(guò)粒子間的信息(即個(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算法(后稱(chēng)改進(jìn)PSO算法)與標(biāo)準(zhǔn)PSO算法、文獻(xiàn)[23]動(dòng)態(tài)權(quán)重調(diào)整的PSO算法(后稱(chēng)權(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)維需求來(lái)進(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è)試,通過(guò)對(duì)權(quán)重PSO算法,標(biāo)準(zhǔn)PSO算法的尋優(yōu)過(guò)程中的迭代次數(shù)以及收斂性進(jìn)行對(duì)比,測(cè)試改進(jìn)算法的算法效率。實(shí)驗(yàn)過(guò)程通過(guò)發(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á)到最大值記為一次成功命中,意味著沒(méi)有進(jìn)入局部最優(yōu),達(dá)到了全局最優(yōu)解,記為全局收斂成功。各個(gè)算法尋找到各自群體最優(yōu)解看作完成迭代,記錄為迭代次數(shù),同時(shí)該記錄也包含陷入局部最優(yōu)解的情況。通過(guò)計(jì)算得出平均迭代次數(shù)、收斂成功率情況如表4所示。

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

      實(shí)驗(yàn)表明,當(dāng)粒子群大小為3,最大迭代次數(shù)為50次時(shí),標(biāo)準(zhǔn)PSO算法容易陷入局部最優(yōu)情況而無(wú)法精確地找到目標(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)整,收斂性能略?xún)?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用來(lái)實(shí)現(xiàn)改進(jìn)PSO算法的調(diào)度算法。通過(guò)選擇先后選擇BLA調(diào)度算法和改進(jìn)PSO調(diào)度算法分別部署4個(gè)高資源需要求的Nginx服務(wù)器作為調(diào)度任務(wù),在yaml文件中限制CPU大小為1 000 m,內(nèi)存大小為1 G,通過(guò)Kubernetes的BalanceResourceAllocation(后稱(chēng)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)度過(guò)程中,主要會(huì)考慮任務(wù)綁定到某個(gè)節(jié)點(diǎn)時(shí)節(jié)點(diǎn)資源使用率是否均衡而不會(huì)考慮資源利用率情況,因此容易造成某些節(jié)點(diǎn)資源利用率不高的情況。通過(guò)改進(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)度算法集群資源使用情況圖

      通過(guò)對(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)度過(guò)程中將工作節(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è)一種新的解決問(wèn)題的思路。面對(duì)大規(guī)模的軟件部署,若不能合理利用服務(wù)器資源,無(wú)論對(duì)云提供商還是軟件方都是一項(xiàng)額外的開(kāi)銷(xiāo)。而主流的容器編排平臺(tái)Kubernetes在調(diào)度容器的過(guò)程中存在著資源利用不足的問(wèn)題,同時(shí)目前主流研究沒(méi)有將容器調(diào)度過(guò)程與鏡像分發(fā)過(guò)程相結(jié)合。因此,在此提出了一種基于SA-PSO調(diào)度算法,通過(guò)模擬退火算法解決粒子群算法易于陷入局部最優(yōu)解的問(wèn)題。經(jīng)過(guò)實(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í)間。

      猜你喜歡
      模擬退火利用率容器
      Different Containers不同的容器
      難以置信的事情
      化肥利用率穩(wěn)步增長(zhǎng)
      做好農(nóng)村土地流轉(zhuǎn) 提高土地利用率
      模擬退火遺傳算法在機(jī)械臂路徑規(guī)劃中的應(yīng)用
      淺議如何提高涉煙信息的利用率
      基于模糊自適應(yīng)模擬退火遺傳算法的配電網(wǎng)故障定位
      板材利用率提高之研究
      取米
      SOA結(jié)合模擬退火算法優(yōu)化電容器配置研究
      乌什县| 娱乐| 黄平县| 革吉县| 柳林县| 勃利县| 黑山县| 邳州市| 南皮县| 仁怀市| 锦屏县| 肥城市| 五台县| 曲水县| 江孜县| 华宁县| 富宁县| 修文县| 旺苍县| 黎川县| 巧家县| 兰坪| 资阳市| 措美县| 确山县| 乌拉特前旗| 大连市| 皋兰县| 通城县| 武强县| 依兰县| 修水县| 淄博市| 长武县| 泰顺县| 广饶县| 射洪县| 恭城| 江阴市| 安乡县| 车险|