李磊 薛洋 呂念玲 馮敏
摘 要:為在保證任務(wù)服務(wù)質(zhì)量(QoS)的條件下提高容器云資源利用率,提出一種基于李雅普諾夫的容器云隊列任務(wù)和資源調(diào)度優(yōu)化策略。首先,在云計算服務(wù)排隊模型的基礎(chǔ)上,通過李雅普諾夫函數(shù)分析任務(wù)隊列長度的變化;然后,在任務(wù)QoS的約束下,構(gòu)建資源功耗的最小化目標(biāo)函數(shù);最后,利用李雅普諾夫優(yōu)化方法求解最小資源功耗目標(biāo)函數(shù),獲得在線的任務(wù)和容器資源的優(yōu)化調(diào)度策略,實現(xiàn)對任務(wù)和資源調(diào)度進(jìn)行整體優(yōu)化,從而保證任務(wù)的QoS并提高資源利用率。CloudSim仿真結(jié)果表明,所提的任務(wù)和資源調(diào)度策略在保證任務(wù)QoS的條件下能獲得高的資源利用率,實現(xiàn)容器云在線任務(wù)和資源優(yōu)化調(diào)度,并且為基于排隊模型的云計算任務(wù)和資源整體優(yōu)化提供必要的參考。
關(guān)鍵詞:云計算;資源調(diào)度;建模與分析;服務(wù)質(zhì)量保證;功耗優(yōu)化;李雅普諾夫優(yōu)化
中圖分類號: TP393.09
文獻(xiàn)標(biāo)志碼:A
Abstract: To improve the resource utilization with Quality of Service (QoS) guarantee, a task and resource scheduling method under Lyapunov optimization for container cloud queue was proposed. Firstly, based on the queueing model of cloud computing, the Lyapunov function was used to analyze the variety of the task queue length. Secondly, the minimum energy consumption objective function was constructed under the task QoS guarantee. Finally, Lyapunov optimization method was used to solve the minimum cost objective function to obtain an optimization scheduling policy for the online tasks and container resources, improving the resource utilization and guaranteeing the QoS. The CloudSim simulation results show that, the proposed task and resource scheduling policy achieves high resource utilization under the QoS guarantee, which realizes the online task and resource optimization scheduling of container cloud and provides necessary reference for cloud computing task and resource overall optimization based on queuing model.
Key words: cloud computing; resource scheduling; modeling and analysis; Quality of Service (QoS) guarantee; energy consumption optimization; Lyapunov optimization
0 引言
2011年美國國家標(biāo)準(zhǔn)和技術(shù)研究院(National Institute of Standards and Technology, NIST)的Mell等[1]對云計算作出了如下定義:云計算能通過網(wǎng)絡(luò)以隨時隨地、便利的、按需付費的方式提供高可用資源(包括網(wǎng)絡(luò)、服務(wù)器、存儲和應(yīng)用服務(wù)等),這些資源來自一個共享的、可配置的資源池,同時可以自動地完成資源的啟動和釋放,節(jié)省了人力物力。該定義清晰地闡述了云計算特點,這些特點使得云計算成為了當(dāng)前互聯(lián)網(wǎng)的重要基礎(chǔ)設(shè)施之一,通過云計算資源彈性構(gòu)建和按需付費等特點,使用者和開發(fā)人員可以通過網(wǎng)絡(luò)便利、按需地從一個共享的、可配置的資源池中獲取包括計算、存儲、網(wǎng)絡(luò)等資源,節(jié)約了使用者和開發(fā)人員對于基礎(chǔ)設(shè)施的資源投入,并實現(xiàn)了應(yīng)用的快速部署和上線運行[2-4]。如文獻(xiàn)[5]所述,在實際的使用過程中,大多數(shù)的云計算使用者和開發(fā)人會員為了滿足不確定的網(wǎng)絡(luò)任務(wù)需求,以超量資源(所提供的資源大于最大的實際資源需求)方式進(jìn)行資源的規(guī)劃,這種方式造成資源的大量浪費和資源功耗,同時降低了服務(wù)的收益。因此在面對不同時刻隨機(jī)的網(wǎng)絡(luò)任務(wù)負(fù)載需求時,如何發(fā)揮云計算的特點,按照負(fù)載任務(wù)需求進(jìn)行資源的動態(tài)伸縮,使得資源能符合不同時刻網(wǎng)絡(luò)負(fù)載任務(wù)需求,從而在保證任務(wù)的服務(wù)質(zhì)量(Quality of Service, QoS)的前提下有效減少容器云冗余資源的功耗、提高資源利用率,已經(jīng)成為了云計算技術(shù)領(lǐng)域的研究熱點之一。
然而,資源動態(tài)調(diào)整技術(shù)研究不僅包括云計算的資源調(diào)度,也包括了任務(wù)調(diào)度和服務(wù)質(zhì)量等問題,目前主要分為兩種方式,即主動資源調(diào)整方式和被動資源調(diào)整方式。其中主動資源調(diào)整方式通過對負(fù)載和任務(wù)進(jìn)行在線的預(yù)測,根據(jù)預(yù)測的結(jié)果對云計算的資源提前進(jìn)行調(diào)度,實現(xiàn)資源和負(fù)載需求的動態(tài)匹配。如:Sladescu等[6]研究了常用的預(yù)測方法,包括自回歸積分滑動平均模型(AutoRegressive Integrated Moving Average model, ARIMA)、人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network, ANN)和支持向量回歸 (Support Vector Regression, SVR),以及負(fù)載預(yù)測在服務(wù)質(zhì)量方面的影響;Islam等[7]提出并研究了基于ANN的云計算負(fù)載研究技術(shù);Calheiros等[8]在ARIMA基礎(chǔ)上提出了任務(wù)負(fù)載預(yù)測和資源的主動調(diào)度策略;Pacheco-Sanchez等[9]研究了基于馬爾可夫模型的云計算負(fù)載預(yù)測技術(shù);徐達(dá)宇等[10]提出了一種改進(jìn)灰狼搜索算法優(yōu)化支持向量機(jī)的短期云計算資源負(fù)載預(yù)測模型;趙宏偉等[11]設(shè)計并實現(xiàn)了一種基于徑向基函數(shù)(Radial Basis Function, RBF)神經(jīng)網(wǎng)絡(luò)和粒子群算法的云計算資源動態(tài)調(diào)度系統(tǒng);李丹程等[12]基于OpenStack平臺提出了資源動態(tài)調(diào)度算法,將計算任務(wù)遷移到更合適的服務(wù)器,達(dá)到提高集群計算能效的目的。而被動資源調(diào)度方式主要是通過當(dāng)前時刻負(fù)載的信息完成對云計算資源的調(diào)度和調(diào)整。
如Zhu等[13]基于多輸入多輸出框架提出了一種自適應(yīng)的云計算資源調(diào)度系統(tǒng),在時間的限制下獲得最大的服務(wù)質(zhì)量;Bonvin等[14]以最大集中收益為目標(biāo)提出了一種云計算的資源調(diào)度策略;Khazaei等[15]提出了一種基于排隊論的云計算模型,并通過該模型分析云資源的擴(kuò)展性。一些最優(yōu)化計算方法也被用于云計算任務(wù)和資源調(diào)度的優(yōu)化,例如李騰耀等[16]基于遺傳算法提出了一種云任務(wù)調(diào)度算法;朱海等[17]提出一種能耗優(yōu)化的資源分配調(diào)度體系架構(gòu),并基于此架構(gòu)設(shè)計了一個滿足實時用戶服務(wù)保障(Service-Level Agreement, SLA)的能耗優(yōu)化模型,該優(yōu)化模型從系統(tǒng)級和部件級兩個層次進(jìn)行能耗優(yōu)化。
上述兩種資源調(diào)整方式有各自的優(yōu)點和缺點:主動資源調(diào)整方式的優(yōu)點是能夠提前對云計算資源進(jìn)行調(diào)整,避免了資源與負(fù)載需求之間的時間延遲;缺點是受限于預(yù)測或者回歸模型的精度,當(dāng)預(yù)測出現(xiàn)誤差時會造成資源冗余或者不足,從而影響任務(wù)的服務(wù)質(zhì)量。被動資源調(diào)整方式的優(yōu)點是直接對當(dāng)前的負(fù)載任務(wù)進(jìn)行處理,能精確地分配資源;缺點是網(wǎng)絡(luò)任務(wù)調(diào)度和資源調(diào)度相互獨立,同時由于傳統(tǒng)虛擬機(jī),如內(nèi)核虛擬機(jī)(Kernel-based Virtual Machine, KVM)啟動速度的影響,資源的調(diào)度滯后于任務(wù)的負(fù)載變化。
如文獻(xiàn)[18]所述,如圖1所示,容器(Container)(如Docker軟件服務(wù))與傳統(tǒng)的虛擬機(jī)(如KVM)采用了不同的資源虛擬化技術(shù),通過直接在宿主操作系統(tǒng)中的資源隔離避免了虛擬軟件層帶來的性能損耗開銷,同時不需要在容器中另外安裝用戶操作系統(tǒng),可以看作是一個輕量級的虛擬化技術(shù)實現(xiàn)資源的隔離,使得容器在云計算平臺的啟動等待時間可以忽略不計。因此,采用容器云不僅避免了由虛擬機(jī)啟動時間延遲造成的任務(wù)負(fù)載變化和資源調(diào)度延遲,同時進(jìn)一步提高了云計算平臺的性能。然而,目前的被動資源調(diào)整方式主要以單次或者靜態(tài)的任務(wù)和資源調(diào)度為主要的研究對象,很少考慮任務(wù)到來的時間先后和隊列的緩沖。因此,本文以動態(tài)任務(wù)到達(dá)為研究背景,并以實際的容器云架構(gòu)為基礎(chǔ)進(jìn)行建模,通過理論分析并結(jié)合李雅普諾夫優(yōu)化方法設(shè)計了一種在線的任務(wù)和資源調(diào)度算法,不需要提前獲取網(wǎng)絡(luò)任務(wù)的任何負(fù)載信息,以當(dāng)前任務(wù)到達(dá)強(qiáng)度和容器的負(fù)載信息驅(qū)動任務(wù)和資源的調(diào)度,使得服務(wù)系統(tǒng)隊列保持穩(wěn)定,并在保證任務(wù)的服務(wù)質(zhì)量的前提下,減少虛擬機(jī)的運行數(shù)量,從而提高資源的利用率。本文的主要工作包括:
1)以實際的容器云為基礎(chǔ)進(jìn)行建模,將容器云的資源和服務(wù)抽象為排隊模型,展示了從實際工程到理論模型的轉(zhuǎn)化過程。
2)基于排隊模型分析,以任務(wù)的服務(wù)質(zhì)量響應(yīng)時間為約束條件,以最小能耗為目標(biāo),結(jié)合李雅普諾夫優(yōu)化方法,獲得在線任務(wù)和資源的優(yōu)化調(diào)度策略。
3)將任務(wù)調(diào)度與資源調(diào)度融合到一個策略內(nèi),使得任務(wù)和資源調(diào)度緊密結(jié)合,提高了算法的效率。
4)通過對比Back-Pressure、Round Robin和隨機(jī)調(diào)度策略,驗證了本文提出的策略在保證任務(wù)QoS的條件下,能有效地提高資源的利用率。
1 容器云平臺的結(jié)構(gòu)和建模
1.1 容器云平臺結(jié)構(gòu)
容器云計算平臺的結(jié)構(gòu)與一般的云計算平臺類似,包括一個管理中心(Management Center)和多臺物理機(jī)(Physical Server)構(gòu)成的計算資源池,如圖2所示。其中管理中心負(fù)責(zé)接收平臺使用者的請求,例如啟動或者關(guān)閉容器,并采集和監(jiān)控云計算平臺內(nèi)容器的運行信息,按照指定的任務(wù)和資源調(diào)度的策略分配任務(wù)和調(diào)整云計算平臺中的容器(Container)資源。在網(wǎng)絡(luò)服務(wù)接入端,一般由一個或者多個負(fù)載均衡分發(fā)服務(wù)(Load Balance Service, LBS)負(fù)責(zé)完成對網(wǎng)絡(luò)任務(wù)的調(diào)度和分發(fā)。計算資源池負(fù)責(zé)提供容器運行所需要的資源,如CPU、內(nèi)存、硬盤存儲和網(wǎng)絡(luò)帶寬等。一般而言,一個默認(rèn)配置的容器服務(wù)進(jìn)程占據(jù)一個獨立的CPU物理核心。按照馮諾依曼體系結(jié)構(gòu)[19],內(nèi)存主要是作為處理數(shù)據(jù)的緩沖,在內(nèi)存容量不足時可以通過和硬盤存儲進(jìn)行數(shù)據(jù)交換;硬盤容量相對于內(nèi)存容量可以被認(rèn)為是無限大容量;帶寬影響數(shù)據(jù)的傳輸時間。本文僅考慮CPU物理核心資源的利用率。
容器云平臺管理中心合理地分配容器數(shù)量,在保證任務(wù)服務(wù)質(zhì)量的前提下,有效地降低資源的冗余度和功耗,從而提高資源的利用率,實現(xiàn)“綠色云”[20]。雖然負(fù)載均衡服務(wù)使用的網(wǎng)絡(luò)任務(wù)調(diào)度策略無法直接影響資源調(diào)整,但任務(wù)調(diào)度策略決定了任務(wù)分發(fā)的方式,直接影響了任務(wù)的服務(wù)質(zhì)量。因此,需要對資源調(diào)度和任務(wù)調(diào)度進(jìn)行整體設(shè)計,使得任務(wù)調(diào)度和資源調(diào)度相互協(xié)調(diào),從而在保證任務(wù)的服務(wù)質(zhì)量的前提下,提高資源利用率。
1.2 基于容器云的任務(wù)排隊模型
類似于文獻(xiàn)[21]所述,由于容器是任務(wù)的處理單元,所以容器云中的每個容器都可以看作是一個排隊模型?;谂抨犇P?,容器云平臺運行時間看作由多個連續(xù)的時間片(time slice)組成,每個時間片長度定義為τ。因此,在每個時間片內(nèi)τ內(nèi),單個容器的排隊模型描述如下:
2 在線任務(wù)和資源優(yōu)化調(diào)度策略設(shè)計
2.1 資源功耗模型和目標(biāo)優(yōu)化函數(shù)
容器運行狀態(tài)直接影響容器云的整體資源功耗。一般而言,容器運行狀態(tài)可以分為兩類:1)運行狀態(tài),指容器內(nèi)的任務(wù)隊列不為空,有任務(wù)等待需要處理,此狀態(tài)的容器功耗大于0;2)停止或者空閑狀態(tài),指容器內(nèi)部任務(wù)隊列為空,此狀態(tài)的容器被認(rèn)為是一個休眠的進(jìn)程,功耗非常低,一般認(rèn)為該狀態(tài)的功耗為0。容器云平臺資源功耗模型被描述如下:
3 在線任務(wù)和資源優(yōu)化調(diào)度策略設(shè)計
為了驗證提出的在線任務(wù)和資源調(diào)度策略的效果,對比了以下幾種傳統(tǒng)的調(diào)度策略:
1)Back-Pressure策略[27]:該策略按照系統(tǒng)前一級節(jié)點和后一級節(jié)點的隊列差值決定任務(wù)的分發(fā)調(diào)度,優(yōu)先將任務(wù)調(diào)度到差值最大的后一級節(jié)點。在容器云中,該策略可等效為優(yōu)先將任務(wù)調(diào)度到任務(wù)隊列最短的容器內(nèi)。
2)Round Robin策略[28]:該策略采用輪循的機(jī)制進(jìn)行任務(wù)的調(diào)度。在容器云中,該算法等效于平均任務(wù)調(diào)度策略。
3)隨機(jī)調(diào)度策略[29]:該策略按照概率隨機(jī)選擇容器進(jìn)行任務(wù)的調(diào)度。
3.1 實驗環(huán)境
實驗物理機(jī)配置為:Intel E3-1505 4核心CPU,32GB DDR4內(nèi)存,1TB SSD硬盤存儲器。本文采用文獻(xiàn)[30]介紹的CloudSim 4.0云仿真軟件進(jìn)行策略的仿真和對比。
為了獲得在真實情況下算法的性能和效果,實驗采用真實的維基媒體云計算服務(wù)網(wǎng)絡(luò)任務(wù)負(fù)載數(shù)據(jù)(http://dumps.wikimedia.org/other/pagecounts-raw)進(jìn)行仿真,該數(shù)據(jù)實時記錄了每個小時網(wǎng)絡(luò)終端用戶訪問維基媒體云服務(wù)的任務(wù)數(shù)量。其中具體的實驗參數(shù)設(shè)置如下:
1)隨機(jī)選取了24個小時的維基媒體云計算服務(wù)網(wǎng)絡(luò)任務(wù)負(fù)載數(shù)據(jù)作為仿真的任務(wù)輸入數(shù)據(jù)(λ(τk))。
2)CloudSim設(shè)置為每臺容器最大內(nèi)存緩沖能力為50000,最大可分配100臺容器;每臺容器在單位時間(1s)內(nèi)可處理100個網(wǎng)絡(luò)任務(wù)(μi=100)。
3)任務(wù)服務(wù)質(zhì)量的最大響應(yīng)時間最大值為1s(Tmax=1s)。
3.2 實驗結(jié)果與分析
實驗通過以下4個主要的指標(biāo)對不同策略的性能進(jìn)行評估和分析:1)任務(wù)平均最大等待時間(Tmaxmean),代表整個運行時間任務(wù)的最長平均延遲時間,數(shù)值越大則越難以保證任務(wù)服務(wù)質(zhì)量;2)任務(wù)最大響應(yīng)時間(Tmaxresp),代表任務(wù)的最大響應(yīng)時間,數(shù)值越低說明容器云越能保證任務(wù)服務(wù);3)容器最大平均任務(wù)隊列長度(Qmaxmean),代表集群內(nèi)運行時間最長的容器負(fù)載情況,該指標(biāo)越大說明在整個運行時間內(nèi)容器的負(fù)載越大;4)容器在線運行的時間總數(shù)(NTotal),代表整個運行時間內(nèi)容器運行時間的總和,數(shù)值越大資源利用率越低,資源功耗越高。實驗結(jié)果如表1所示。
3.3 Tmaxmean和Tmaxresp分析
任務(wù)平均最大等待時間(Tmaxmean)指在運行的全部時間片內(nèi),容器云平臺中各個容器任務(wù)隊列的任務(wù)等待平均時間的最大值,該指標(biāo)越大說明任務(wù)的排隊的時間越長。由于Round Robin調(diào)度策略采用了輪詢的調(diào)度機(jī)制,它會將任務(wù)平均地調(diào)度到全部容器內(nèi),因此從實驗結(jié)果可知,該策略的任務(wù)平均最大等待時間指標(biāo)最?。?.18s)。隨機(jī)調(diào)度機(jī)制采用了平均概率分布將任務(wù)調(diào)度到容器云中的可啟動和使用的容器,在一定的時間內(nèi)會造成任務(wù)集中調(diào)度在少部分容器內(nèi)的情況,因此任務(wù)平均最大等待時間為160s。而Back-Pressure調(diào)度策略在每個時間片重新對所有的容器負(fù)載進(jìn)行排序,并優(yōu)先將任務(wù)調(diào)度到負(fù)載最輕的容器內(nèi),因此,任務(wù)平均最大等待時間為342.71s,為所對比策略中最大的。隨機(jī)調(diào)度和Back-Pressure調(diào)度策略使得容器云的任務(wù)平均最大響應(yīng)時間大于其他策略,無法保證任務(wù)的服務(wù)質(zhì)量。MaxWS-QoS和MinWS-QoS調(diào)度策略在最大響應(yīng)時間的約束下,將任務(wù)調(diào)度集中到QoS保證條件下所允許的容器內(nèi),因此,任務(wù)平均最大等待時間被限制到一個可允許的范圍內(nèi),分別為0.51s和0.51s,稍大于Round Robin調(diào)度策略的指標(biāo)數(shù)值0.18s,遠(yuǎn)小于隨機(jī)調(diào)度和Back-Pressure調(diào)度策略的任務(wù)平均最大等待時間。
類似,任務(wù)最大響應(yīng)時間(Tmaxresp)指在運行的全部時間片內(nèi),容器云平臺中各個容器任務(wù)隊列的任務(wù)處理時間的最大值,該指標(biāo)與任務(wù)平均最大等待時間成正比。隨機(jī)調(diào)度和Back-Pressure調(diào)度策略使得容器云的任務(wù)最大響應(yīng)時間高于其他策略。MaxWS-QoS和MinWS-QoS調(diào)度策略受限于最大響應(yīng)時間限制,因此,該指標(biāo)為1s,略大于Round Robin調(diào)度策略的0.35s,但小于隨機(jī)調(diào)度策略和Back-Pressure調(diào)度策略的數(shù)值(319.99s, 685.41s)。但最大平均等待時間和響應(yīng)時間僅考慮了任務(wù)的服務(wù)質(zhì)量,負(fù)載和資源利用率也是容器云平臺性能的一個重要指標(biāo)。
3.4 Qmaxmean和NTotal分析
最大平均隊列長度(Qmaxmean)指在運行的全部時間片內(nèi),容器云平臺中各個容器任務(wù)隊列的平均長度的最大值,該指標(biāo)越大說明任務(wù)的排隊的時間越長,單個容器的負(fù)載越大;該指標(biāo)越小,說明容器資源分配越充分,但資源利用率越低。由于Round Robin調(diào)度策略采用了輪詢的調(diào)度機(jī)制,該調(diào)度策略會將任務(wù)平均地調(diào)度到全部的容器內(nèi),因此,Round Robin調(diào)度策略的最大平均任務(wù)隊列長度指標(biāo)最小(30),該策略能使容器平臺內(nèi)容器的平均負(fù)載達(dá)到最低,但資源利用率也最低。隨機(jī)調(diào)度機(jī)制采用了平均概率分布將任務(wù)調(diào)度到容器云中可啟動和使用的容器,在一定時間內(nèi)會造成任務(wù)集中調(diào)度在少部分容器內(nèi)的情況,因此最大平均隊列長度為14745;
Back-Pressure調(diào)度策略在每個時間片重新對所有的容器負(fù)載進(jìn)行排序,并優(yōu)先將任務(wù)調(diào)度到負(fù)載最輕的容器內(nèi),因此,最大平均隊列長度為33866,為所對比策略中最大的。
隨機(jī)調(diào)度和Back-Pressure調(diào)度策略使得容器云的負(fù)載高于其他策略。MaxWS-QoS和MinWS-QoS調(diào)度策略在最大等待時間的約束下,同時考慮了資源利用率,將任務(wù)調(diào)度集中到在任務(wù)服務(wù)質(zhì)量保證條件下所允許的容器內(nèi),因此,最大平均隊列長度被限制到一個可允許的范圍內(nèi),分別為45和33。其中,MaxWS-QoS調(diào)度策略下的Qmaxmean比Back-Pressure調(diào)度策略下的Qmaxmean提高了(45-30)/30=50%,MinWS-QoS調(diào)度策略下的Qmaxmean比Back-Pressure調(diào)度策略的Qmaxmean提高了(33-30)/30=10%,但保證了任務(wù)的最大響應(yīng)時間和最大平均響應(yīng)時間均小于1s。
容器在線運行的時間總數(shù)(NTotal)指在運行時間內(nèi)容器云平臺在線運行容器資源的時間總和,該指標(biāo)數(shù)值越大說明資源分配越多,資源利用率越低。由于Round Robin調(diào)度策略采用了輪詢的調(diào)度機(jī)制,當(dāng)任務(wù)數(shù)量大于容器云中可啟動容器的最大數(shù)量上限時,每個容器都會被分配任務(wù)并啟動運行,因此,Round Robin策略使得容器在線運行的時間總數(shù)最大(2400),資源利用率最低、功耗最大。Back-Pressure調(diào)度策略在每個時間片重新對所有的容器負(fù)載進(jìn)行排序,并優(yōu)先將任務(wù)調(diào)度到負(fù)載最輕的容器內(nèi),因此在整個運行時間內(nèi),Back-Pressure調(diào)度策略將任務(wù)分配到負(fù)載較輕的容器內(nèi),因此,容器在線運行的時間總數(shù)同樣會達(dá)到最大(2400)。隨機(jī)調(diào)度策略采用均勻分布的概率進(jìn)行任務(wù)調(diào)度,在整個運行時間內(nèi),任務(wù)也會被調(diào)度到所有容器內(nèi),使得容器在線運行的時間總數(shù)(NTotal)也會達(dá)到最大(2400)。MaxWS-QoS和MinWS-QoS調(diào)度策略在最大等待時間的約束下,同時考慮了資源利用率,將任務(wù)調(diào)度集中到服務(wù)質(zhì)量保證條件下所允許的容器內(nèi),因此,容器在線運行的時間總數(shù)(857,857)減小到約為原來的857/2400×100%≈36%,提高了容器云平臺資源的利用率。另外,在相同容器在線運行時間總數(shù)(NTotal)情況下,MinWS-QoS調(diào)度策略有限考慮非空的低負(fù)載容器,因此,MinWS-QoS調(diào)度策略下的Qmaxmean比MaxWS-QoS調(diào)度策略下的Qmaxmean減小了(45-33)/45≈27%,從而進(jìn)一步保證了容器運行的穩(wěn)定性和任務(wù)的服務(wù)質(zhì)量。
綜上可知,本文提出的MaxWS-QoS和MinWS-QoS調(diào)度策略同時考慮到了服務(wù)質(zhì)量保證和資源利用率,能在保證任務(wù)服務(wù)質(zhì)量約束的條件下,有效地提高容器云平臺的資源利用率。
4 結(jié)語
針對云計算技術(shù)領(lǐng)域的研究熱點問題(任務(wù)和資源調(diào)度優(yōu)化),以實際的容器云結(jié)構(gòu)為基礎(chǔ)進(jìn)行建模,結(jié)合李雅普諾夫優(yōu)化方法從理論上分析,提出了兩種在線任務(wù)和資源調(diào)度策略,即任務(wù)服務(wù)質(zhì)量保障最大負(fù)載排序資源調(diào)度策略和任務(wù)服務(wù)質(zhì)量保障最小負(fù)載排序資源調(diào)度策略。實驗結(jié)果表明,提出的調(diào)度策略可以在保證任務(wù)服務(wù)質(zhì)量的條件下有效地降低容器云在冗余資源,提高資源的利用率,降低容器云的資源功耗。
然而本文提出的排隊模型還需要完善,增加包括底層硬件資源的約束,實現(xiàn)容器的調(diào)度時對宿主選擇的約束和優(yōu)化,從而進(jìn)一步提高資源的利用率,并使得模型能更加切合實際容器云的結(jié)構(gòu)和特點。同時,我們將進(jìn)一步結(jié)合李雅普諾夫優(yōu)化方法構(gòu)建以時間為單位的虛擬資源任務(wù)隊列,考慮任務(wù)等待的延遲,實現(xiàn)調(diào)度策略在時間延遲方面的優(yōu)化,提高任務(wù)的服務(wù)質(zhì)量。
參考文獻(xiàn):
[1] MELL P M, GRANCE T. The NIST definition of cloud computing, SP 800-145 [R]. Gaithersburg, MD: National Institute of Standards & Technology, 2011: 2-4.
[2] SERRANO D, BOUCHENAK S, KOUKI Y, et al. SLA guarantees for cloud services [J]. Future Generation Computer Systems, 2016, 54: 233-246.
[3] RODRIGUES E, ASSUNCAO R, PAPPA G L, et al. Exploring multiple evidence to infer users location in Twitter [J]. Neurocomputing, 2016, 171: 30-38.
[4] CHEN T, GAO X, CHEN G. The features, hardware, and architectures of data center networks: a survey [J]. Journal of Parallel and Distributed Computing, 2016, 96: 45-74.
[5] CHIANG Y-J, OUYANG Y-C, HSU C-H. An optimal cost-efficient resource provisioning for multi-servers cloud computing [C]// Proceedings of the 2013 International Conference on Cloud Computing and Big Data. Washington, DC: IEEE Computer Society, 2013: 225-231.
[6] SLADESCU M, FEKETE A, LEE K, et al. Event aware workload prediction: a study using auction events [C]// WISE 2012: Proceedings of the 2012 International Conference on Web Information Systems Engineering. Berlin: Springer-Verlag, 2012: 368-381.
[7] ISLAM S, KEUNG J, LEE K, et al. Empirical prediction models for adaptive resource provisioning in the cloud [J]. Future Generation Computer Systems, 2012, 28(1): 155-162.
[8] CALHEIROS R N, MASOUMI E, RANJAN R, et al. Workload prediction using ARIMA model and its impact on cloud applications QoS [J]. IEEE Transactions on Cloud Computing, 2015, 3(4): 449-458.
[9] PACHECO-SANCHEZ S, CASALE G, SCOTNEY B, et al. Markovian workload characterization for QoS prediction in the cloud [C]// CLOUD 11: Proceedings of the 2011 IEEE International Conference on Cloud Computing. Washington, DC: IEEE Computer Society, 2011: 147-154.
[10] 徐達(dá)宇,丁帥.改進(jìn)GWO優(yōu)化SVM的云計算資源負(fù)載短期預(yù)測研究[J]. 計算機(jī)工程與應(yīng)用, 2017, 53(7): 68-73. (XU D Y, DING S. Research on improved GWO-optimized SVM-based short-term load prediction for cloud computing[J]. Computer Engineering and Applications, 2017, 53(7): 68-73.)
[11] 趙宏偉,申德榮,田力威.云計算環(huán)境下資源需求預(yù)測與調(diào)度方法的研究[J]. 小型微型計算機(jī)系統(tǒng),2016,37(4):659-663. (ZHAO H W, SHEN D R, TIAN L W. Research on resources forecasting and scheduling method in cloud computing environment[J]. Journal of Chinese Computer Systems, 2016, 37(4): 659-663.)
[12] 李丹程,王曉晨,宋曉雪,等.基于OpenStack的資源負(fù)載預(yù)測方法研究[J]. 計算機(jī)應(yīng)用研究,2014,31(7):2178-2182. (LI D C, WANG X C, SONG X X, et al. Study on load prediction method based on OpenStack[J]. Application Research of Computers, 2014, 31(7):2178-2182.)
[13] ZHU Q, AGRAWAL G. Resource provisioning with budget constraints for adaptive applications in cloud environments [J]. IEEE Transactions on Services Computing, 2012, 5(4): 497-511.
[14] BONVIN N, PAPAIOANNOU T G, ABERER K. Autonomic SLA-driven provisioning for cloud applications [C]// CCGRID 11: Proceedings of the 2011 IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing. Washington, DC: IEEE Computer Society, 2011: 434-443.
[15] KHAZAEI H, MISIC J, MISIC V B. A fine-grained performance model of cloud computing centers [J]. IEEE Transactions on Parallel & Distributed Systems, 2013, 24(11): 2138-2147.
[16] 李騰耀,張鳳琴,王夢非.使用遺傳算法改進(jìn)的兩階段云任務(wù)調(diào)度算法研究[J].小型微型計算機(jī)系統(tǒng),2017,38(6):1305-1310. (LI T Y, ZHANG F Q, WANG M F. Improved two period cloud task scheduling algorithm with genetic algorithm [J]. Journal of Chinese Computer Systems, 2017, 38(6): 1305-1310.)
[17] 朱海,王洪峰,廖貅武.云環(huán)境下能耗優(yōu)化的任務(wù)調(diào)度模型及虛擬機(jī)部署算法[J]. 系統(tǒng)工程理論與實踐,2016,36(3):768-778. (ZHU H, WANG H F, LIAO X W. Task scheduling model and virtual machine deployment algorithm for energy consumption optimization in cloud computing [J]. Systems Engineering — Theory & Practice, 2016, 36(3): 768-778.)
[18] ANDERSON C. Docker [Software engineering] [J]. IEEE Software, 2015, 32(3): 102-c3.
[19] ENTICKNAP N. Von Neumann architecture [J]. Computer Jargon Explained, 1989 (Suppl 2): 128-129.
[20] KUMAR S, BUYYA R. Green cloud computing and environmental sustainability [M]// Harnessing Green IT: Principles and Practices. Hoboken: John Wiley & Sons, 2012: 315-339.
[21] CHIANG Y-J, OUYANG Y-C, HSU C-H. An efficient green control algorithm in cloud computing for cost optimization [J]. IEEE Transactions on Cloud Computing, 2015, 3(2): 145-155.
[22] CALHEIROS R N, RANJAN R, BUYYA R. Virtual machine provisioning based on analytical performance and QoS in cloud computing environments [C]// ICPP 11: Proceedings of the 2011 International Conference on Parallel Processing. Washington, DC: IEEE Computer Society, 2011: 295-304.
[23] LI S, ZHOU Y, JIAO L, et al. Towards operational cost minimization in hybrid clouds for dynamic resource provisioning with delay-aware optimization [J]. IEEE Transactions on Services Computing, 2015, 8(3): 398-409.
[24] LU P, SUN Q, WU K, et al. Distributed online hybrid cloud management for profit-driven multimedia cloud computing [J]. IEEE Transactions on Multimedia, 2015, 17(8): 1297-1308.
[25] KHAZAEI H, MISIC J, MISIC V B. Performance analysis of cloud computing centers using M/G/m/m+r queuing systems [J]. IEEE Transactions on Parallel and Distributed Systems, 2012, 23(5): 936-943.
[26] NEELY M. Stochastic Network Optimization with Application to Communication and Queueing Systems [M]. Williston, VT: Morgan and Claypool Publishers, 2010: 15-16.
[27] LIU J, STOLYAR A L, CHIANG M, et al. Queue back-pressure random access in multihop wireless networks: optimality and stability [J]. IEEE Transactions on Information Theory, 2009, 55(9): 4087-4098.
[28] RASMUSSEN R V, TRICK M A. Round robin scheduling — a survey [J]. European Journal of Operational Research, 2008, 188(3): 617-636.
[29] ATIEWI S, YUSSOF S, RUSLI M E. A comparative analysis of task scheduling algorithms of virtual machines in cloud environment [J]. Journal of Computer Science, 2015, 11(6): 804-812.
[30] CALHEIROS R N, RANJAN R, BELOGLAZOV A, et al. CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms [J]. Software Practice & Experience, 2011, 41(1): 23-50.