鄧 莉,任雨林,朱金燦,何 亨,李 超
1(武漢科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 430065)2(智能信息處理與實(shí)時(shí)工業(yè)系統(tǒng)湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430065)3(湖北大學(xué) 信息化建設(shè)與管理處,武漢 430062)
近年來,云平臺(tái)因其廉價(jià)可擴(kuò)展的計(jì)算資源、穩(wěn)定高容量的存儲(chǔ)空間和隨時(shí)隨地可靈活訪問等優(yōu)勢(shì)受到廣泛地使用.
雖然云平臺(tái)提供的按需付費(fèi)方式新穎便捷,能有效地提高工作效率.但是最新的研究[1,2]表明,大多數(shù)云設(shè)施和商業(yè)集群的資源使用率很低,比如:Twitter云平臺(tái)千臺(tái)服務(wù)器在一個(gè)月內(nèi)的總CPU使用率始終低于20%,然而預(yù)留的資源卻達(dá)到了總資源的80%[3];Google云平臺(tái)CPU平均使用率在10%~45%之間波動(dòng)[4].為了提高云平臺(tái)的資源使用率,一些研究人員改進(jìn)了云數(shù)據(jù)中心的調(diào)度算法[5],通過建立基于歷史數(shù)據(jù)的預(yù)測(cè)模型和現(xiàn)有調(diào)度模型的組合[6],預(yù)測(cè)了云數(shù)據(jù)中心任務(wù)未來的資源使用率,結(jié)果表明,云平臺(tái)任務(wù)的資源使用預(yù)測(cè)可以優(yōu)化任務(wù)的資源分配方式,降低數(shù)據(jù)中心成本,是提高云平臺(tái)性能和效率的一種有效方法[7,8].
對(duì)云平臺(tái)任務(wù)的資源使用情況的預(yù)測(cè)展開分析研究,需要大量的相關(guān)資源使用數(shù)據(jù)集,但是由于商業(yè)數(shù)據(jù)的機(jī)密性以及公司策略等原因,真實(shí)的云平臺(tái)資源使用數(shù)據(jù)集較難獲得.因此現(xiàn)有的大部分相關(guān)研究都是基于仿真數(shù)據(jù)[9]而展開的,最終的實(shí)驗(yàn)結(jié)果缺乏說服性.還有些學(xué)者針對(duì)長(zhǎng)時(shí)間運(yùn)行的服務(wù)[10]或者高性能計(jì)算負(fù)載[11]也展開過相關(guān)研究,但是真實(shí)的云計(jì)算平臺(tái)負(fù)載具有多樣性,專注于某一種類型的負(fù)載進(jìn)行研究并不能有效提高云平臺(tái)整體的資源使用率.Cortez E等人[12]于2017年對(duì)真實(shí)云平臺(tái)Microsoft Azure中的資源使用情況進(jìn)行了詳細(xì)地分析,研究表明了Microsoft Azure云平臺(tái)的低資源使用率和云平臺(tái)資源使用率的可預(yù)測(cè)性,并且使用隨機(jī)森林回歸模型預(yù)測(cè)虛擬機(jī)的資源使用量,但是性能還可以進(jìn)一步提升.還有研究人員針對(duì)云計(jì)算環(huán)境下基于用戶需求進(jìn)行預(yù)測(cè)的虛擬機(jī)節(jié)能分配方法進(jìn)行過研究[13],但是并沒有針對(duì)具體任務(wù)進(jìn)行資源預(yù)測(cè).Delimitrou C等人[10]于2014年提出離線分析工作負(fù)載的方法,先讓任務(wù)試運(yùn)行一段時(shí)間,通過推薦算法得出其可能的資源使用率,然后重新調(diào)度.實(shí)際上,離線分析是不可行的,因?yàn)樵趯?shí)際生產(chǎn)中,工作負(fù)載的輸入在任務(wù)運(yùn)行之前通常都是得不到的.Reiss C等人[11]通過對(duì)Google云平臺(tái)數(shù)據(jù)集的詳細(xì)分析,發(fā)現(xiàn)云平臺(tái)中運(yùn)行時(shí)間較長(zhǎng)的任務(wù)資源使用率具有可預(yù)測(cè)性.Yu等人[14]于2014年提出了使用BP模型預(yù)測(cè)Google云平臺(tái)任務(wù)的平均CPU使用量的方法,但是Cortez等人[12]于2017年的研究工作表明云平臺(tái)調(diào)度器分配給任務(wù)的資源量是按照用戶估計(jì)的任務(wù)最大資源使用量分配的,因此在生產(chǎn)中更需要預(yù)測(cè)的是任務(wù)的最大資源使用量.而且BP模型算法的收斂速度慢,容易陷入局部極值.Islam[15]等人提出了改進(jìn)的遞歸神經(jīng)網(wǎng)絡(luò)(RNN)的預(yù)測(cè)方法-長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM),用于識(shí)別云中的應(yīng)用程序故障.除了上面提到的研究,還有一些學(xué)者開展了任務(wù)使用模式預(yù)測(cè)[16]和預(yù)測(cè)任務(wù)的約束特征[17]等工作.T.Mehmood等人[18]把Google云平臺(tái)中任務(wù)的資源使用率分成高中低三個(gè)級(jí)別,使用分類技術(shù)對(duì)任務(wù)的資源使用率級(jí)別進(jìn)行預(yù)測(cè),但是這種分類方式是基于粗粒度的,不能有效地幫助調(diào)度器分配資源.
本節(jié)以阿里巴巴云平臺(tái)1(數(shù)據(jù)集于2017年發(fā)布)任務(wù)和Google云平臺(tái)(數(shù)據(jù)集于2012年發(fā)布[19])任務(wù)為例,詳細(xì)地分析了云平臺(tái)任務(wù)的資源使用特征.
圖1(a)描述了Google云平臺(tái)中JobId為3418309、TaskId為0的任務(wù)在連續(xù)114個(gè)小時(shí)內(nèi)的最大CPU使用率的變化情況.圖1(b)描述了Google云平臺(tái)中JobId為3418309、TaskId為1的任務(wù)在連續(xù)114個(gè)小時(shí)內(nèi)的最大CPU使用率的變化情況.從圖1可以看出,在大多數(shù)情況下,這兩個(gè)任務(wù)在某一個(gè)時(shí)間點(diǎn)的最大CPU使用率都與附近時(shí)間點(diǎn)該任務(wù)的最大CPU使用率比較接近,而且時(shí)間點(diǎn)越接近,相應(yīng)的資源使用率相差越小.在少數(shù)情況下CPU使用率也會(huì)有突變,例如圖1(a)中的任務(wù)在第104個(gè)小時(shí)的CPU使用率突然增大到第103個(gè)小時(shí)的5倍.因此僅僅通過前段時(shí)間的最大CPU使用率變化情況,并不能準(zhǔn)確預(yù)測(cè)出這種在某個(gè)時(shí)間點(diǎn)具有較大突變性的任務(wù)的資源使用率.圖1(b)中編號(hào)為1的任務(wù)的最大CPU使用率也具有較為明顯的突變性,在11個(gè)時(shí)間點(diǎn)都發(fā)生了較大的突變.因此,在預(yù)測(cè)任務(wù)未來的資源使用率時(shí),不僅僅需要考慮到附近的最大CPU使用率,還需要考慮到任務(wù)的歷史資源使用的波動(dòng)情況.
同時(shí),從圖1(a)和圖1(b)可以看出,編號(hào)為0的任務(wù)的最大CPU使用率波動(dòng)情況和編號(hào)為1的任務(wù)的最大CPU使用率波動(dòng)情況有很大不同.編號(hào)為1的任務(wù)最大CPU使用率在連續(xù)的114個(gè)小時(shí)內(nèi)的突變較為頻繁,變化的幅度時(shí)大時(shí)小.而編號(hào)為0的任務(wù)的最大CPU使用率雖然只突變了1次,CPU使用率增加的幅度卻很大.這2個(gè)任務(wù)的CPU資源使用特征差別比較大,如果采用同一種預(yù)測(cè)模型,會(huì)影響最后的預(yù)測(cè)效果.
圖1 Google云平臺(tái)中隨機(jī)抽取的2個(gè)任務(wù)的資源使用率變化Fig.1 Resource usage changes of two randomly selected tasks in Google cloud platform
圖2描述了阿里云平臺(tái)平均CPU使用率大于等于30%和平均使用率小于30%的在線服務(wù)的最大CPU使用率的累積分布函數(shù)(Cumulative Distribution Function,CDF)圖.從該圖可以得出,當(dāng)平均CPU使用率超過30%時(shí),有50%的在線服務(wù)的最大CPU使用率超過50%.當(dāng)在線服務(wù)的平均CPU使用率低于30%時(shí),有99%的在線服務(wù)的最大CPU使用率不超過40%.因此,若云平臺(tái)任務(wù)的平均CPU使用率較低,則其在整個(gè)生命周期內(nèi)的最大CPU使用率很大可能也比較低.
圖2 阿里云平臺(tái)中在線服務(wù)的最大CPU使用率和平均CPU使用率之間的關(guān)系Fig.2 Relationship of the maximum and average CPU usage of online services in Ali cloud
圖3描述了Google云平臺(tái)隨機(jī)抽取的生產(chǎn)優(yōu)先級(jí)和其他優(yōu)先級(jí)的任務(wù)在連續(xù)24小時(shí)內(nèi)的資源使用狀況(將優(yōu)先級(jí)為9-11的任務(wù)定義為生產(chǎn)優(yōu)先級(jí)任務(wù)).分析該圖發(fā)現(xiàn)生產(chǎn)優(yōu)先級(jí)任務(wù)的CPU使用率在0.2~0.3之間波動(dòng),而其他優(yōu)先級(jí)任務(wù)的CPU使用率基本低于0.1.由此可知具有不同優(yōu)先級(jí)的任務(wù)可能會(huì)具有完全不同的資源使用率.
用戶申請(qǐng)的CPU資源量都是基于對(duì)任務(wù)使用的最大資源量的估計(jì),然而任務(wù)實(shí)際使用的資源量遠(yuǎn)遠(yuǎn)低于用戶申請(qǐng)的資源量,這也是云平臺(tái)任務(wù)資源使用率低的原因之一.因此本文預(yù)測(cè)的是云平臺(tái)任務(wù)未來一個(gè)小時(shí)的最大CPU/內(nèi)存使用率(如果預(yù)測(cè)的時(shí)間段過短,由于任務(wù)的資源使用在較短時(shí)間內(nèi)可能發(fā)生較大變化,預(yù)測(cè)的結(jié)果不能有效地幫助云平臺(tái)調(diào)度器分配資源,而預(yù)測(cè)時(shí)間段過長(zhǎng),依舊會(huì)導(dǎo)致云平臺(tái)資源的浪費(fèi),因此本文預(yù)測(cè)的是任務(wù)未來1個(gè)小時(shí)的資源使用率).通過3.1節(jié)對(duì)云平臺(tái)任務(wù)資源使用特征的分析,本文提出任務(wù)資源使用預(yù)測(cè)方法REPO-TASK(REsource Prediction method fOr TASKs,REPO-TASK),如圖4所示.
圖3 Google云平臺(tái)生產(chǎn)優(yōu)先級(jí)和其他優(yōu)先級(jí)任務(wù)在連續(xù)24小時(shí)內(nèi)的CPU使用狀況Fig.3 CPU usage of tasks with production priority and other priority on Google cloud platform during 24 hours
基于云平臺(tái)多個(gè)任務(wù)的歷史資源使用信息,通過分析云平臺(tái)任務(wù)的資源使用情況提取初步任務(wù)資源使用特征,然后使用稀疏自編碼模型進(jìn)一步提取特征,接著使用K-medoids聚類方法對(duì)任務(wù)進(jìn)行聚類,并對(duì)每一個(gè)任務(wù)類別使用改進(jìn)的隨機(jī)森林回歸模型進(jìn)行訓(xùn)練,最后,基于給定的任務(wù)在最近一段時(shí)間內(nèi)的資源使用率歷史信息,就可以利用訓(xùn)練好的模型預(yù)測(cè)出該任務(wù)在未來一段時(shí)間內(nèi)的最大資源使用率.
圖4 任務(wù)最大資源使用率預(yù)測(cè)方法REPO-TASKFig.4 Prediction method REPO-TASK of tasks′ maximum resource usage
由于云平臺(tái)跟蹤數(shù)據(jù)主要是定期通過RPC遠(yuǎn)程過程調(diào)用收集,當(dāng)監(jiān)控系統(tǒng)或者主機(jī)超載時(shí),一些跟蹤數(shù)據(jù)可能會(huì)丟失,本文對(duì)這些缺失的字段采取向前填充的方法.
本文在3.1節(jié)對(duì)云平臺(tái)任務(wù)資源使用特征的分析表明任務(wù)的最大資源使用率不僅和靠近當(dāng)前時(shí)間的任務(wù)資源使用率有關(guān),還和其前段時(shí)間的資源使用波動(dòng)情況、平均資源使用率以及任務(wù)的優(yōu)先級(jí)密切相關(guān).因此本文提取了任務(wù)的平均CPU使用率、前n個(gè)小時(shí)的加權(quán)最大CPU使用率(公式(1))、最大CPU使用率公平性指數(shù)[20](公式(2))以及任務(wù)的優(yōu)先級(jí)等特征.
(1)
其中n表示選取的前n個(gè)小時(shí)的歷史資源使用率,x1、x2、…、xi分別表示按時(shí)間先后次序排列的最大CPU/內(nèi)存使用率.
(2)
其中n和xi所代表的含義和公式(1)相同.
表1即為從云平臺(tái)任務(wù)資源使用數(shù)據(jù)提取的全部特征.為了消除這些特征值的差別,使不同特征具有可比性,本文使用最大最小標(biāo)準(zhǔn)化對(duì)不同的特征進(jìn)行處理,見公式(3),其中MIN表示某個(gè)特征在所有樣本中的最小值,MAX表示某個(gè)特征在所有樣本中的最大值,x表示某個(gè)樣本的特征值,x′表示處理后的樣本特征值.
(3)
本文將在方法評(píng)估部分通過實(shí)驗(yàn)來分析所提取的(3n+3)個(gè)特征對(duì)于預(yù)測(cè)任務(wù)未來CPU/內(nèi)存使用率的重要性.
表1 云平臺(tái)任務(wù)資源提取的特征
Table 1 Features extracted from task resource
usage in cloud platform
特征編號(hào)特征內(nèi)容1連續(xù)60分鐘內(nèi)平均處理器/內(nèi)存使用率2連續(xù)60分鐘內(nèi)最大處理器使用率3連續(xù)60分鐘內(nèi)最大內(nèi)存使用率4任務(wù)的優(yōu)先級(jí)5前n個(gè)小時(shí)加權(quán)最大處理器/內(nèi)存使用率6前n個(gè)小時(shí)最大處理器/內(nèi)存使用率公平性指數(shù)
得到任務(wù)的3*(n+1)個(gè)特征后,本文采用稀疏自編碼模型進(jìn)一步提取特征.稀疏自編碼模型包含輸入層、隱含層和輸出層.輸入層到隱含層的映射關(guān)系可以看作是一個(gè)編碼過程,通過映射函數(shù)把輸出向量映射到隱含層.從隱含層到輸出層的過程相當(dāng)于一個(gè)解碼過程,把隱含層通過映射函數(shù)“重構(gòu)”輸入層.對(duì)于每一個(gè)輸入樣本,經(jīng)過自動(dòng)編碼器之后會(huì)轉(zhuǎn)化為一個(gè)對(duì)應(yīng)的輸出向量.當(dāng)自動(dòng)編碼器訓(xùn)練完成,輸入與輸出基本相同,則對(duì)應(yīng)的隱含層的輸出可以看作是輸入的一種抽象表達(dá),可以用于表示提取輸入數(shù)據(jù)的特征.
現(xiàn)已提出的用于預(yù)測(cè)云平臺(tái)任務(wù)的資源使用率預(yù)測(cè)模型有BP模型和LSTM模型.BP模型具有高度自學(xué)習(xí)和自適應(yīng)的能力,數(shù)學(xué)理論已證明其具有實(shí)現(xiàn)任何復(fù)雜非線性映射的功能,然而BP神經(jīng)網(wǎng)絡(luò)算法的收斂速度慢,容易陷入局部極值.LSTM模型是RNN模型的一個(gè)優(yōu)秀變種,非常適用于處理與時(shí)間序列高度相關(guān)的問題,但是訓(xùn)練時(shí)間過長(zhǎng),會(huì)導(dǎo)致不能及時(shí)的預(yù)測(cè)出任務(wù)的資源使用率,從而影響云平臺(tái)調(diào)度器的性能.本文針對(duì)上述問題提出了改進(jìn)的隨機(jī)森林回歸模型,改進(jìn)的隨機(jī)森林回歸模型擁有隨機(jī)森林模型[21]不容易出現(xiàn)過擬合、訓(xùn)練時(shí)間較短、預(yù)測(cè)效果好等優(yōu)點(diǎn),同時(shí)更加符合云平臺(tái)任務(wù)的資源使用特征,具有較好的預(yù)測(cè)性能.
隨機(jī)森林回歸模型使用CART回歸決策樹作為弱分類器,本文針對(duì)云平臺(tái)任務(wù)資源使用率的特征,同時(shí)保證SLA協(xié)議,對(duì)CART決策回歸樹算法改進(jìn)為算法1.
算法1.CART回歸決策樹改進(jìn)算法.
輸入:云平臺(tái)任務(wù)數(shù)據(jù)集D.
輸出:改進(jìn)的CART回歸決策樹T(x).
①遍歷數(shù)據(jù)集D上的所有特征j,遍歷每一個(gè)特征下所有可能的取值或者切分點(diǎn)s,使用切分點(diǎn)s把當(dāng)前的數(shù)據(jù)集分為R1和R2兩部分,C1和C2分別為R1和R2內(nèi)所有樣本目標(biāo)變量的算術(shù)平均值,yi為樣本xi對(duì)應(yīng)的目標(biāo)值.在云平臺(tái)中,服務(wù)提供商需要保證SLA協(xié)議,選擇最佳特征值對(duì)(j,s)分割數(shù)據(jù)集時(shí),不僅要最小化平方誤差,還要使任務(wù)的資源使用預(yù)測(cè)值不低于實(shí)際值,因此我們對(duì)最佳特征值對(duì)(j,s)的選擇方法進(jìn)行了改進(jìn),具體如公式(4)所示.
(4)
其中:
(5)
(6)
(7)
③遞歸對(duì)上述2個(gè)區(qū)域重復(fù)步驟①、②,直至每一個(gè)區(qū)域都不能再次劃分為止.
④最后可以得到M個(gè)區(qū)域R1,R2,…,RM,每個(gè)區(qū)域的輸出值分別為:c1,c2,…,cM,改進(jìn)的CART回歸決策樹模型表示為公式(8).
(8)
使用Google云平臺(tái)跟蹤數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),評(píng)估本文提出的云平臺(tái)任務(wù)最大資源使用率預(yù)測(cè)方法REPO-TASK的性能,同時(shí)驗(yàn)證本文提出的改進(jìn)的隨機(jī)森林回歸模型的有效性,最后通過實(shí)驗(yàn)評(píng)估本文提取的云平臺(tái)任務(wù)CPU使用特征的重要性.
4.1.1 實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)采用4核CPU(CPU的型號(hào)為I5-4590),內(nèi)存容量為8G(DDR3)的win7操作系統(tǒng).實(shí)驗(yàn)數(shù)據(jù)集使用2012年發(fā)布的Google云平臺(tái)跟蹤數(shù)據(jù)集,本文只使用該數(shù)據(jù)集中的Google云平臺(tái)任務(wù)資源使用數(shù)據(jù)表和任務(wù)事件表.
4.1.2 Google云平臺(tái)任務(wù)數(shù)據(jù)集
鑒于監(jiān)控Google云平臺(tái)資源使用的系統(tǒng)初期不是很穩(wěn)定,本文選擇從第18天開始的監(jiān)視數(shù)據(jù)[14].Reiss C等人[16]表明預(yù)測(cè)云平臺(tái)任務(wù)的資源使用率時(shí),調(diào)度程序可以安全地忽略運(yùn)行時(shí)間短的作業(yè),因此本文選擇運(yùn)行時(shí)間不少于18個(gè)小時(shí)的任務(wù)[14]進(jìn)行實(shí)驗(yàn).最后得到了60963個(gè)任務(wù)的資源使用率數(shù)據(jù).
準(zhǔn)確預(yù)測(cè)云平臺(tái)任務(wù)的資源使用情況對(duì)于提高云平臺(tái)資源使用率具有重要的作用.本節(jié)分別使用BP模型、LSTM模型[22]、隨機(jī)森林模型、改進(jìn)的隨機(jī)森林模型和REPO-TASK方法預(yù)測(cè)Google云平臺(tái)任務(wù)的最大CPU使用率.實(shí)驗(yàn)具體流程為:
①測(cè)試上述模型分別使用任務(wù)前多少個(gè)小時(shí)的資源使用率數(shù)據(jù)預(yù)測(cè)下一個(gè)小時(shí)的資源使用率時(shí)效果最佳.
②測(cè)試BP神經(jīng)網(wǎng)絡(luò)模型和LSTM模型的最佳學(xué)習(xí)率.
③使用步驟①得到的最佳參數(shù)在改進(jìn)的隨機(jī)森林模型上進(jìn)行實(shí)驗(yàn).
④使用REPO-TASK方法進(jìn)行實(shí)驗(yàn).
⑤比較所有模型的最終結(jié)果,得到最佳模型.
⑥使用最佳模型測(cè)試不同的特征組合對(duì)任務(wù)最大CPU使用率預(yù)測(cè)性能的影響.
任務(wù)資源使用率預(yù)測(cè)的性能使用MAE(公式(9))和云平臺(tái)任務(wù)預(yù)測(cè)性能函數(shù)PEFOT(Performance Evaluation Function fOr Tasks,PEFOT)(公式(10))進(jìn)行評(píng)估.其中,yi表示樣本i的目標(biāo)真實(shí)值,Yi表示樣本i的目標(biāo)預(yù)測(cè)值.m表示樣本總數(shù).
(9)
(10)
(11)
圖5(a)和圖5(b)分別描述了BP模型和LSTM模型使用任務(wù)前n個(gè)小時(shí)的資源使用率預(yù)測(cè)未來一個(gè)小時(shí)的最大CPU使用率時(shí)PEFOT和MAE值的變化情況(n取值情況同上).從這兩個(gè)圖可以看出,當(dāng)n取6時(shí),BP模型和LSTM模型的PEFOT值和MAE值均最小,分別為5.655,0.0066和4.8748,0.0052.
圖5 模型BP和LSTM預(yù)測(cè)時(shí)不同歷史時(shí)間段長(zhǎng)度對(duì)預(yù)測(cè)結(jié)果的影響Fig.5 Effect of different historical duration on prediction results when predicting using BP and LSTM
圖6(a)和圖6(b)分別描述了隨機(jī)森林回歸模型(RF)使用任務(wù)前n個(gè)小時(shí)的資源使用率預(yù)測(cè)未來一個(gè)小時(shí)的最大CPU使用率時(shí)PEFOT和MAE值的變化情況,橫坐標(biāo)代表小時(shí)數(shù).從這兩個(gè)圖可以看出,當(dāng)n取6時(shí),隨機(jī)森林回歸模型得到最小的PEFOT值和MAE值,分別為2.942和0.00078.
使用圖6得到的隨機(jī)森林模型的最佳歷史時(shí)間段長(zhǎng)度,然后在改進(jìn)的隨機(jī)森林回歸模型上進(jìn)行實(shí)驗(yàn),得到PEFOT和MAE值分別為1.834和0.000589.
圖6 模型RF預(yù)測(cè)時(shí)不同歷史時(shí)間段長(zhǎng)度對(duì)預(yù)測(cè)結(jié)果的影響Fig.6 Effect of different historical duration on prediction results when predicting using RF
最后使用本文提出的REPO-TASK方法進(jìn)行實(shí)驗(yàn),結(jié)果如圖7、圖8和表2所示.從圖7可以看出將所有任務(wù)聚成4類時(shí),實(shí)驗(yàn)結(jié)果最好,PEFOT和MAE值分別為1.0394和0.000492.將本文提出的方法和其它方法進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表2所示.從該表可以看出,REPO-TASK方法的預(yù)測(cè)效果最好.
圖7 REPO-TASK方法中聚類數(shù)量對(duì)預(yù)測(cè)性能的影響Fig.7 Effect of the number of classification on prediction performance when using REPO-TASK method
圖8(a)和圖8(b)分別描述了REPO-TASK方法使用不同的特征組合進(jìn)行實(shí)驗(yàn)時(shí)對(duì)應(yīng)的PEFOT值和MAE值.圖中橫坐標(biāo)代表三種不同的特征組合,特征組合1表示僅僅用任務(wù)的前6個(gè)小時(shí)的平均CPU/內(nèi)存使用率、最大CPU使用率和最大內(nèi)存使用率作為特征;特征組合2表示在特征組合1的基礎(chǔ)上添加了任務(wù)最大CPU/內(nèi)存的加權(quán)平均值和公平性指數(shù);特征組合3表示在特征組合2的基礎(chǔ)上添加了任務(wù)的優(yōu)先級(jí)特征.分析圖8(a)和圖8(b)可以得出,使用特征組合3預(yù)測(cè)任務(wù)未來一個(gè)小時(shí)最大CPU使用率效果最好.
表2 不同預(yù)測(cè)方法的PEFOT和MAE值
Table 2 Values of PEFOT and MAE when using
different prediction methods
模 型PEFOTMAEBP[14]5.6550.0066LSTM4.87480.0052隨機(jī)森林回歸模型[12]2.9420.00078改進(jìn)的隨機(jī)森林回歸模型1.83440.000589REPO-TASK方法1.03940.000492
圖8 REPO-TASK方法中不同特征組合對(duì)預(yù)測(cè)性能的影響Fig.8 Effect of different feature combinations on prediction performance when using REPO-TASK
在云計(jì)算蓬勃發(fā)展的今天,云平臺(tái)任務(wù)的資源使用率預(yù)測(cè)逐漸成為提高云平臺(tái)資源使用率的重要手段.然而云環(huán)境的不確定性、動(dòng)態(tài)性和突變型使云平臺(tái)的資源使用預(yù)測(cè)較為困難.
本文針對(duì)上述問題提出了云平臺(tái)任務(wù)未來的資源預(yù)測(cè)方法REPO-TASK,綜合了K-medoids無監(jiān)督聚類算法、稀疏自編碼模型和改進(jìn)的隨機(jī)森林回歸模型.該方法的PEFOT值相對(duì)于其他已提出的模型平均降低了3.2591.根據(jù)云平臺(tái)任務(wù)的資源使用特征改進(jìn)了隨機(jī)森林回歸模型,其PEFOT值相對(duì)于隨機(jī)森林回歸模型平均降低了1.1076.
未來準(zhǔn)備結(jié)合本文的工作,研究將工作負(fù)載分配給計(jì)算機(jī)和CPU的算法,為不同配置的計(jì)算機(jī)和CPU分配和重新調(diào)整工作負(fù)載,以實(shí)現(xiàn)更好的資源利用和可接受的資源爭(zhēng)用.