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

?

面向5G邊緣計(jì)算的Kubernetes資源調(diào)度策略

2021-02-05 03:02:48孔德瑾姚曉玲
計(jì)算機(jī)工程 2021年2期
關(guān)鍵詞:占用率磁盤(pán)全局

孔德瑾,姚曉玲

(太原理工大學(xué)財(cái)經(jīng)學(xué)院,太原 030024)

0 概述

邊緣計(jì)算[1-2]作為云計(jì)算的演進(jìn),將應(yīng)用程序托管方式從集中式數(shù)據(jù)中心下沉到網(wǎng)絡(luò)邊緣[3],在靠近用戶的網(wǎng)絡(luò)邊緣提供存儲(chǔ)與計(jì)算能力,從而降低用戶訪問(wèn)延時(shí),是5G網(wǎng)絡(luò)實(shí)現(xiàn)低延遲和提升帶寬速率的關(guān)鍵技術(shù)之一。容器云[4-5]在傳統(tǒng)云環(huán)境中得到廣泛應(yīng)用,是邊緣計(jì)算的重要支撐技術(shù)[6],然而邊緣計(jì)算具有與傳統(tǒng)云計(jì)算環(huán)境不同的特征,在業(yè)務(wù)場(chǎng)景方面,AR/VR、4K/8K視頻等應(yīng)用部署于邊緣會(huì)給邊緣云帶來(lái)更大的流量壓力,此外隨著物聯(lián)網(wǎng)的興起,邊緣計(jì)算Node也面臨著海量物聯(lián)網(wǎng)終端超大連接數(shù)的壓力,在流量特征方面,移動(dòng)用戶特有的移動(dòng)性,可能會(huì)導(dǎo)致邊緣計(jì)算流量隨著時(shí)間、地點(diǎn)而變化,進(jìn)而觸發(fā)邊緣云內(nèi)容器的需求變化,在網(wǎng)絡(luò)環(huán)境方面,受限于部署環(huán)境,網(wǎng)絡(luò)邊緣存儲(chǔ)、計(jì)算、帶寬等資源非常稀缺。因此,在5G邊緣計(jì)算場(chǎng)景下,容器云的資源調(diào)度機(jī)制將面臨更大挑戰(zhàn),若將應(yīng)用部署在不合適的Node上,會(huì)增大擴(kuò)縮容頻次,影響應(yīng)用的性能并造成資源的浪費(fèi)。

Kubernetes(K8s)是應(yīng)用最為普遍的容器云編排管理系統(tǒng)[7],廣泛應(yīng)用于邊緣計(jì)算場(chǎng)景[8-9],其資源調(diào)度策略首先根據(jù)用戶申明的最小資源需求過(guò)濾掉不符合要求的Node,再將Node的剩余CPU利用率、剩余內(nèi)存利用率作為評(píng)價(jià)指標(biāo),利用加權(quán)求和方式對(duì)候選Node評(píng)分,選擇評(píng)分最高的Node進(jìn)行部署。這種調(diào)度策略有以下弊端:沒(méi)有考慮應(yīng)用對(duì)于帶寬、磁盤(pán)等資源的需求,無(wú)法對(duì)邊緣計(jì)算場(chǎng)景下帶寬、磁盤(pán)資源傾向型應(yīng)用進(jìn)行合理的調(diào)度;對(duì)于需求各異的應(yīng)用,Kubernetes采用固定的求和權(quán)重對(duì)Node評(píng)分,不能滿足應(yīng)用的個(gè)性化資源需求。上述不足導(dǎo)致Kubernetes原生資源調(diào)度機(jī)制難以適用于5G時(shí)代的邊緣計(jì)算場(chǎng)景。

