国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

容器云環(huán)境虛擬資源配置策略的優(yōu)化

2019-07-31 12:14:01李啟銳彭志平崔得龍何杰光
計(jì)算機(jī)應(yīng)用 2019年3期
關(guān)鍵詞:云計(jì)算容器

李啟銳 彭志平 崔得龍 何杰光

摘 要:針對(duì)容器化云環(huán)境中數(shù)據(jù)中心能耗較高的問(wèn)題,提出了一種基于最佳能耗優(yōu)先(Power Full, PF)物理機(jī)選擇算法的虛擬資源配置策略。首先,提出容器云虛擬資源的配置和遷移方案,發(fā)現(xiàn)物理機(jī)選擇策略對(duì)數(shù)據(jù)中心能耗有重要影響;

其次,通過(guò)研究主機(jī)利用率與容器利用率,主機(jī)利用率與虛擬機(jī)利用率,主機(jī)利用率與數(shù)據(jù)中心能耗之間的數(shù)學(xué)關(guān)系,

然后,通過(guò)研究物理機(jī)利用率與容器、虛擬機(jī)利用率之間以及與數(shù)據(jù)中心能耗之間的數(shù)學(xué)計(jì)算關(guān)系,建立容器云數(shù)據(jù)中心能耗的數(shù)學(xué)模型,定義出優(yōu)化目標(biāo)函數(shù);最后,通過(guò)對(duì)物理機(jī)的能耗函數(shù)使用線性插值進(jìn)行模擬,依據(jù)鄰近事物相類似的特性,提出改進(jìn)的最佳能耗優(yōu)先物理機(jī)選擇算法。仿真實(shí)驗(yàn)將此算法與先來(lái)先得(First Fit, FF)、最低利用率優(yōu)先(Least Fit, LF)、最高利用率優(yōu)先(Most Full, MF)進(jìn)行比較,實(shí)驗(yàn)結(jié)果表明,在有規(guī)律不同物理機(jī)群的計(jì)算服務(wù)中,其能耗比FF、LF、MF分別平均降低45%、53%和49%;在有規(guī)律相同物理機(jī)群的計(jì)算服務(wù)中,其能耗比FF、LF、MF分別平均降低56%、46%和58%;在無(wú)規(guī)律不同物理機(jī)群的計(jì)算服務(wù)中,其能耗比FF、LF、MF分別平均降低32%、24%和12%。所提算法實(shí)現(xiàn)了對(duì)容器云虛擬資源的合理配置,且在數(shù)據(jù)中心節(jié)能方面具有優(yōu)越性。

關(guān)鍵詞:云計(jì)算;容器;虛擬資源配置;數(shù)據(jù)中心能耗;資源利用率

中圖分類號(hào): TP391

文獻(xiàn)標(biāo)志碼:A

文章編號(hào):1001-9081(2019)03-0784-06

Abstract: Aiming at high energy consumption of data center in container cloud, a virtual resource deployment strategy based on host selection algorithm with Power Full (PF) was proposed. Firstly, the allocation and migration scheme of virtual resource in container cloud was proposed and the significant impact of host selection strategy on energy consumption of data center was found.

Secondly, by studying the mathematical relationship between the utilization of host and ?the utilization of containers , between the utilization of host and the ?utilization of virtual machines and between the utilization of host and energy consumption of data center,

Secondly, by studying the mathematical relationship between the utilization of host and the utilization of container and virtual machines, the mathematical relationship between the utilization of host and energy consumption of data center,

a mathematical model of the energy consumption of data center in container cloud was constructed and an optimization objective function was defined. Finally, the function of host's energy consumption was simulated using linear interpolation method, and a host selection algorithm with PF was proposed according to the clustering property of the objects. Simulation results show that compared with First Fit (FF), Least Full (LF) and Most Full (MF), the energy consumption of the proposed algorithm is averagely reduced by 45%,53% and 49% respectively in the computing service of regular tasks and different host clusters; is averagely reduced by 56%,46% and 58% respectively in the computing service of regular tasks and same host cluster; is averagely reduced by 32%,24% and 12% respectively in the computing service of irregular tasks and different host clusters. The results indicate that the proposed algorithm realizes reasonable virtual resource deployment in container cloud, and has advantage in data center energy saving.

Key words: cloud computing; container; allocation of virtual resource; energy consumption of data center; utilization of resource

0 引言

近幾年,隨著Docker的出現(xiàn),容器(Container)技術(shù)對(duì)云計(jì)算發(fā)展產(chǎn)生了巨大的影響[1]。容器虛擬化技術(shù)及其構(gòu)建的云平臺(tái)以其固有的部署快、啟動(dòng)快、遷移易、性能高等優(yōu)勢(shì),正逐漸被各大云服務(wù)提供商所廣泛采納[2]。截至2017年8月,Docker項(xiàng)目在GitHub上擁有的Star超過(guò)4.5萬(wàn)顆;已有45%的公司運(yùn)行容器機(jī)器規(guī)模在250臺(tái)以上,比2016 年提高了25 個(gè)百分點(diǎn)。容器技術(shù)已經(jīng)成為云計(jì)算領(lǐng)域的研究熱點(diǎn)。LinkedIn 的數(shù)據(jù)表明,2017年Docker一詞的出現(xiàn)次數(shù)較前一年增長(zhǎng)了160%。

