汪佳禎,遲煥醒,王木涵,史雙田
(中國石油大學(xué)(華東)計(jì)算機(jī)與通信工程學(xué)院,青島 266000)
基于性能感知預(yù)測的云服務(wù)推薦模型①
汪佳禎,遲煥醒,王木涵,史雙田
(中國石油大學(xué)(華東)計(jì)算機(jī)與通信工程學(xué)院,青島 266000)
互聯(lián)網(wǎng)上出現(xiàn)越來越多的云服務(wù),面對種類繁多的云服務(wù),如何準(zhǔn)確地在眾多云服務(wù)中把符合用戶需求并且性能好價(jià)格低的服務(wù)推薦給用戶成為云服務(wù)推薦的研究熱點(diǎn).現(xiàn)有的服務(wù)推薦方法往往只是根據(jù)當(dāng)前云服務(wù)的歷史性能記錄為用戶進(jìn)行推薦,并沒有充分考慮云服務(wù)的性能趨勢.針對上述問題,本文提出了一種基于性能預(yù)測的服務(wù)推薦模型,該模型利用共軛梯度改進(jìn)人工神經(jīng)網(wǎng)絡(luò)對云服務(wù)的性能進(jìn)行預(yù)測,使用層次分析法對性能,價(jià)格等因素進(jìn)行綜合比較計(jì)算,最終為用戶推薦最為合適的云服務(wù).實(shí)驗(yàn)結(jié)果表明,使用改進(jìn)神經(jīng)網(wǎng)絡(luò)對服務(wù)性能進(jìn)行預(yù)測能夠獲得較高的準(zhǔn)確度,層次分析法可以綜合考慮服務(wù)的性能與價(jià)格,為用戶推薦最為合適的云服務(wù).
云服務(wù);性能感知;神經(jīng)網(wǎng)絡(luò);層次分析法
目前,云服務(wù)以其“按需使用”的方式降低信息處理和存儲(chǔ)投資為廣大中小型企業(yè)所歡迎,這意味著計(jì)算能力也可以作為一種商品通過互聯(lián)網(wǎng)進(jìn)行流通[1].隨著云服務(wù)的發(fā)展,越來越多的用戶也開始使用云服務(wù).用戶在使用云服務(wù)時(shí),不僅關(guān)注服務(wù)的功能,同時(shí)也關(guān)注服務(wù)的性能及價(jià)格等問題.例如在IaaS基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service)中,服務(wù)提供商會(huì)根據(jù)用戶提出的不同服務(wù)性能需求進(jìn)行收費(fèi).在進(jìn)行云服務(wù)推薦時(shí),主要根據(jù)云服務(wù)的性能進(jìn)行推薦,同時(shí)也適當(dāng)考慮價(jià)格因素對推薦結(jié)果的影響.
已有的云服務(wù)推薦方法在處理服務(wù)性能時(shí),會(huì)根據(jù)服務(wù)注冊中心的數(shù)據(jù)進(jìn)行推薦[2],并沒有考慮到服務(wù)性能的動(dòng)態(tài)變化.例如云服務(wù)A性能比較高,服務(wù)推薦系統(tǒng)會(huì)推薦用戶使用該云服務(wù),那么隨著用戶的增多,該服務(wù)的性能會(huì)顯著下降;如果繼續(xù)向該服務(wù)推薦用戶則會(huì)造成后續(xù)用戶的使用體檢降低.現(xiàn)有的云服務(wù)推薦系統(tǒng)并沒有考慮到云服務(wù)的性能由于使用該服務(wù)的用戶數(shù)量變化而引起服務(wù)性能的變化.針對該問題本文提出了基于性能預(yù)測的服務(wù)推薦模型,該模型首先利用改進(jìn)神經(jīng)網(wǎng)絡(luò)對服務(wù)性能進(jìn)行預(yù)測,其次通過層次分析法計(jì)算出性價(jià)比最高的服務(wù)推薦給用戶.
本文安排如下:第二節(jié)提出基于性能預(yù)測的云服務(wù)推薦模型,對模型中的各個(gè)部分進(jìn)行說明,介紹了每一部分在服務(wù)推薦計(jì)算中的作用及步驟;第三節(jié)針對模型中的關(guān)鍵部分及關(guān)鍵算法進(jìn)行相關(guān)實(shí)驗(yàn);第四節(jié)分析實(shí)驗(yàn)結(jié)果,驗(yàn)證本文提出的方法的有效性.第五節(jié)對本文推薦方法進(jìn)行總結(jié);第六節(jié)總結(jié)本文工作并對后續(xù)工作進(jìn)行了展望.
2.1 用戶及服務(wù)數(shù)據(jù)收集
對用戶及服務(wù)數(shù)據(jù)進(jìn)行收集是性能預(yù)測的前提[3].對用戶數(shù)據(jù)的收集包括用戶端的監(jiān)測數(shù)據(jù):響應(yīng)時(shí)間,花費(fèi)等;對服務(wù)的數(shù)據(jù)主要包括服務(wù)端CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)吞吐量的的運(yùn)行情況及用戶數(shù)量等信息.通過獲取這些數(shù)據(jù),可以分析出服務(wù)使用數(shù)量與服務(wù)性能之間的關(guān)系,從而為服務(wù)推薦提供參考.
2.2 基于性能感知的服務(wù)推薦模型
云服務(wù)性能指的是一個(gè)云服務(wù)響應(yīng)處理用戶請求的能力[4].在基于性能感知的服務(wù)推薦模型中,用戶根據(jù)自身需求提出服務(wù)申請,服務(wù)資源計(jì)算模塊計(jì)算所需服務(wù)資源;服務(wù)資源列表中存儲(chǔ)各個(gè)服務(wù)的實(shí)時(shí)資源狀態(tài)用于性能預(yù)測;性能預(yù)測模塊預(yù)測服務(wù)性能并將結(jié)果交予層次分析系統(tǒng);層次分析系統(tǒng)給出服務(wù)推薦序列,同時(shí)更新服務(wù)資源列表.圖1為基于性能感知的云服務(wù)推薦模型的結(jié)構(gòu)圖.
圖1 基于性能感知的云服務(wù)推薦模型
該模型主要包括三個(gè)部分:
1)服務(wù)資源列表.以4元組的形式存儲(chǔ)存儲(chǔ)服務(wù)資源使用剩余情況,格式為:
2)性能預(yù)測:根據(jù)歷史記錄訓(xùn)練改進(jìn)BP神經(jīng)網(wǎng)絡(luò),根據(jù)服務(wù)資源剩余進(jìn)行性能預(yù)測并將預(yù)測結(jié)果交予服務(wù)計(jì)算推薦模塊.
3)服務(wù)推薦計(jì)算:利用層次分析法,通過性能構(gòu)造比較矩陣并計(jì)算權(quán)重,得到服務(wù)推薦優(yōu)先級列表并為用戶推薦.
2.3 改進(jìn)神經(jīng)網(wǎng)絡(luò)算法
服務(wù)的性能主要與服務(wù)資源有關(guān)(CPU,內(nèi)存,帶寬等),由于性能與資源之間的關(guān)系是非線性的[5],難以建立一個(gè)確定的映射關(guān)系,而神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)在于能夠利用已有的歷史數(shù)據(jù)不斷訓(xùn)練調(diào)整,可以滿足預(yù)測要求,預(yù)測結(jié)果夠最大程度接近實(shí)際情況.除上述優(yōu)點(diǎn)外,神經(jīng)網(wǎng)絡(luò)也有自身缺點(diǎn):可能陷入局部最小、訓(xùn)練時(shí)間長、網(wǎng)絡(luò)冗余大.為了減少訓(xùn)練時(shí)間,提高訓(xùn)練精度,本文采用共軛梯度法來優(yōu)化神經(jīng)網(wǎng)絡(luò).模型拓?fù)浣Y(jié)構(gòu)包括輸入層(input),隱層(hide layer)和輸出層(output layer),如圖2所示.
圖2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
在輸入層,輸入?yún)?shù)分別為CPU使用率(%),網(wǎng)絡(luò)帶寬(Mb),內(nèi)存大小(GB)以及硬盤大小(GB),輸出為響應(yīng)時(shí)間(S),服務(wù)調(diào)用成功率(%),傳輸速率(Kb/s),隱含層數(shù)為3層.
使用共軛梯度法改進(jìn)后的神經(jīng)網(wǎng)絡(luò)搜索方向?yàn)樯弦淮嗡阉鞣较蚺c負(fù)梯度方向共軛方向.
設(shè)g0為梯度方向,p0為它的負(fù)方向,有:
選取共軛方向作為新的搜索方向,在當(dāng)前梯度的負(fù)方向上增加一次搜索方向:
對于修正系數(shù)的選取步驟如下:
2)令k循環(huán)自增,有
3)對尺度做調(diào)整
4)計(jì)算評價(jià)參數(shù)
2.4 服務(wù)推薦計(jì)算
層次分析法把研究對象作為一個(gè)系統(tǒng),按照分解,比較判斷,綜合的思維方式進(jìn)行決策,是系統(tǒng)分析的重要工具,非常適合解決多目標(biāo)決策問題[6],因此本文選定該方法解決服務(wù)推薦問題.
2.4.1 層次分析法在服務(wù)推薦計(jì)算中的步驟
1)建立層次模型結(jié)構(gòu):目標(biāo)層為最優(yōu)服務(wù);準(zhǔn)則層為服務(wù)性能指標(biāo):響應(yīng)時(shí)間,傳輸速率,服務(wù)調(diào)用成功率,價(jià)格;方案層為備選服務(wù),構(gòu)造層次模型如圖3.
2)構(gòu)造比較矩陣:若服務(wù)性能指標(biāo)數(shù)為i,那么備選服務(wù)對應(yīng)服務(wù)性能指標(biāo)的比較矩陣有i個(gè),分別每個(gè)比較矩陣大小為j(j是備選服務(wù)數(shù)).對應(yīng)的是服務(wù)性能指標(biāo)r,那么Ar的最大特征值對應(yīng)的歸一化特征向量就是全體備選服務(wù)相對于服務(wù)性能指標(biāo) r的權(quán)重向量,那么權(quán)重矩陣就是全體備選服務(wù)在全體服務(wù)指標(biāo)下的權(quán)重向量集合.
圖3 層次模型圖
3)計(jì)算單排序權(quán)向量并做一致性檢驗(yàn); 4)計(jì)算總排序權(quán)向量并做一致性檢驗(yàn);
5)根據(jù)服務(wù)性能指標(biāo)的權(quán)重向量Wj和備選服務(wù)的權(quán)重矩陣WAll,得到備選服務(wù)的綜合值最終推薦值最大的服務(wù)Maxwj
2.4.2 服務(wù)推薦實(shí)例
服務(wù)1:調(diào)用成功率94%;平均響應(yīng)時(shí)間4.141秒;傳輸速率0.985Mbps,收費(fèi)0.33元/時(shí)
服務(wù)2:調(diào)用成功率99.2%;平均響應(yīng)時(shí)間11.043秒;傳輸速率0.209Mbps,收費(fèi)0.51元/時(shí)
服務(wù)3:調(diào)用成功率99.2%;平均響應(yīng)時(shí)間2.9秒;傳輸速率0.02Mbps,收費(fèi)0.4元/時(shí)構(gòu)造比較矩陣:通過計(jì)算我們求 得 這 個(gè) 矩 陣 的 最 大 特 征 值查閱數(shù)據(jù)可知該四階矩陣對應(yīng)RI=0.90.判斷矩陣一致性通過檢驗(yàn) ,對 應(yīng) 歸 一 化 權(quán) 重向 量 為 WT={-0.1515, 0.0983,0.4366,-0.3136}(考慮到響應(yīng)時(shí)間,費(fèi)用越小越好)
3.1 實(shí)驗(yàn)準(zhǔn)備
為了檢驗(yàn)本文中改進(jìn)神經(jīng)網(wǎng)絡(luò)算法對服務(wù)性能預(yù)測的準(zhǔn)確性,本實(shí)驗(yàn)通過在亞馬遜彈性計(jì)算云(Amazon elastic computer cloud,Amazon EC2)上運(yùn)行SEPCWeb2009軟件,監(jiān)測EC2運(yùn)行的CUP使用率等服務(wù)性能變化情況.SEPCWeb2009是由標(biāo)準(zhǔn)性能評估公 司 (Standard Performance Evaluation Corpiration, SPEC)開發(fā)的軟件基準(zhǔn)測試軟件,用于測試Web服務(wù)器的靜態(tài)和動(dòng)態(tài)頁面響應(yīng)能力.本文選擇激活函數(shù)為purelin函數(shù),訓(xùn)練函數(shù)trainlm函數(shù),訓(xùn)練目標(biāo)誤差0.000001,最大迭代次數(shù)5000,學(xué)習(xí)率0.1.
3.2 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練與驗(yàn)證
一共進(jìn)行1000組測試,選取前900組對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,取最后100組作對照試驗(yàn).試驗(yàn)結(jié)果如圖4-圖6所示.
圖4 服務(wù)調(diào)用成功率預(yù)測對比圖
圖5 傳輸速率預(yù)測對比圖
圖5 是傳輸速率的預(yù)測結(jié)果,左圖是實(shí)際預(yù)測傳輸速率和期望預(yù)測傳輸速率的對比圖,右圖為預(yù)測誤差.
圖6 響應(yīng)時(shí)間預(yù)測對比圖
圖6 是響應(yīng)時(shí)間的預(yù)測結(jié)果,左圖是實(shí)際預(yù)測響應(yīng)時(shí)間和期望預(yù)測響應(yīng)時(shí)間的對比圖,右圖為預(yù)測誤差.
3.3 層次分析法效果驗(yàn)證
本文在4臺(tái)電腦上各自部署一個(gè)服務(wù),同一個(gè)用戶申請8次相同服務(wù),對服務(wù)性能進(jìn)行預(yù)測后利用層次分析法計(jì)算推薦優(yōu)先級隊(duì)列,情況如下:
服務(wù)1共推薦3次,服務(wù)2推薦2次,服務(wù)3推薦2次,服務(wù)4推薦1次,服務(wù)推薦隊(duì)列變化情況的發(fā)生是由于服務(wù)性能隨著用戶的使用而不斷變化,實(shí)驗(yàn)證明該方法可以根據(jù)服務(wù)資源變化而導(dǎo)致服務(wù)性能波動(dòng)的情況為用戶推薦出當(dāng)前狀態(tài)下最優(yōu)的服務(wù),從而避免因?yàn)橥扑]用戶過多而導(dǎo)致服務(wù)性能下降,用戶使用體驗(yàn)降低情況的發(fā)生,有效提高使用體驗(yàn);同時(shí),層次分析法還將性能與價(jià)格結(jié)合在一起計(jì)算,符合云服務(wù)推薦的要求.
通過上述實(shí)驗(yàn)我們可以發(fā)現(xiàn),使用改進(jìn)神經(jīng)網(wǎng)絡(luò)對服務(wù)性能進(jìn)行預(yù)測,誤差波動(dòng)范圍比較小,在實(shí)際應(yīng)用中增加訓(xùn)練樣本的數(shù)量還可以進(jìn)一步提高預(yù)測精度,該實(shí)驗(yàn)結(jié)果證明該方法可以用來對服務(wù)性能進(jìn)行預(yù)測.
層次分析法在模擬服務(wù)推薦時(shí),當(dāng)有新的用戶被推薦至某服務(wù),服務(wù)推薦隊(duì)列隨之發(fā)生變化,證明該方法可以在服務(wù)推薦計(jì)算時(shí)有效考慮服務(wù)性能的波動(dòng),動(dòng)態(tài)向用戶推薦服務(wù),從而避免服務(wù)性能下降而導(dǎo)致用戶使用體驗(yàn)降低情況的發(fā)生.
綜上,本文提出的基于性能預(yù)測的云服務(wù)推薦模型可以對云服務(wù)性能進(jìn)行準(zhǔn)確預(yù)測,并根據(jù)預(yù)測結(jié)果為用戶進(jìn)行云服務(wù)推薦.
目前,針對云服務(wù)推薦問題國內(nèi)外學(xué)者展開了深入研究,并取得了一定成果.文獻(xiàn)[7]針對服務(wù)推薦過程中性能預(yù)測不準(zhǔn)確的問題,通過使用排隊(duì)論的方法建立服務(wù)性能預(yù)測模型以此來預(yù)測性能,提出一種優(yōu)化的性能預(yù)測模型.但是該模型主要考慮CPU與性能的關(guān)系而忽略網(wǎng)絡(luò)、帶寬以及硬盤等對于服務(wù)性能的影響.
文獻(xiàn)[8]使用相似度計(jì)算來計(jì)算各服務(wù)的性能,根據(jù)結(jié)果為用戶進(jìn)行服務(wù)推薦.該方法使用相似度系數(shù)用于描述數(shù)據(jù)性能之間的線性相關(guān)關(guān)系,在實(shí)際并不能很好地解釋客觀性能數(shù)據(jù)之間的相似性.
文獻(xiàn)[9]提出云服務(wù)選擇框架,該框架根據(jù)候選服務(wù)的服務(wù)質(zhì)量及虛擬機(jī)的模擬參數(shù)做為參考為用戶進(jìn)行云服務(wù)推薦.該方法只是根據(jù)服務(wù)注冊信息進(jìn)行模擬計(jì)算推薦,并沒有考慮到性能的動(dòng)態(tài)變化情況.文獻(xiàn)[10]提出一種基于信任的云服務(wù)推薦系統(tǒng),該系統(tǒng)分別計(jì)算云服務(wù)的直接和推薦信任度,根據(jù)信任度的計(jì)算結(jié)果為用戶推薦最可信的服務(wù).
上述研究在進(jìn)行云服務(wù)推薦時(shí)都根據(jù)性能預(yù)測結(jié)果為用戶進(jìn)行服務(wù)推薦[11],但是并沒有考慮到服務(wù)性能變化的動(dòng)態(tài)性,使用上述推薦系統(tǒng)會(huì)出現(xiàn)由于用戶增加而導(dǎo)致的服務(wù)性能嚴(yán)重下降情況的發(fā)生(服務(wù)調(diào)用丟失率高,響應(yīng)時(shí)間長,傳輸速率慢等).針對現(xiàn)有推薦模型的不足,本文使用通過共軛梯度法改進(jìn)后的神經(jīng)網(wǎng)絡(luò)來動(dòng)態(tài)預(yù)測服務(wù)性能;在進(jìn)行服務(wù)推薦時(shí),綜合考慮多種因素,使用權(quán)重向量來代表每一個(gè)具體影響因素,向量的不同值代表不同因素對于推薦的影響程度[12].
本文針對服務(wù)性能動(dòng)態(tài)變化的問題,提出一種基于性能感知預(yù)測的云服務(wù)推薦模型,該模型使用改進(jìn)人工神經(jīng)網(wǎng)絡(luò)對服務(wù)性能進(jìn)行預(yù)測,采用層次分析法計(jì)算推薦優(yōu)先級.通過試驗(yàn)證明人工神經(jīng)網(wǎng)絡(luò)預(yù)測法對于不同資源環(huán)境下的服務(wù)性能有較高的預(yù)測準(zhǔn)確率,層次分析法可以根據(jù)服務(wù)性能變化而改變服務(wù)推薦優(yōu)先級.本文主要不足是在層次分析法中構(gòu)建權(quán)重矩陣時(shí),各因素的權(quán)重向量值的確定方法相對固定,沒有根據(jù)每個(gè)用戶的實(shí)際偏好量身定制,這是后面工作應(yīng)解決的問題.
1 Gmbh ICE.Cloud-Managed Wi-Fi Market to Reach$2.5 Billion by 2018,IDC Says.Wifi Wlan,2014.
2 Garcia DF,Garcia J,Entrialgo J,et al.A QoS control mechanism to provide service differentiation and overload protection to Internet scalable servers.IEEE Trans.on Services Computing,2009,2(1):3–16.
3 Tsesmetzis D,Roussaki I,Sykas E.QoS-aware service evaluation and selection.European Journal of Operational Research,2008,191(3):1101–1112.
4 Jiang D,Pierre G,Chi CH.Autonomous resource provisioning for multi-service web applications.International Conference on World Wide Web,WWW 2010.Raleigh,North Carolina, USA.April,2010.471–480.
5 Lorenzi L,Mercier G,Melgani F.Support vector regression with kernel combination for missing data reconstruction. IEEE Geoscience&Remote Sensing Letters,2013,10(2): 367–371.
6 Shao L,Zhang J,Wei Y,et al.Personalized QoS prediction for Web services via collaborative filtering.IEEE International Conference on Web Services.2007.439–446.
7 Han SM,Hassan M,Yoon CW,et al.Efficient service recommendation system forcloud computing market. International Conference on Interaction Sciences: Information Technology,Culture and Human.ACM.2009. 839–845.
8 Zeng L,Benatallah B,Dumas M,et al.Quality driven web services composition.Proc.ofthe 12th International Conference on World Wide Web.ACM.2003.411–421.
9 K?ksalan M,Zionts S.Multiple criteria decision making in thenew millennium.LectureNotesinEconomics& Mathematical Systems,2001,31(5):358.
10 Yao X,Liu Y.A new evolutionary system for evolving artificial neural networks.IEEE Trans.on Neural Networks, 1997,8(3):694–713.
11 Kong D,Zhai Y.Trust based recommendation system in service-oriented cloud computing.International Conference on Cloud and Service Computing.2012.176–179.
12 Kant K,Won Y.Server capacity planning for web traffic workload.IEEE Trans.on Knowledge&Data Engineering, 1999,11(5):731–747.
Cloud Service Recommendation Model Based on Performance Prediction
WANG Jia-Zhen,CHI Huan-Xing,WANG Mu-Han,SHI Shuang-Tian
(School of Computer&Communication Engineering,China University of Petroleum,Qingdao 266580,China)
Agrowing number of cloud services have emerged on the Internet.In the face of a wide variety of cloud services, how to recommend high quality and low price service meeting the users’requirements to the user accurately has become a focus in cloud service recommendation field.Currently,many services recommendation methods are often just based on the current service status without taking into account the performance trend of cloud service.For this reason,this paper proposes a services recommendation model based on performance prediction.The model uses improved artificial neural network based on conjugate gradient to predict the performance of cloud services.Factors such as performance and prices can be compared and calculated by using AHP(Analytic Hierarchy Process),and then the most suitable cloud service would be recommended to the users.The experimental results show that the prediction accuracy would be higher by using improved neural network predicting service performance method,and AHP can recommend the most suitable service to the user according to comprehensively considering the performance and price of services.
cloud service;performance aware perception;neural network;analytic hierarchy process
2016-09-01;收到修改稿時(shí)間:2016-10-10
10.15888/j.cnki.csa.005755