本文針對(duì)Kubernetes原生資源調(diào)度策略的不足,提出一種基于權(quán)重自學(xué)習(xí)的Kubernetes容器調(diào)度機(jī)制WSLB。增加帶寬、磁盤(pán)兩類指標(biāo),在Node過(guò)濾階段和優(yōu)先級(jí)計(jì)算階段,將4類剩余資源均作為評(píng)價(jià)指標(biāo),改進(jìn)了K8s原生調(diào)度策略無(wú)法滿足帶寬型、磁盤(pán)型Pod應(yīng)用調(diào)度需求的不足。通過(guò)部署于Node的監(jiān)控代理,采集Pod動(dòng)態(tài)資源利用率,根據(jù)Pod運(yùn)行過(guò)程中的資源占用率計(jì)算并調(diào)整Pod的資源權(quán)重集合,資源權(quán)重集合衡量該P(yáng)od的資源傾向,當(dāng)創(chuàng)建Pod時(shí),WSLB根據(jù)Pod的最小資源需求過(guò)濾不符合要求的Node,利用資源權(quán)重集合對(duì)候選Node的各類剩余資源利用率加權(quán)求和,得到候選Node的優(yōu)先級(jí),選擇優(yōu)先級(jí)最高的Node進(jìn)行部署。WSLB將某項(xiàng)資源需求大的應(yīng)用調(diào)度到該資源剩余較多的Node,避免Node由于某個(gè)資源被過(guò)度分配從而導(dǎo)致整個(gè)Node無(wú)法再分配新容器的問(wèn)題。

1 Kubernetes調(diào)度策略

在Kubernetes中,Node是執(zhí)行任務(wù)的載體,以物理服務(wù)器或虛擬機(jī)的形式存在。Pod是一個(gè)應(yīng)用實(shí)例,為Kubernetes調(diào)度的最小單位,用戶在創(chuàng)建Pod時(shí),Kubernetes采用的調(diào)度策略如下[10-11]:

1)第一階段進(jìn)行Node過(guò)濾,過(guò)濾掉不滿足Pod最小資源需求的Node,支持的過(guò)濾策略包括端口沖突、CPU、內(nèi)存容量檢測(cè)和服務(wù)占用等。

2)第二階段稱為Node優(yōu)先級(jí)計(jì)算,Kubernetes將剩余的Node根據(jù)CPU和內(nèi)存空閑資源率進(jìn)行綜合評(píng)分,按照評(píng)分的大小排序選出最合適的Node。最后將Pod綁定到選出的目標(biāo)Node,調(diào)度器完成容器應(yīng)用的部署[12]。目前支持的優(yōu)先級(jí)評(píng)分函數(shù)主要有以下3種:

(1)LeastRequestedPriority函數(shù):由Node空閑資源與Node資源總量的比值來(lái)決定Node評(píng)分,空閑資源越多,評(píng)分越高,CPU和內(nèi)存具有相同權(quán)重值,該函數(shù)是應(yīng)用最多的評(píng)分函數(shù)。

(2)BalancedResourceAllocation函數(shù):CPU和內(nèi)存使用率越接近的Node評(píng)分越高,該函數(shù)用于簡(jiǎn)單地調(diào)節(jié)在部署Pod應(yīng)用后各Node的CPU和內(nèi)存資源利用率的均衡性。

(3)SelectorSpreadPriority函數(shù):對(duì)于屬于同一個(gè)Service、Replication Controller的Pod副本,盡量調(diào)度到不同的Node上。

此外,調(diào)度函數(shù)還包括NodePreferAvoidPods-Priority、NodeAffinityPriority、TaintTolerationPriority等一系列特殊的評(píng)分函數(shù)。

圖1為Kubernetes默認(rèn)資源調(diào)度策略示例,令資源集合R={CPU,內(nèi)存,帶寬,磁盤(pán)},待部署Pod的資源最小需求量r表示部署該P(yáng)od所需的上述4類資源的最小值,r={4.0,0.5,0.1,0.01},Node的資源總量指該Node的CPU、內(nèi)存、帶寬、磁盤(pán)的總量,Node1~Node4的資源總量均為{16,32,1,1},每個(gè)Node剩余資源如表1所示。

圖1 資源調(diào)度策略示例Fig.1 Example of resource scheduling strategy

表1 可選Node的剩余資源Table 1 Remaining resources of optional Node