雖然云服務(wù)供需雙方對(duì)數(shù)據(jù)中心資源管理和租用方式隨著容器等新技術(shù)的發(fā)展逐漸改變,但提高資源利用率和降低數(shù)據(jù)中心能耗仍然是容器云服務(wù)提供商最關(guān)注的兩個(gè)重要問(wèn)題[3]。虛擬化容器技術(shù)是當(dāng)前云計(jì)算資源供應(yīng)最流行的方式,與傳統(tǒng)虛擬機(jī)技術(shù)不同,容器不需要一個(gè)完整的操作系統(tǒng) 實(shí)例,可極大降低對(duì)服務(wù)器CPU、內(nèi)存等資源的消耗[4]。為了進(jìn)一步提高容器云數(shù)據(jù)中心的資源利用率,李青等[5]設(shè)計(jì)了一種以容器為基本虛擬化資源管理單位的數(shù)據(jù)中心QoS (Quality of Service, QoS)保證的作業(yè)資源匹配算法,有效提高了節(jié)點(diǎn)應(yīng)用的性能。Xu 等[6]研究了以容器替代虛擬機(jī)的云計(jì)算資源調(diào)度算法,大幅度降低云用戶的響應(yīng)時(shí)間和提高云提供商資源的利用率。崔廣章等[7]在Mesos資源調(diào)度策略的基礎(chǔ)上將Mesos-Slave節(jié)點(diǎn)的CPU使用率、內(nèi)存的占有率以及運(yùn)行的容器個(gè)數(shù)三個(gè)因素加權(quán)作為資源調(diào)度的依據(jù),使容器云集群資源利用率趨于均衡。與虛擬機(jī)相比,容器不僅是一種低開銷的虛擬化技術(shù),而且提高了性能。但是,與針對(duì)虛擬化云數(shù)據(jù)中心的計(jì)算和網(wǎng)絡(luò)資源的能效被廣泛研究不同,只有少數(shù)學(xué)者調(diào)查了容器的節(jié)能管理問(wèn)題[8]。Demirkol等[9]研究了容器虛擬化技術(shù)與傳統(tǒng)虛擬化技術(shù)在不同環(huán)境下的能耗情況,發(fā)現(xiàn)在大部分環(huán)境中容器虛擬化技術(shù)的節(jié)能效果更佳。Kaurt等[10]提出了一種基于CaaS (Container-as-a-Service)的數(shù)據(jù)中心任務(wù)調(diào)度策略,通過(guò)使用輕量級(jí)容器替代傳統(tǒng)的虛擬機(jī)的方式不僅縮短了任務(wù)的反應(yīng)時(shí)間而且降低了數(shù)據(jù)中心的能耗。施超等[8]將機(jī)器學(xué)習(xí)中的歐氏距離、皮爾遜相關(guān)系數(shù)、余弦相似度、Taninoto系數(shù)作為容器與虛擬機(jī)穩(wěn)定匹配的偏好規(guī)則,同時(shí)通過(guò)偏好列表將一對(duì)一的穩(wěn)定婚姻匹配改進(jìn)為多對(duì)一的穩(wěn)定匹配,解決了將容器整合到虛擬機(jī)上的初始化部署問(wèn)題,取得較好的節(jié)能效果。

綜上所述,盡管越來(lái)越多的云資源提供商和學(xué)者對(duì)容器技術(shù)產(chǎn)生了興趣,但是目前關(guān)于容器部署方面的研究還處于初級(jí)階段。文獻(xiàn)[5-7]初步研究了容器的資源整合問(wèn)題,提出的算法提高了容器云資源的利用率,但是忽略了在優(yōu)化資源利用率的同時(shí),容易出現(xiàn)數(shù)據(jù)中心能耗升高問(wèn)題。文獻(xiàn)[8-10]證明了使用容器虛擬化技術(shù)能夠有效降低數(shù)據(jù)中心的能耗,并利用穩(wěn)定匹配思想對(duì)資源進(jìn)行有效的分配,但對(duì)云環(huán)境中虛擬機(jī)和容器資源動(dòng)態(tài)變化的問(wèn)題還處于初步探究階段。因此,本文從降低數(shù)據(jù)中心能耗的角度出發(fā),提出一種容器云資源配置方案,對(duì)容器云數(shù)據(jù)中心的能耗問(wèn)題進(jìn)行數(shù)學(xué)建模,根據(jù)模型對(duì)資源配置時(shí)物理機(jī)選擇方法進(jìn)行了研究和改進(jìn),提出的PF算法有效解決了容器云數(shù)據(jù)中心的能耗優(yōu)化問(wèn)題。

1 容器云資源配置

Google、Aamzon、Microsoft等互聯(lián)網(wǎng)公司加大對(duì)Docker開源技術(shù)的研發(fā)力度, CaaS云模型越來(lái)越受各大云計(jì)算服務(wù)商青睞,將成為主要的云服務(wù)模型之一。研究表明,相比于單獨(dú)使用容器部署,使用虛擬機(jī)、容器混合部署能獲得相近甚至更好的性能。

基于虛擬機(jī)、容器混合的云資源配置包括兩部分:一部分是物理機(jī)(Host)虛擬化,即將物理機(jī)資源分配給虛擬機(jī);另一部分是虛擬機(jī)(Virtual Machine,VM)容器化,即將虛擬機(jī)資源分配給容器。為了描述方便,本文將虛擬機(jī)和容器統(tǒng)稱為虛擬服務(wù)器或虛擬資源,將物理機(jī)稱為物理服務(wù)器或物理資源。整個(gè)配置過(guò)程又分為兩階段:第一階段是云任務(wù)提交到數(shù)據(jù)中心后的資源初始配置;第二階段是云任務(wù)運(yùn)行過(guò)程中虛擬服務(wù)器的遷移。

1.1 虛擬機(jī)資源配置

在數(shù)據(jù)中心,物理機(jī)的數(shù)量較多,一臺(tái)虛擬機(jī)請(qǐng)求物理資源時(shí),要按某種策略選擇一臺(tái)物理機(jī)部署該虛擬機(jī),并為其分配CPU、內(nèi)存、帶寬和硬盤等資源。具體的部署算法描述如下:

步驟1 數(shù)據(jù)中心選擇一臺(tái)Host給VM,被選擇的Host可用的CPU、內(nèi)存、帶寬和硬盤資源必須滿足VM的需求。

步驟2 Host為VM分配內(nèi)存資源。

步驟3 Host為VM分配帶寬資源。

步驟4 Host為VM分配CPU資源。假設(shè)Host有m個(gè)處理核(記為HPE),VM需要n個(gè)處理核(記為VPE),按順序?qū)個(gè)HPE分配給n個(gè)VPE。

步驟5 Host為 VM分配硬盤資源。

步驟6 重復(fù)步驟1~5,直到所有VM都分配到所需求的物理資源。

1.2 容器資源配置

容器的部署過(guò)程與虛擬機(jī)的部署過(guò)程類似,將虛擬機(jī)的CPU、內(nèi)存、帶寬和硬盤等資源分配給容器。但是,由于容器是云任務(wù)實(shí)際的運(yùn)行載體,在請(qǐng)求虛擬機(jī)的CPU資源時(shí),不以其額定的CPU資源與虛擬機(jī)可用的CPU資源進(jìn)行對(duì)比判斷該虛擬機(jī)是否滿足當(dāng)前容器的需求(初始配置除外),而是以容器實(shí)際的CPU工作負(fù)載與虛擬機(jī)可用的CPU資源進(jìn)行對(duì)比。通常情況,容器的CPU使用率不會(huì)達(dá)到100%,因此會(huì)出現(xiàn)部署在某虛擬機(jī)上的所有容器額定CPU資源大小之和比該虛擬機(jī)額定的CPU資源大的情況。

1.3 虛擬機(jī)/容器遷移

當(dāng)容器獲得相關(guān)資源后,部署在容器中的云任務(wù)就可以開始運(yùn)行。在云計(jì)算環(huán)境中,云任務(wù)呈現(xiàn)多樣性,往往既有大量實(shí)時(shí)在線處理業(yè)務(wù),又有大量異步處理業(yè)務(wù)。實(shí)時(shí)在線業(yè)務(wù)處理時(shí)間短、需求波動(dòng)大;而異步業(yè)務(wù)處理時(shí)間長(zhǎng),數(shù)據(jù)量龐大。隨著任務(wù)的執(zhí)行,各個(gè)容器中任務(wù)的完成情況各不相同。因此,數(shù)據(jù)中心的物理機(jī)、虛擬機(jī)和容器的負(fù)載會(huì)隨著任務(wù)的執(zhí)行而產(chǎn)生動(dòng)態(tài)的變化。有的物理機(jī)由于任務(wù)較早完成而新任務(wù)沒有及時(shí)到來(lái)使其過(guò)于空閑,造成資源利用率較低。當(dāng)該值低于某個(gè)臨界值時(shí)稱該服務(wù)器為欠載狀態(tài)。類似地,有的物理機(jī)由于任務(wù)過(guò)長(zhǎng)而又有新的任務(wù)到來(lái)使其過(guò)于繁忙,造成資源利用率過(guò)高。當(dāng)該值高于某個(gè)臨界值時(shí)稱該服務(wù)器為過(guò)載狀態(tài)。欠載容易造成資源浪費(fèi),過(guò)載容易造成SLA違約并影響系統(tǒng)穩(wěn)定性。在數(shù)據(jù)中心,這兩種情況都需要盡可能避免,盡量做到服務(wù)器間負(fù)載均衡。

在容器云環(huán)境中,虛擬服務(wù)器遷移是保證物理服務(wù)器負(fù)載均衡的主要手段。與傳統(tǒng)的云計(jì)算環(huán)境不同,容器云中有物理機(jī)、虛擬機(jī)和容器三種不同粒度和層次的服務(wù)器,容器可以在虛擬機(jī)之間遷移,虛擬機(jī)可以在物理機(jī)之間遷移,這兩種遷移可以使用相同或者不同的策略。為了使問(wèn)題的描述簡(jiǎn)單化,本文對(duì)這兩種遷移采用相同的策略,并以虛擬機(jī)遷移為例詳細(xì)介紹遷移過(guò)程。

遷移過(guò)程應(yīng)被視為多階段3W問(wèn)題:何時(shí)觸發(fā)遷移(When),要遷移哪個(gè)虛擬服務(wù)器(Which),遷移到哪里(Where)。何時(shí)觸發(fā)遷移取決于數(shù)據(jù)中心的資源調(diào)度策略,可以采用定時(shí)觸發(fā)、定量觸發(fā)或監(jiān)控觸發(fā)的方式。定時(shí)觸發(fā)為固定某些時(shí)刻點(diǎn)來(lái)處理遷移工作。定量觸發(fā)為當(dāng)一定數(shù)量的任務(wù)被執(zhí)行完成后開始處理遷移工作。監(jiān)控觸發(fā)為根據(jù)數(shù)據(jù)中心實(shí)時(shí)監(jiān)測(cè)情況決定是否啟動(dòng)虛擬服務(wù)器遷移。要遷移哪個(gè)虛擬服務(wù)器通常根據(jù)數(shù)據(jù)中心預(yù)設(shè)的欠載和過(guò)載的臨界值來(lái)決定,當(dāng)虛擬服務(wù)器的利用率低于欠載臨界值或者高于過(guò)載臨界值時(shí)應(yīng)該被遷移。遷移到哪里取決于物理機(jī)的選擇策略,不同策略產(chǎn)生不同的遷移結(jié)果。具體遷移算法描述如下:

步驟1 統(tǒng)計(jì)Host的資源利用率,將過(guò)載的Host保存到列表OverList并按降序排列。