對(duì)于待創(chuàng)建的Pod1,第1階段過(guò)濾掉剩余資源不滿足需求的Node3,第2階段采用LeastRequestedPriority評(píng)分函數(shù)計(jì)算各Node的優(yōu)先級(jí)。LOcpu、LOmemory分別表示Node剩余CPU、內(nèi)存的比例,兩者權(quán)重均為0.5。優(yōu)先級(jí)f的計(jì)算公式為:

其中,f越高表示該Node的資源配置越適合部署該P(yáng)od,經(jīng)過(guò)計(jì)算,最終選擇Node4進(jìn)行部署。

Node4并非最佳選擇,主要體現(xiàn)在以下兩點(diǎn):

1)Kubernetes的調(diào)度算法未考慮帶寬和磁盤(pán)資源,Node4部署該P(yáng)od后,剩余帶寬資源為0,當(dāng)該Node上任意Pod遇到突發(fā)流量時(shí),不僅該P(yáng)od的最小帶寬需求無(wú)法得到滿足,所有Pod的性能都將受到影響。在網(wǎng)絡(luò)邊緣,并非只有CPU、內(nèi)存是稀缺資源,帶寬、磁盤(pán)同樣非常稀缺,如果調(diào)度策略僅考慮CPU、內(nèi)存,將無(wú)法滿足視頻等大帶寬應(yīng)用及數(shù)據(jù)庫(kù)等磁盤(pán)需求較大應(yīng)用的調(diào)度需求,影響此類應(yīng)用的性能。

2)即使僅考慮CPU、內(nèi)存,Kubernetes的默認(rèn)調(diào)度算法仍有弊端:部署該P(yáng)od后,Node4將剩余1個(gè)CPU和15.5 GB內(nèi)存,資源使用得過(guò)度傾斜,導(dǎo)致Node剩余資源不均衡,使該Node無(wú)法再創(chuàng)建更多的容器,從而造成過(guò)剩資源的浪費(fèi)。LeastRequestedPriority函數(shù)對(duì)于任何應(yīng)用,CPU、內(nèi)存權(quán)重都相同,完全沒(méi)有考慮應(yīng)用對(duì)于某種資源的需求傾向。該P(yáng)od是一個(gè)CPU密集型應(yīng)用,內(nèi)存需求較小,調(diào)度策略應(yīng)該將其部署在剩余CPU較為豐富而內(nèi)存余量較少的Node,這樣主要有以下優(yōu)勢(shì):(1)為應(yīng)用留有較多的冗余資源,Kubernetes根據(jù)用戶申明的最小資源過(guò)濾Node,實(shí)際占有資源可能超過(guò)最小資源;(2)更有利于Node剩余資源的均衡,均衡的資源分布有助于實(shí)現(xiàn)更高的資源利用率。

2 基于權(quán)重自學(xué)習(xí)的調(diào)度策略

對(duì)于容器資源調(diào)度的研究主要有兩個(gè)方向:

1)增加評(píng)價(jià)指標(biāo),從而適應(yīng)物聯(lián)網(wǎng)、智慧城市等場(chǎng)景下的調(diào)度需求,如文獻(xiàn)[13-14]提出一種面向智慧城市容器云的網(wǎng)絡(luò)性能感知調(diào)度系統(tǒng),增加了RTT評(píng)價(jià)指標(biāo),在Node過(guò)濾階段排除RTT不滿足需求的Node,文獻(xiàn)[15]在Mesos調(diào)度策略中增加了容器個(gè)數(shù)??紤]到評(píng)價(jià)指標(biāo)應(yīng)有效代表資源的使用情況,且指標(biāo)的獲取不應(yīng)給系統(tǒng)帶來(lái)過(guò)多開(kāi)銷,本文選擇CPU、內(nèi)存、帶寬、磁盤(pán)使用情況作為評(píng)價(jià)指標(biāo)。