步驟2 將OverList中每臺(tái)Host上的VM按照利用率降序排列。

步驟3 選擇一臺(tái)不在OverList中的Host作為遷移目標(biāo)(DHdest)。

步驟4 按先后順序從OverList中選出一臺(tái)Host作為遷移源物理機(jī)(OHsrc),按順序?qū)Hsrc上的VM添移到DHdest,并且保證DHdest不過(guò)載,直到OHsrc不再過(guò)載。 若DHdest不能完全接納待遷移的虛擬機(jī),按步驟3重新選擇一臺(tái)Host作為遷移目標(biāo)進(jìn)行遷移。直到OverList列表中的Host被處理完成。

步驟5 統(tǒng)計(jì)資源利用率欠載的Host機(jī)并保存到列表UnderList。

步驟6 選擇一臺(tái)不在UnderList和OverList中的Host作為遷移目標(biāo)(DHdest)。

步驟7 從UnderList中選擇一臺(tái)Host作為遷移源物理機(jī)(UHsrc),將部署在UHsrc上的全部虛擬機(jī)遷移到DHdest,并且保證DHdest不過(guò)載。若DHdest不能完全接納待遷移的虛擬機(jī),重新按步驟7選擇一臺(tái)Host作為遷移目標(biāo)進(jìn)行遷移。

步驟8 關(guān)閉UHsrc。

由以上分析可知,無(wú)論是虛擬資源部署還是虛擬資源遷移,容器云在進(jìn)行資源配置都面臨物理機(jī)的選擇問(wèn)題。物理機(jī)作為數(shù)據(jù)中心最大的能源消耗者,物理機(jī)選擇方法對(duì)降低數(shù)據(jù)中心能耗就顯得尤為關(guān)鍵[8]。因此,找到物理機(jī)與虛擬機(jī)、容器之間在能耗值上的計(jì)算關(guān)系,為容器云數(shù)據(jù)中心能耗建立數(shù)學(xué)模型,對(duì)數(shù)據(jù)中心整體能耗優(yōu)化問(wèn)題至關(guān)重要。

2.2 數(shù)據(jù)中心的能耗模型

數(shù)據(jù)中心擁有空調(diào)、交換機(jī)、路由器等耗能設(shè)備,但物理機(jī)是最大的能源消費(fèi)者。對(duì)物理機(jī)來(lái)說(shuō),它的CPU、內(nèi)存、網(wǎng)卡、內(nèi)存等也是都是耗能設(shè)備。相比其他部件,CPU是主要的耗能部件,也是能耗變化最為頻繁的部件,而CPU的利用率的變化是造成物理機(jī)整體能耗變化的主要因素。

由目標(biāo)函數(shù)可知,對(duì)于相同的云任務(wù)集合C,數(shù)據(jù)中心能耗優(yōu)化問(wèn)題的本質(zhì)上是要解決虛擬機(jī)和容器在部署、遷移時(shí)的物理機(jī)選擇問(wèn)題。

3 主機(jī)選擇策略及改進(jìn)

數(shù)據(jù)中心的物理機(jī)數(shù)量龐大,例如,騰訊天津數(shù)據(jù)中心服務(wù)器數(shù)量已經(jīng)突破10萬(wàn)臺(tái),而且在同一數(shù)據(jù)中心有各種不同品牌、型號(hào)的物理機(jī),它們?cè)谶\(yùn)行過(guò)程中利用率和能耗情況也有所不同。此外,數(shù)據(jù)中心計(jì)算資源充足,對(duì)于云任務(wù)集合C,其運(yùn)行所需要的虛擬機(jī)和容器一般不會(huì)被部署在所有物理機(jī)上。因此,虛擬資源配置和遷移時(shí)使用的物理機(jī)選擇策略對(duì)數(shù)據(jù)中心的能耗有較大影響。

3.1 常用物理機(jī)選擇策略

當(dāng)前,云計(jì)算環(huán)境常用的物理機(jī)選擇策略主要有隨機(jī)選擇(Random)、先來(lái)先得(First Fit, FF)、最大利用率優(yōu)先(Most Full, MF)、最小利用率優(yōu)先(Least Full, LF)等。

1)Random:在所有可用的物理機(jī)中隨機(jī)選擇一臺(tái)作為初始部署或遷移目標(biāo)。

2)FirstFit:按照數(shù)據(jù)中心物理機(jī)的偏愛列表從頭到尾進(jìn)行遍歷,找到的第一臺(tái)合適的物理機(jī)作為初始部署或遷移目標(biāo)。

3)MostFull:計(jì)算所有可用的物理機(jī)在初始化或遷移時(shí)刻的利用率,選取利用率最大的物理機(jī)作為初始部署或遷移目標(biāo)。

4)LeastFull:計(jì)算所有可用的物理機(jī)在初始化或遷移時(shí)刻的利用率,選取利用率最小的物理機(jī)作為初始部署或遷移目標(biāo)。

以上幾種策略中,Random策略最為簡(jiǎn)單,每臺(tái)物理機(jī)被選擇的機(jī)會(huì)均等,起到公平調(diào)度的效果,但沒有考慮利用率的問(wèn)題。FF可以按照某種方式對(duì)物理機(jī)進(jìn)行偏愛設(shè)置,排在列表前面的物理機(jī)被選擇的機(jī)會(huì)大于列表后面的物理機(jī)。MF與LF較為復(fù)雜,要計(jì)算每臺(tái)物理機(jī)的利用率。選擇利用率大的物理機(jī),單位時(shí)間能耗會(huì)相對(duì)較大,但處理時(shí)間相對(duì)較少。選擇利用率小的物理機(jī),單位時(shí)間能耗相對(duì)較小,但處理時(shí)間相對(duì)較長(zhǎng)。