2)優(yōu)化Node優(yōu)先級(jí)評(píng)分函數(shù)中的權(quán)重計(jì)算方法,如文獻(xiàn)[15]采用層次分析法[16-17]計(jì)算權(quán)重集合。文獻(xiàn)[18]采用模糊層次分析法自動(dòng)建模求解容器應(yīng)用多維資源權(quán)重參數(shù)。利用層次分析法計(jì)算權(quán)重要求用戶掌握應(yīng)用各類資源的重要程度,但是,很多用戶對(duì)于自己的應(yīng)用需要占用多少資源,每種資源的重要程度并不清楚。基于以上考慮,本文將Pod運(yùn)行過(guò)程中資源使用自動(dòng)生成的權(quán)重,用于Node優(yōu)先級(jí)的計(jì)算。

在Pod運(yùn)行過(guò)程中,監(jiān)測(cè)模塊將周期性地采樣該P(yáng)od 4類資源的占用率,求得監(jiān)控窗口內(nèi)每類資源占用率平均值,進(jìn)而計(jì)算全局資源占用率,根據(jù)全局資源占用率計(jì)算每類資源的權(quán)重,稱為Pod專用權(quán)重。使用同樣鏡像的所有Pod各類資源權(quán)重平均值作為該鏡像的專用權(quán)重。

2.1 資源利用率采集方案

本文采集3類信息:1)Node資源總量,對(duì)所有Node的各類資源總量求和得到全局資源總量,進(jìn)而計(jì)算出Node的各類資源在全局資源中所占份額;2)Node當(dāng)前資源利用率,進(jìn)而求得剩余資源比例;3)Pod資源在當(dāng)前Node資源中所占份額。

采集方案如圖2所示,在每個(gè)Node中部署監(jiān)控代理Proxy,用于采集上述3類信息。Pod資源占用率數(shù)據(jù)庫(kù)用于存儲(chǔ)每個(gè)Pod監(jiān)控窗口內(nèi)的CPU、內(nèi)存、帶寬、磁盤(pán)占用率。Node全局資源份額數(shù)據(jù)庫(kù)用于存儲(chǔ)每個(gè)Node的資源總量和監(jiān)控窗口內(nèi)的資源利用率。采集控制器用于接收資源調(diào)度模塊的監(jiān)控指令,對(duì)于第1)類、第2)類信息,指令中包括Node標(biāo)識(shí),對(duì)于第3)類信息,指令中包括被監(jiān)控的Pod標(biāo)識(shí),采集控制器通過(guò)Pod標(biāo)識(shí)獲取部署該P(yáng)od的Node標(biāo)識(shí),通過(guò)Node標(biāo)識(shí),采集控制器可查詢得到Proxy的IP、端口,進(jìn)而向Proxy發(fā)送監(jiān)控指令。Proxy采集到所需要的監(jiān)控信息后存于對(duì)應(yīng)的數(shù)據(jù)庫(kù)。

圖2 資源利用率采集方案Fig.2 Resource utilization rate collection scheme

2.2 資源調(diào)度流程

調(diào)度模塊維護(hù)3類權(quán)重集合:1)Pod專用權(quán)重,用于Pod擴(kuò)容時(shí)選擇最優(yōu)Node,在測(cè)量窗口,統(tǒng)計(jì)Pod及其副本占用的各類資源占整個(gè)集群資源的比例,即全局占用率,根據(jù)各類資源的全局占用率計(jì)算Pod專用權(quán)重;2)鏡像專用權(quán)重,是使用該鏡像的所有Pod各資源權(quán)重的平均值,如果待創(chuàng)建Pod的鏡像有使用記錄,則使用鏡像專用權(quán)重選擇最優(yōu)Node;3)Kubernetes默認(rèn)權(quán)重,即所有資源權(quán)重值相等。

本文采用兩級(jí)調(diào)度機(jī)制,如圖3所示。

圖3 改進(jìn)的資源調(diào)度流程Fig.3 Improved resource scheduling procedure

調(diào)度過(guò)程分兩個(gè)階段,第一階段根據(jù)用戶最小資源需求過(guò)濾掉不滿足需求的Node,第二階段選擇權(quán)重集合對(duì)候選Node的各類資源的閑置率加權(quán)求和,得到候選Node的優(yōu)先級(jí)。權(quán)重集合選擇策略如下:

1)如果待調(diào)度的Pod有專用權(quán)重值,則根據(jù)Pod專用權(quán)重值、資源剩余情況選擇最優(yōu)Pod。

2)如果待調(diào)度Pod沒(méi)有專用權(quán)重值,但鏡像有專用權(quán)重值,則采用鏡像專用權(quán)重值。

3)其他情況采用Kubernetes的默認(rèn)權(quán)重值,即所有資源權(quán)重值相等。

2.3 Node優(yōu)先級(jí)計(jì)算方法

符號(hào)定義及Node優(yōu)先級(jí)計(jì)算方法如下:

1)符號(hào)定義

假設(shè)Kubernetes集群中有k臺(tái)不同規(guī)格的Node,N={1,2,…,k};每個(gè)Node上有m種資源,R={1,2,…,m},某Pod由j個(gè)容器構(gòu)成,P={1,2,…,j},使用鏡像i的所有Pod集合為I={1,2,…,h}。

2)Podp各類資源全局占用率計(jì)算方法

本文根據(jù)Podp的CPU、內(nèi)存、帶寬、磁盤(pán)4類資源全局占用率計(jì)算Podp的專用權(quán)重,全局占用率是指Podp某項(xiàng)資源的占用額度占集群中該資源總額的比重,衡量了Podp對(duì)該資源的需求。通過(guò)監(jiān)控代理可以采集到Nodei各類資源總量和Nodei上容器的本地資源占用率。為計(jì)算Podp的資源r全局占用率,需要首先計(jì)算Nodei的資源r全局份額nodeGlobalShare(i,r)。將nodeGlobalShare(i,r) 與容器d的資源r本地占用率相乘,即可得到容器d的資源r全局占用率containerLocalRU(i,d,r)。Podp由多個(gè)容器組成,將Podp中的所有容器資源r的全局占用率求和,即可得到Podp資源r的全局占用率。

(1)計(jì)算Nodei的各類資源全局份額

設(shè)Nodei上資源r的總量為nodeTota(li,r),則集群資源r總量Nodei上資源r的全局份額為:

(2)計(jì)算容器d的各類資源全局占用率

containerLocalRU(i,d,r)表示部署在Nodei的容器d及資源r的占用率,其全局資源占用率為:

(3)計(jì)算Podp的各類資源全局占用率

Podp由j個(gè)容器組成,podGlobalRU(p,r)表示Podp資源r的全局占用率。

3)Podp專用權(quán)重計(jì)算方法

weightPod(p)={w(p,1),w(p,2),…,w(p,m)}表示Podp專用權(quán)重集合。weightPod滿足其中w(p,r)是在計(jì)算候選Node優(yōu)先級(jí)時(shí)資源r的權(quán)重,如式(4)所示,通過(guò)計(jì)算Podp的資源r的全局占用率與該P(yáng)od中所有資源全局占用率之和的比值得到w(p,r)。例如Podp的專用權(quán)重集合為{1%,2%,3%,0.01%},表示該P(yáng)od每消耗集群1%的CPU,將伴隨消耗2%的內(nèi)存、3%的帶寬和0.01%的磁盤(pán),那么在對(duì)候選節(jié)點(diǎn)計(jì)算優(yōu)先級(jí)評(píng)分時(shí),內(nèi)存的優(yōu)先級(jí)應(yīng)是CPU的2倍,通過(guò)式(4)即可計(jì)算得到歸一化權(quán)重:

4)鏡像i專用權(quán)重計(jì)算方法

weightImage(i)={w(i,1),w(i,2),…,w(i,m)}表示鏡像i的專用權(quán)重集合,其中w(i,r)表示鏡像i資源r的專用權(quán)重。當(dāng)需要?jiǎng)?chuàng)建新的Pod時(shí),數(shù)據(jù)庫(kù)中尚未創(chuàng)建該P(yáng)od的專用權(quán)重,此時(shí),參考該P(yáng)od使用的鏡像i的專用權(quán)重。weightImage(i)為所有使用該鏡像的Pod權(quán)重平均值,h為使用鏡像i的Pod總數(shù)。

5)優(yōu)先級(jí)評(píng)分函數(shù)

當(dāng)創(chuàng)建Pod時(shí),通過(guò)優(yōu)先級(jí)評(píng)分函數(shù)選擇剩余資源分布最優(yōu)的Node進(jìn)行部署,優(yōu)先級(jí)越高,表示該候選節(jié)點(diǎn)資源分布越適合部署該P(yáng)od。權(quán)重集合的選擇順序如圖3所示,優(yōu)先級(jí)評(píng)分函數(shù)為候選Node閑置率與權(quán)重集合的加權(quán)求和。Podp為待部署的Pod,priority(p,i)表示Nodei的優(yōu)先級(jí)評(píng)分,nodeFree(i,r)表示Nodei資源r的閑置率,是Nodei剩余的資源r與Nodei資源r總量的比值。以Podp有專用權(quán)重為例,priority(p,i)的計(jì)算方法為:

6)實(shí)例

集群內(nèi)有2個(gè)Node,資源總量情況如表2所示,根據(jù)式(1)計(jì)算得到4種資源的全局份額。

表2 集群資源情況Table 2 Cluster resource situation

Podp有1個(gè)副本,Podp部署在Node1上,即容器1,Podp的副本部署在Node2上,即容器2。通過(guò)測(cè)量得到資源利用率containerLocalRU,如表3所示,根據(jù)式(2)可以得到2個(gè)容器4種資源的全局資源占用率。

表3 容器資源占用率Table 3 Containers resource occupation rate %

經(jīng)測(cè)量Node1、Node2各類資源閑置率如表4所示。此時(shí)Podp需要再增加一個(gè)副本,根據(jù)式(6)可以得到Node1和Node2的優(yōu)先級(jí)評(píng)分分別為0.40、0.49。根據(jù)優(yōu)先級(jí)評(píng)分,Podp的副本應(yīng)部署在Node2上,很明顯Node2是更優(yōu)選擇,由表4可知,Podp是帶寬型應(yīng)用,大約需要占用3.5 Gb/s帶寬,如果部署到Node1,帶寬資源僅剩余0.5 Gb/s,難以應(yīng)對(duì)突發(fā)流量。

表4 Node資源閑置率Table 4 Node resources idle rate %

2.4 評(píng)價(jià)指標(biāo)

本文評(píng)價(jià)指標(biāo)主要有以下3種:

1)集群資源失衡度

對(duì)于Nodei,各類資源利用率的標(biāo)準(zhǔn)差可以反映該Node資源均衡狀況。假設(shè)集群中有k臺(tái)不同規(guī)格的Node,每個(gè)Node上有m種資源。U(i,r)表示Nodei資源r的利用率,Nodei資源利用率標(biāo)準(zhǔn)差表示為:

2)資源綜合利用率

Nodei的資源綜合利用率為該Node各類資源利用率的均值,定義集群資源綜合利用率為所有Node資源綜合利用率的平均值,衡量集群的資源是否得到充分利用。

3)調(diào)度合理率

如果將Podp調(diào)度到Nodei后,Nodei的各類資源未觸及資源上限,那么此次調(diào)度結(jié)果是合理的。調(diào)度合理率是指對(duì)于請(qǐng)求集合R調(diào)度合理的比例。

3 實(shí)驗(yàn)

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

為驗(yàn)證本文提出的容器調(diào)度算法,基于墨爾本大學(xué)開(kāi)源的云計(jì)算仿真框架ContainerCloudSim[19-20]進(jìn)行仿真,利用該軟件模擬一個(gè)包含30個(gè)Node的Kubernetes邊緣云,每個(gè)Node的資源信息如表5所示。

表5 Node資源信息Table 5 Node resource information

本文基于邊緣應(yīng)用資源需求多樣性、差異化的特點(diǎn),按照CPU傾向型、內(nèi)存傾向型、存儲(chǔ)傾向型、帶寬傾向型以及標(biāo)準(zhǔn)無(wú)傾向型5類應(yīng)用資源請(qǐng)求構(gòu)建了Pod資源需求,表6為部分Pod資源需求,表7展示了WSLB對(duì)于Pod自動(dòng)學(xué)習(xí)到的權(quán)重。