根據(jù)前面的分析,式(10)中pi(t)是一個(gè)單調(diào)遞增的非負(fù)函數(shù),意味著物理機(jī)利用率越高,單位時(shí)間能耗也就越高。因此,利用率是影響物理機(jī)能耗的一個(gè)重要因素。但是,根據(jù)式(12)可知,物理機(jī)一段時(shí)間內(nèi)的能耗不僅與這段時(shí)間內(nèi)該物理機(jī)的利用率有關(guān),也與該物理機(jī)單位時(shí)間的能耗有關(guān)。如果只考慮利用率對(duì)能耗的影響,而不考慮物理機(jī)本身例如功率等固有的屬性,得到的結(jié)果未必是最優(yōu)結(jié)果。

3.2 物理機(jī)選擇策略的改進(jìn)

從式(11)可知,在一個(gè)數(shù)據(jù)中心的調(diào)度間隔t1~t2內(nèi)某臺(tái)物理機(jī)的能耗是該機(jī)的能耗函數(shù)在這段時(shí)間內(nèi)的積分。計(jì)算積分是一個(gè)相對(duì)復(fù)雜的過(guò)程,加上數(shù)據(jù)中心物理機(jī)數(shù)量眾多,如果每臺(tái)物理機(jī)都要頻繁計(jì)算積分,容易造成計(jì)算量過(guò)大。對(duì)式(11)使用線性插值進(jìn)行擬合,可得:

由式(14)可知,只要知道t1時(shí)刻與t2時(shí)刻容器的利用率,便可用式(8)和式(9)計(jì)算出物理機(jī)的利用率,進(jìn)而可用式(10)和式(14)計(jì)算出該機(jī)在t1~t2的能耗值。當(dāng)把物理機(jī)在前一時(shí)間段的能耗值都計(jì)算出來(lái)后,可以用此值作為物理機(jī)選擇的依據(jù),選擇能耗值較小的物理機(jī)作為部署和遷移的目標(biāo)物理機(jī)。因?yàn)楦鶕?jù)物體的聚類性質(zhì),鄰近事物具有類似的特性。前一時(shí)段能耗較小的物理機(jī),后一時(shí)段能耗同樣較小的概率較大。本文將這種物理機(jī)選擇算法稱為Power Full (PF)算法,簡(jiǎn)稱PF算法。PF算法描述如下:

步驟1 將空閑與關(guān)閉的物理機(jī)放入排它集X。

步驟2 將所有有任務(wù)運(yùn)行的物理機(jī)放入運(yùn)行集E中,并使用式(8)和式(9)計(jì)算E中每臺(tái)物理機(jī)的CPU利用率。

步驟3 將E中過(guò)載的物理機(jī)和欠載的物理機(jī)移入X。

步驟4 使用式(10)和式(14)計(jì)算E中每臺(tái)物理機(jī)的能耗的模擬值。

步驟5 返回E中選擇模擬值最小的物理機(jī)。

3.3 算法的復(fù)雜度分析

在實(shí)際的云計(jì)算環(huán)境中,有專門的高性能資源調(diào)度服務(wù)器,根據(jù)各物理機(jī)、虛擬機(jī)及容器的實(shí)時(shí)運(yùn)行狀況對(duì)資源調(diào)度進(jìn)行決策。

在步驟2中,資源調(diào)度服務(wù)器收集所有容器的利用率以計(jì)算物理主機(jī)的整體利用率,按照式(8)和式(9),該步驟的時(shí)間復(fù)雜度為O(M×N×S)。但在實(shí)際運(yùn)行過(guò)程中,一般有MNS,因此A與B是0和1的稀疏矩陣,通過(guò)使用稀疏矩陣壓縮存儲(chǔ)方法和編程技術(shù)可使該步驟的時(shí)間復(fù)雜度降低到O(M+N+S)。

步驟4對(duì)根據(jù)式(14)計(jì)算每臺(tái)物理機(jī)的能耗模擬值,復(fù)雜度為O(M)。

步驟5對(duì)物理機(jī)的能耗模擬值進(jìn)行排序,假如使用快速排序方法,則復(fù)雜度為Ο(M log M)。

Random與FF算法不需要計(jì)算物理主機(jī)的利用率,僅需要選擇一臺(tái)合適的物理主機(jī)即可,復(fù)雜度為Ο(M)。LF、MF與PF算法均要計(jì)算物理主機(jī)利用率章并進(jìn)行排序。相比LF與MF,PF多做了步驟4,即多了一個(gè)復(fù)雜度為Ο(M)的步驟。在式(14)中,由于(t2-t1)對(duì)于每臺(tái)物理機(jī)都是一樣的,在實(shí)際計(jì)算時(shí)可用pi(t2)+pi(t1)的值來(lái)代表物理機(jī)的能耗值進(jìn)行排序。數(shù)據(jù)中心中物理機(jī)的數(shù)量相比容器要少得多,而且步驟4只需進(jìn)行M次加法,這對(duì)于高性能的資源調(diào)度服務(wù)器來(lái)說(shuō),該步驟的時(shí)間開銷其實(shí)可以忽略不計(jì)。步驟4增加的時(shí)間對(duì)于數(shù)據(jù)中心來(lái)說(shuō)完全可以接受。

PF算法運(yùn)行在資源調(diào)度服務(wù)器,算法所需要的容器利用率信息由監(jiān)視服務(wù)器通過(guò)常規(guī)方法獲得,PF算法不需要虛擬機(jī)和容器額外的工作,不會(huì)對(duì)虛擬機(jī)和容器的性能產(chǎn)生影響。

4 實(shí)驗(yàn)結(jié)果及分析

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