表6 Pod資源需求Table 6 Pod resource requirement

表7 基于自學(xué)習(xí)機(jī)制得到的權(quán)重Table 7 Weights based on self-learning mechanism

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

在上述Kubernetes邊緣云集群中,分別采用K8s原生調(diào)度算法與本文提出的MSLB自學(xué)習(xí)調(diào)度算法,從集群資源均衡度、綜合資源利用率和調(diào)度合理率3個(gè)角度來(lái)對(duì)比兩種算法。

1)集群資源失衡度

集群資源失衡度變化曲線如圖4所示,當(dāng)Pod數(shù)量小于6 000時(shí),集群負(fù)荷較低,WSLB機(jī)制與K8s原生調(diào)度機(jī)制的資源失衡度相差并不大,甚至有可能在某些特定的Pod需求下,略低于K8s原生調(diào)度機(jī)制,但當(dāng)Pod數(shù)量大于6 000時(shí),隨著容器資源請(qǐng)求數(shù)量繼續(xù)上升,WSLB自學(xué)習(xí)得到的權(quán)重開(kāi)始產(chǎn)生作用,WSLB的資源失衡度明顯優(yōu)于K8s原生調(diào)度算法。由于WSLB考慮了4種資源的權(quán)重情況,降低了集群中Node出現(xiàn)某一資源用盡而其余資源大量剩余的可能性,從而使得集群的資源使用失衡度整體下降約10%,尤其是當(dāng)Pod數(shù)量大于7 000,集群資源飽和后,WSLB失衡度平均下降26.2%,體現(xiàn)了WSLB在集群資源飽和情況下可以有效調(diào)節(jié)集群資源平衡度。

圖4 集群資源失衡度變化曲線Fig.4 Cluster resource lopsidedness change curve

2)資源綜合利用率

資源綜合利用率變化曲線如圖5所示。圖5中截取了Pod數(shù)量大于6 000的部分,當(dāng)Pod數(shù)量小于6 000時(shí),集群負(fù)荷較小,Pod調(diào)度請(qǐng)求均可滿足,兩種算法資源綜合利用率沒(méi)有差異。當(dāng)Pod數(shù)量大于6 000時(shí),集群負(fù)荷較大,WSLB的資源綜合利用率總體優(yōu)于K8s原生調(diào)度算法,相比K8s平均提升1.6%。主要原因如下:隨著Pod數(shù)量的增加,K8s算法失衡度上升,集群中部分Node出現(xiàn)資源傾斜,導(dǎo)致部分Pod調(diào)度請(qǐng)求無(wú)法得到滿足;K8s原生算法沒(méi)有考慮帶寬和存儲(chǔ)資源,致使部分Node帶寬、存儲(chǔ)資源飽和,這部分Node無(wú)法充分滿足應(yīng)用的帶寬、存儲(chǔ)需求。

圖5 集群資源綜合利用率Fig.5 Cluster resource comprehensive utilization rate

3)調(diào)度合理率

如圖6所示,WSLB的調(diào)度合理率始終為1,當(dāng)Pod數(shù)量大于1 500時(shí),WSLB調(diào)度合理率較K8s平均提升9.3%。原因在于WSLB充分考慮了Pod的帶寬、磁盤(pán)需求,避免了Node帶寬、磁盤(pán)資源飽和情況的出現(xiàn),當(dāng)Pod數(shù)量大于3 000時(shí),K8s原生調(diào)度策略開(kāi)始出現(xiàn)調(diào)度不合理的情況,這是因?yàn)镵8s原生算法不考慮Pod的帶寬、磁盤(pán)需求,將部分Pod調(diào)度到帶寬或磁盤(pán)資源飽和的Node,該Node上所有Pod的性能將受到影響。

圖6 調(diào)度合理率Fig.6 Scheduling reasonable rate

圖7所示為當(dāng)Pod數(shù)量為7 500時(shí),K8s原生調(diào)度算法和WSLB算法的Node帶寬利用率,K8s原生調(diào)度算法由于在調(diào)度時(shí)沒(méi)有考慮帶寬的使用情況,使得各Node的帶寬利用率分布極為不均衡,標(biāo)準(zhǔn)差達(dá)到了0.496 8,且有5個(gè)Node的帶寬利用率已遠(yuǎn)超1,這表明這些Node的帶寬資源已經(jīng)飽和,飽和率達(dá)到16%。在5G MEC的業(yè)務(wù)場(chǎng)景之下,意味著這些Node網(wǎng)絡(luò)已嚴(yán)重?fù)矶拢?G MEC帶來(lái)的低延時(shí)優(yōu)勢(shì)已經(jīng)不再具備。而在WSLB調(diào)度機(jī)制下,大部分Node帶寬利用率較為均勻地分布于0.4~0.8之間,標(biāo)準(zhǔn)差為0.137 4,相比于Kubernetes原生調(diào)度算法,下降了72%,保障了整個(gè)集群的帶寬使用率。

圖7 集群帶寬利用率Fig.7 Cluster bandwidth utilization rate

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

容器云是5G邊緣計(jì)算的重要支撐技術(shù),網(wǎng)絡(luò)邊緣的資源較為稀缺,而邊緣應(yīng)用與傳統(tǒng)應(yīng)用的差異性給容器云的調(diào)度機(jī)制帶來(lái)了新的需求。Kubernetes僅考慮CPU、內(nèi)存,且對(duì)需求各異的應(yīng)用采用相同權(quán)重的資源調(diào)度策略,無(wú)法適用于邊緣云的調(diào)度需求。針對(duì)Kubernetes資源調(diào)度策略的不足,本文增加了帶寬、磁盤(pán)利用率兩項(xiàng)指標(biāo),以滿足邊緣計(jì)算場(chǎng)景下帶寬、磁盤(pán)需求較大應(yīng)用調(diào)度需求,同時(shí)提出一種根據(jù)Pod運(yùn)行過(guò)程中資源占用情況自動(dòng)計(jì)算Pod專用權(quán)重、鏡像專用權(quán)重的方法,對(duì)不同資源傾向的應(yīng)用采用不同的權(quán)重,以滿足大規(guī)模異構(gòu)化的容器資源申請(qǐng)需求。在ContainerCloudSim仿真平臺(tái)上的實(shí)驗(yàn)結(jié)果表明,與Kubernetes原生調(diào)度策略相比,基于權(quán)重自學(xué)習(xí)的調(diào)度策略具有更高的資源利用率。將Pod調(diào)度到合適的Node上只是資源調(diào)度的開(kāi)始,后續(xù)研究將考慮在Node上分配各Pod之間的資源,從而實(shí)現(xiàn)公平、高效的資源調(diào)度,進(jìn)一步提升系統(tǒng)的資源利用率。

猜你喜歡
占用率磁盤(pán)全局
Cahn-Hilliard-Brinkman系統(tǒng)的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
解決Windows磁盤(pán)簽名沖突
降低CE設(shè)備子接口占用率的研究與應(yīng)用
修改磁盤(pán)屬性
落子山東,意在全局
金橋(2018年4期)2018-09-26 02:24:54
磁盤(pán)組群組及iSCSI Target設(shè)置
創(chuàng)建VSAN群集
基于排隊(duì)論的區(qū)域路內(nèi)停車最優(yōu)泊位占用率研究
新思路:牽一發(fā)動(dòng)全局
固安县| 饶阳县| 扬中市| 达拉特旗| 二连浩特市| 高邮市| 女性| 巧家县| 亳州市| 远安县| 安康市| 融水| 饶河县| 丰都县| 东兴市| 潮安县| 墨竹工卡县| 屏边| 桑日县| 景宁| 昌江| 荥经县| 新泰市| 阜新市| 大埔区| 鹤庆县| 明光市| 旬阳县| 高淳县| 桑植县| 十堰市| 蒲城县| 景谷| 建宁县| 武功县| 涞水县| 清新县| 廉江市| 淮阳县| 大连市| 张家口市|