CloudSim是常用的云計(jì)算資源調(diào)度算法模擬仿真平臺(tái),使用Java語(yǔ)言開發(fā),開放源代碼,可以自定義物理機(jī)選擇算法、處理機(jī)共享算法等常用的云計(jì)算資源調(diào)度策略[11-12]。ContainerCloudSim是ClodSim的擴(kuò)展,提供了容器云環(huán)境下計(jì)算資源調(diào)度算法的建模和仿真。此外,ContainerCloudSim還建立了數(shù)據(jù)中心的能耗模型,提供了對(duì)各種資源調(diào)度算法在數(shù)據(jù)中心節(jié)能方面的表現(xiàn)進(jìn)行評(píng)價(jià)的途徑[13]。CloudSim的最新版本4.0中集成了ContainerCloudSim。本文將使用ContainerCloudSim作為實(shí)驗(yàn)平臺(tái)對(duì)改進(jìn)后的算法進(jìn)行驗(yàn)證。

在本次實(shí)驗(yàn)中,CPU實(shí)時(shí)資源利用率是重要的基礎(chǔ)數(shù)據(jù)。為了使仿真實(shí)驗(yàn)更加接近真實(shí)場(chǎng)境,本文使用從真實(shí)世界的工作負(fù)載跟蹤獲得的數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。工作負(fù)載數(shù)據(jù)來(lái)自Planet-Lab基礎(chǔ)設(shè)施10天內(nèi)監(jiān)控到數(shù)據(jù)中心物理機(jī)的CPU利用率[14]。此外,ContainerCloudSim中提供了包括IbmX3250XeonX3470等7種不同廠商和型號(hào)的物理機(jī)模型,并提供了它們?cè)诓煌寐蕰r(shí)的能耗情況,如表1所示。

表1中表頭欄中的數(shù)值代表的是不同的利用率區(qū)間,如“4”列表示各種物理機(jī)在利用率在[0.40,0.50)這個(gè)區(qū)間時(shí)單位時(shí)間的能耗值。

表1中的數(shù)據(jù)為不同物理機(jī)在不同的CPU利用率時(shí)的單位時(shí)間能耗值??梢姴煌锢頇C(jī)在相同利用率時(shí)的能耗是不同的,而且每種物理機(jī)的能耗隨著利用率的提高而提高。

4.2 實(shí)驗(yàn)場(chǎng)景

根據(jù)云計(jì)算環(huán)境的多樣性,設(shè)計(jì)實(shí)驗(yàn)場(chǎng)景如下: 實(shí)驗(yàn)場(chǎng)景1 中,任務(wù)長(zhǎng)度固定,有20 ~200 個(gè)虛擬機(jī)需要在數(shù)據(jù)中心進(jìn)行部署,每次增加20 臺(tái)虛擬機(jī),物理機(jī)的數(shù)量設(shè)為虛擬機(jī)的一半,容器數(shù)量為虛擬機(jī)的3倍; 實(shí)驗(yàn)場(chǎng)景2 中,任務(wù)長(zhǎng)度固定,有100~200 個(gè)虛擬機(jī)需要在數(shù)據(jù)中心進(jìn)行部署,每次增加20 臺(tái)虛擬機(jī),物理機(jī)數(shù)量固定100 臺(tái),容器數(shù)量為虛擬機(jī)的3倍;實(shí)驗(yàn)場(chǎng)景3,采用動(dòng)態(tài)任務(wù)長(zhǎng)度,任務(wù)長(zhǎng)度在50000~100000之間,物理機(jī)5~120臺(tái),虛擬機(jī)15~500臺(tái),容器50~2000個(gè)。實(shí)驗(yàn)場(chǎng)景1與實(shí)驗(yàn)場(chǎng)景2的物理機(jī)數(shù)量、虛擬機(jī)數(shù)量與文獻(xiàn)[15]一致。

4.3 實(shí)驗(yàn)結(jié)果及分析

為了驗(yàn)證各種算法在多種不同情況下的節(jié)能效果,每個(gè)實(shí)驗(yàn)場(chǎng)境又分為多個(gè)實(shí)驗(yàn)小組,每組實(shí)驗(yàn)使用同樣的云任務(wù)、物理機(jī)、虛擬機(jī)和容器配置。為了描述方便,每組實(shí)驗(yàn)使用HXXX/VXXX/CXXX的形式式標(biāo)記物理機(jī)、虛擬機(jī)和容器的數(shù)量,如H10/V100/C500表示物理機(jī)10臺(tái)、虛擬機(jī)100臺(tái)、容器500個(gè)。此外,在實(shí)驗(yàn)過(guò)程發(fā)現(xiàn)Random選擇算法得到的能耗值普遍比FF、LF、MF和PF高出很多,將PF與該方法相比沒有太大意義,因此本文不提供Random方法的實(shí)驗(yàn)結(jié)果。

4.3.1 實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)場(chǎng)景1 任務(wù)長(zhǎng)度固定為30000。實(shí)驗(yàn)分為5組,各組的物理機(jī)、虛擬機(jī)和容器的配置情況分別為:G11:H10/V20/C60、G12:H30/V60/C180、G13:H50/V100/C300、G14:H70/V140/C420、G15:H90/V180/C540。每個(gè)組的物理機(jī)隨機(jī)從表1中隨機(jī)選擇,小組內(nèi)實(shí)驗(yàn)時(shí)使用同樣的物理機(jī)集合。對(duì)5個(gè)組分別使用FF、LF、MF和PF進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖1(a)所示。

實(shí)驗(yàn)場(chǎng)景2 任務(wù)長(zhǎng)度固定30000,從表1隨機(jī)選取100臺(tái)物理機(jī)作為本場(chǎng)景實(shí)驗(yàn)用物理機(jī)。實(shí)驗(yàn)分為6組,各組的物理機(jī)、虛擬機(jī)和容器的配置情況分別為:G21:H100/V100/C300、G22:H100/V120/C360、G23:H100/V140/C420、G24:H100/V160/C480、G25:H100/V180/C540、G26:H100/V200/C600。對(duì)6個(gè)小組分別使用FF、LF、MF和PF進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖1(b)所示。

實(shí)驗(yàn)場(chǎng)景3 其中任務(wù)長(zhǎng)度50000~100000。實(shí)驗(yàn)分為5組,各組的物理機(jī)、虛擬機(jī)和容器的配置情況分別為:G31:H5/V15/C50、G32:H10/V30/C100、G33:H20/V100/C500、G34:H60/V250/C1000、G35:H120/V500/C2000。每個(gè)組的物理機(jī)隨機(jī)從表1中隨機(jī)選擇,小組內(nèi)實(shí)驗(yàn)時(shí)使用同樣的物理機(jī)集合。對(duì)5個(gè)小組分別使用FF、LF、MF和PF進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖1(c)所示。

4.3.2 結(jié)果分析

場(chǎng)景1模擬的是實(shí)際應(yīng)用中有規(guī)律的不同物理機(jī)群不同批量的數(shù)據(jù)計(jì)算服務(wù),任務(wù)長(zhǎng)度固定,物理機(jī)、虛擬機(jī)和容器的數(shù)量不斷增加。FF、LF和MF算法在這幾組的實(shí)驗(yàn)中互有優(yōu)劣。但是不管是哪一組實(shí)驗(yàn),PF的在節(jié)能方面要比FF、LF和MF算法表現(xiàn)要好,能耗分別平均降低了45%、53%和49%。

場(chǎng)景2模擬的是有規(guī)律的相同物理機(jī)群不同批量的數(shù)據(jù)計(jì)算服務(wù),任務(wù)長(zhǎng)度固定,物理機(jī)固定,虛擬機(jī)和容器的數(shù)量依次遞增。在這種場(chǎng)境中,整體來(lái)看,F(xiàn)F與MF表現(xiàn)差不多,LF表現(xiàn)較好,但PF算法比MF算法表現(xiàn)還要好。與FF、LF和MF算法相比,采用PF算法數(shù)據(jù)中心能耗分別平均降低了56%、46%和58%。

場(chǎng)景3模擬的是無(wú)規(guī)律的不同物理機(jī)群不同批量的數(shù)據(jù)計(jì)算服務(wù),任務(wù)長(zhǎng)度不固定,物理機(jī)不固定,虛擬機(jī)和容器的數(shù)量隨著任務(wù)量的增大而增大。在這種場(chǎng)境中, MF表現(xiàn)不俗,但表現(xiàn)最好的還是PF算法。在5個(gè)組的實(shí)驗(yàn)中,采用PF算法的數(shù)據(jù)中心能耗比采用FF、LF和MF算法分別平均降低了32%、24%和12%。

從圖1可見,不管在哪一種場(chǎng)景,采用PF算法時(shí)數(shù)據(jù)中心的能耗明顯比FF、LF和MF要低;而且,隨著任務(wù)長(zhǎng)度、物理機(jī)、虛擬機(jī)、容器數(shù)量的增大,PF算法所表現(xiàn)出來(lái)的節(jié)能效果越好。雖然FF的時(shí)間復(fù)雜度要比LF、MF和PF低,但是節(jié)能效果較差。PF與LF、MF的時(shí)間復(fù)雜度差不多,但節(jié)能效果比LF和MF好。

文獻(xiàn)[15]采用的粒子群優(yōu)化(Particle Swarm Optimization, PSO)算法對(duì)數(shù)據(jù)中心資源配置進(jìn)行了優(yōu)化,在資源利用與能耗之間作了較好的均衡,但優(yōu)化后數(shù)據(jù)中心的整體能耗水平相比MF(文獻(xiàn)[15]中稱為Best Fit, BF)算法并沒有降低。雖然本文中采用了容器技術(shù),但是由于容器遷移可以使用虛擬機(jī)遷移相同的策略,本次實(shí)驗(yàn)中只考慮虛擬機(jī)、容器如何初始化部署以及虛擬機(jī)遷移的問(wèn)題,不考慮容器的遷移問(wèn)題,因此,本文與文獻(xiàn)[15]在能耗方面的實(shí)驗(yàn)結(jié)果是具有可比性的??傮w來(lái)說(shuō),本文提出的PF算法在節(jié)能方面優(yōu)于文獻(xiàn)[15]中的算法。

5 結(jié)語(yǔ)

本文提出的PF物理機(jī)選擇算法綜合考慮了物理機(jī)利用率和物理機(jī)單位時(shí)間能耗這兩個(gè)影響數(shù)據(jù)中心整體能耗的主要因素,在保護(hù)物理機(jī)利用率的前提下選擇能耗較低的物理機(jī)作為部署和遷移虛擬機(jī)、容器的目標(biāo)物理機(jī),有效降低了以容器作為基本運(yùn)行單元的數(shù)據(jù)中心的整體能耗。但是,PF算法每次選擇物理機(jī)前都要進(jìn)行資源利用率的計(jì)算。當(dāng)前,以深度強(qiáng)化學(xué)習(xí)為代表的人工智能技術(shù)正在成為研究和應(yīng)用的熱點(diǎn),能否使用深度強(qiáng)化學(xué)習(xí)方法,通過(guò)預(yù)先進(jìn)行的訓(xùn)練與學(xué)習(xí),在資源調(diào)度時(shí)可以直接選擇物理機(jī)從而進(jìn)一步提高算法的性能和降低數(shù)據(jù)中心能耗是接下來(lái)要研究的問(wèn)題。

參考文獻(xiàn) (References)

[1] 武志學(xué).云計(jì)算虛擬化技術(shù)的發(fā)展與趨勢(shì)[J].計(jì)算機(jī)應(yīng)用,2017,37(4):915-923.(WU Z X. Advances on virtualization technoloty of cloud computing [J]. Journal of Computer Applications, 2017, 37(4): 915-923.)

[2] 劉偉佳,李博權(quán).容器技術(shù)在DRaaS中的應(yīng)用研究[J].微電子學(xué)與計(jì)算機(jī),2018,35(6):52-55.(LIU W J, LI B Q. Application research on container technology in DRaaS[J]. Microelectronics and Computer, 2018, 35(6): 52-55.)

[3] KANG D-K, CHOI G-B, KIM S-H, et al. Workload-aware resource management for energy efficient heterogeneous Docker containers [C]// Proceedings of the 2016 IEEE Region 10 Conference. Piscataway, NJ: IEEE, 2016: 2428-2431.

[4] KUMAR K, KURHEKAR M. Economically efficient virtualization over cloud using Docker containers [C] // CCEM 2016: Proceedings of the 2016 IEEE International Conference on Cloud Computing in Emerging Markets. Washington, DC: IEEE Computer Society, 2016: 95-100.

[5] 李青,李勇,涂碧波,等.QoS 保證的數(shù)據(jù)中心動(dòng)態(tài)資源供應(yīng)方法[J].計(jì)算機(jī)學(xué)報(bào),2014,37(12):2396-2407.(LI Q, LI Y, TU B B, et al. QoS-guaranteed dynamic resource provision in Internet data centers [J]. Chinese Journal of Computers, 2014, 37(12): 2396-2407.)

[6] XU X, YU H, PEI X. A novel resource scheduling approach in container based clouds [C]// Proceedings of the 2014 IEEE 17th International Conference on Computational Science and Engineering. Washington, DC: IEEE Computer Society, 2014: 257-264.

[7] 崔廣章,朱志祥.容器云資源調(diào)度策略的改進(jìn)[J].計(jì)算機(jī)與數(shù)字工程,2017,45(10):1931-1936.(CUI G Z, ZHU Z X. Improved container cloud resource scheduling policy [J]. Computer and Digital Engineering, 2017, 45(10): 1931-1936.)

[8] 施超,謝在鵬,柳晗,等.基于穩(wěn)定匹配的容器部署策略的優(yōu)化[J].計(jì)算機(jī)科學(xué),2018,45(4):131-136.(SHI C, XIE Z P, LIU H, et al. Optimization of container deployment strategy based on stable matching [J]. Computer Science, 2018, 45(4):131-136.)

[9] DEMIRKOL OE, DEMIRKOL A. Energy efficiency with an application container [J]. Turkish Journal of Electrical Engineering and Computer Sciences, 2018, 26(2): 1129-1139.

[10] KAUR K, DHAND T, KUMAR N, et al. Container-as-a-service at the edge: trade-off between energy efficiency and service availability at fog nano data centers [J]. IEEE Wireless Communications, 2018, 24(3): 48-56.

[11] BANERJEE S, ROY A, CHOWDHURY A, et al. An approach toward amelioration of a new cloudlet allocation strategy using cloudsim [J]. Arabian Journal for Science and Engineering, 2018, 43(2): 879-902.

[12] KUMAR A, KUMAR R, SHARMA A. Energy aware resource allocation for clouds using two level ant colony optimization [J]. Computing and Informatics, 2018, 37(1): 76-108.

[13] PIRAGHAJ S F, DASTJERDI A V, CALHEIROS R N, et al. ContainerCloudSim: an environment for modeling and simulation of containers in cloud data centers [J]. Software: Practice and Experience, 2017, 47(4): 505-521.

[14] RANJBARI M, TORKESTANI J A. A learning automata-based algorithm for energy and SLA efficient consolidation of virtual machines in cloud data centers [J]. Journal of Parallel and Distributed Computing, 2017,113: 55-62.

[15] 黃啟成,陳羽中,江偉,等.一種面向云環(huán)境虛擬機(jī)部署的粒子群優(yōu)化策略[J].小型微型計(jì)算機(jī)系統(tǒng),2018,39(7):1554-1559.(HUANG Q C, CHEN Y Z, JIANG W, et al. Particle swarm optimization strategy for VM placement in cloud[J]. Journal of Chinese Computer Systems, 2018, 39(7): 1554-1559.)

猜你喜歡
云計(jì)算容器
Different Containers不同的容器
容器倒置后壓力壓強(qiáng)如何變
人心像一個(gè)容器
難以置信的事情
志愿服務(wù)與“互聯(lián)網(wǎng)+”結(jié)合模式探究
云計(jì)算與虛擬化
基于云計(jì)算的移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)
實(shí)驗(yàn)云:理論教學(xué)與實(shí)驗(yàn)教學(xué)深度融合的助推器
云計(jì)算中的存儲(chǔ)虛擬化技術(shù)應(yīng)用
科技視界(2016年20期)2016-09-29 13:34:06
取米
沧州市| 玛多县| 潮州市| 渝中区| 桃园市| 红河县| 清远市| 读书| 大新县| 舒兰市| 改则县| 海伦市| 得荣县| 滁州市| 湖州市| 内黄县| 汉阴县| 靖边县| 乐东| 娱乐| 北辰区| 集安市| 榆中县| 永定县| 柳林县| 广河县| 远安县| 兰坪| 伊川县| 屯门区| 钦州市| 襄汾县| 军事| 宁津县| 互助| 辛集市| 涡阳县| 淅川县| 全州县| 增城市| 岑溪市|