汪佳禎,遲煥醒,王木涵,史雙田
(中國(guó)石油大學(xué)(華東)計(jì)算機(jī)與通信工程學(xué)院,青島 266000)
基于性能感知預(yù)測(cè)的云服務(wù)推薦模型①
汪佳禎,遲煥醒,王木涵,史雙田
(中國(guó)石油大學(xué)(華東)計(jì)算機(jī)與通信工程學(xué)院,青島 266000)
互聯(lián)網(wǎng)上出現(xiàn)越來(lái)越多的云服務(wù),面對(duì)種類(lèi)繁多的云服務(wù),如何準(zhǔn)確地在眾多云服務(wù)中把符合用戶需求并且性能好價(jià)格低的服務(wù)推薦給用戶成為云服務(wù)推薦的研究熱點(diǎn).現(xiàn)有的服務(wù)推薦方法往往只是根據(jù)當(dāng)前云服務(wù)的歷史性能記錄為用戶進(jìn)行推薦,并沒(méi)有充分考慮云服務(wù)的性能趨勢(shì).針對(duì)上述問(wèn)題,本文提出了一種基于性能預(yù)測(cè)的服務(wù)推薦模型,該模型利用共軛梯度改進(jìn)人工神經(jīng)網(wǎng)絡(luò)對(duì)云服務(wù)的性能進(jìn)行預(yù)測(cè),使用層次分析法對(duì)性能,價(jià)格等因素進(jìn)行綜合比較計(jì)算,最終為用戶推薦最為合適的云服務(wù).實(shí)驗(yàn)結(jié)果表明,使用改進(jìn)神經(jīng)網(wǎng)絡(luò)對(duì)服務(wù)性能進(jìn)行預(yù)測(cè)能夠獲得較高的準(zhǔn)確度,層次分析法可以綜合考慮服務(wù)的性能與價(jià)格,為用戶推薦最為合適的云服務(wù).
云服務(wù);性能感知;神經(jīng)網(wǎng)絡(luò);層次分析法
目前,云服務(wù)以其“按需使用”的方式降低信息處理和存儲(chǔ)投資為廣大中小型企業(yè)所歡迎,這意味著計(jì)算能力也可以作為一種商品通過(guò)互聯(lián)網(wǎng)進(jìn)行流通[1].隨著云服務(wù)的發(fā)展,越來(lái)越多的用戶也開(kāi)始使用云服務(wù).用戶在使用云服務(wù)時(shí),不僅關(guān)注服務(wù)的功能,同時(shí)也關(guān)注服務(wù)的性能及價(jià)格等問(wèn)題.例如在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à)格因素對(duì)推薦結(jié)果的影響.
已有的云服務(wù)推薦方法在處理服務(wù)性能時(shí),會(huì)根據(jù)服務(wù)注冊(cè)中心的數(shù)據(jù)進(jìn)行推薦[2],并沒(méi)有考慮到服務(wù)性能的動(dòng)態(tài)變化.例如云服務(wù)A性能比較高,服務(wù)推薦系統(tǒng)會(huì)推薦用戶使用該云服務(wù),那么隨著用戶的增多,該服務(wù)的性能會(huì)顯著下降;如果繼續(xù)向該服務(wù)推薦用戶則會(huì)造成后續(xù)用戶的使用體檢降低.現(xiàn)有的云服務(wù)推薦系統(tǒng)并沒(méi)有考慮到云服務(wù)的性能由于使用該服務(wù)的用戶數(shù)量變化而引起服務(wù)性能的變化.針對(duì)該問(wèn)題本文提出了基于性能預(yù)測(cè)的服務(wù)推薦模型,該模型首先利用改進(jìn)神經(jīng)網(wǎng)絡(luò)對(duì)服務(wù)性能進(jìn)行預(yù)測(cè),其次通過(guò)層次分析法計(jì)算出性價(jià)比最高的服務(wù)推薦給用戶.
本文安排如下:第二節(jié)提出基于性能預(yù)測(cè)的云服務(wù)推薦模型,對(duì)模型中的各個(gè)部分進(jìn)行說(shuō)明,介紹了每一部分在服務(wù)推薦計(jì)算中的作用及步驟;第三節(jié)針對(duì)模型中的關(guān)鍵部分及關(guān)鍵算法進(jìn)行相關(guān)實(shí)驗(yàn);第四節(jié)分析實(shí)驗(yàn)結(jié)果,驗(yàn)證本文提出的方法的有效性.第五節(jié)對(duì)本文推薦方法進(jìn)行總結(jié);第六節(jié)總結(jié)本文工作并對(duì)后續(xù)工作進(jìn)行了展望.
2.1 用戶及服務(wù)數(shù)據(jù)收集
對(duì)用戶及服務(wù)數(shù)據(jù)進(jìn)行收集是性能預(yù)測(cè)的前提[3].對(duì)用戶數(shù)據(jù)的收集包括用戶端的監(jiān)測(cè)數(shù)據(jù):響應(yīng)時(shí)間,花費(fèi)等;對(duì)服務(wù)的數(shù)據(jù)主要包括服務(wù)端CPU、內(nèi)存、硬盤(pán)、網(wǎng)絡(luò)吞吐量的的運(yùn)行情況及用戶數(shù)量等信息.通過(guò)獲取這些數(shù)據(jù),可以分析出服務(wù)使用數(shù)量與服務(wù)性能之間的關(guān)系,從而為服務(wù)推薦提供參考.
2.2 基于性能感知的服務(wù)推薦模型
云服務(wù)性能指的是一個(gè)云服務(wù)響應(yīng)處理用戶請(qǐng)求的能力[4].在基于性能感知的服務(wù)推薦模型中,用戶根據(jù)自身需求提出服務(wù)申請(qǐng),服務(wù)資源計(jì)算模塊計(jì)算所需服務(wù)資源;服務(wù)資源列表中存儲(chǔ)各個(gè)服務(wù)的實(shí)時(shí)資源狀態(tài)用于性能預(yù)測(cè);性能預(yù)測(cè)模塊預(yù)測(cè)服務(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ù)測(cè):根據(jù)歷史記錄訓(xùn)練改進(jìn)BP神經(jīng)網(wǎng)絡(luò),根據(jù)服務(wù)資源剩余進(jìn)行性能預(yù)測(cè)并將預(yù)測(cè)結(jié)果交予服務(wù)計(jì)算推薦模塊.
3)服務(wù)推薦計(jì)算:利用層次分析法,通過(guò)性能構(gòu)造比較矩陣并計(jì)算權(quán)重,得到服務(wù)推薦優(yōu)先級(jí)列表并為用戶推薦.
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ù)測(cè)要求,預(yù)測(cè)結(jié)果夠最大程度接近實(shí)際情況.除上述優(yōu)點(diǎn)外,神經(jīng)網(wǎng)絡(luò)也有自身缺點(diǎn):可能陷入局部最小、訓(xùn)練時(shí)間長(zhǎng)、網(wǎng)絡(luò)冗余大.為了減少訓(xùn)練時(shí)間,提高訓(xùn)練精度,本文采用共軛梯度法來(lái)優(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)以及硬盤(pán)大小(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ù)方向上增加一次搜索方向:
對(duì)于修正系數(shù)的選取步驟如下:
2)令k循環(huán)自增,有
3)對(duì)尺度做調(diào)整
4)計(jì)算評(píng)價(jià)參數(shù)
2.4 服務(wù)推薦計(jì)算
層次分析法把研究對(duì)象作為一個(gè)系統(tǒng),按照分解,比較判斷,綜合的思維方式進(jìn)行決策,是系統(tǒng)分析的重要工具,非常適合解決多目標(biāo)決策問(wèn)題[6],因此本文選定該方法解決服務(wù)推薦問(wèn)題.
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ù)對(duì)應(yīng)服務(wù)性能指標(biāo)的比較矩陣有i個(gè),分別每個(gè)比較矩陣大小為j(j是備選服務(wù)數(shù)).對(duì)應(yīng)的是服務(wù)性能指標(biāo)r,那么Ar的最大特征值對(duì)應(yīng)的歸一化特征向量就是全體備選服務(wù)相對(duì)于服務(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)造比較矩陣:通過(guò)計(jì)算我們求 得 這 個(gè) 矩 陣 的 最 大 特 征 值查閱數(shù)據(jù)可知該四階矩陣對(duì)應(yīng)RI=0.90.判斷矩陣一致性通過(guò)檢驗(yàn) ,對(duì) 應(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ò)算法對(duì)服務(wù)性能預(yù)測(cè)的準(zhǔn)確性,本實(shí)驗(yàn)通過(guò)在亞馬遜彈性計(jì)算云(Amazon elastic computer cloud,Amazon EC2)上運(yùn)行SEPCWeb2009軟件,監(jiān)測(cè)EC2運(yùn)行的CUP使用率等服務(wù)性能變化情況.SEPCWeb2009是由標(biāo)準(zhǔn)性能評(píng)估公 司 (Standard Performance Evaluation Corpiration, SPEC)開(kāi)發(fā)的軟件基準(zhǔn)測(cè)試軟件,用于測(cè)試Web服務(wù)器的靜態(tài)和動(dòng)態(tài)頁(yè)面響應(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組測(cè)試,選取前900組對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,取最后100組作對(duì)照試驗(yàn).試驗(yàn)結(jié)果如圖4-圖6所示.
圖4 服務(wù)調(diào)用成功率預(yù)測(cè)對(duì)比圖
圖5 傳輸速率預(yù)測(cè)對(duì)比圖
圖5 是傳輸速率的預(yù)測(cè)結(jié)果,左圖是實(shí)際預(yù)測(cè)傳輸速率和期望預(yù)測(cè)傳輸速率的對(duì)比圖,右圖為預(yù)測(cè)誤差.
圖6 響應(yīng)時(shí)間預(yù)測(cè)對(duì)比圖
圖6 是響應(yīng)時(shí)間的預(yù)測(cè)結(jié)果,左圖是實(shí)際預(yù)測(cè)響應(yīng)時(shí)間和期望預(yù)測(cè)響應(yīng)時(shí)間的對(duì)比圖,右圖為預(yù)測(cè)誤差.
3.3 層次分析法效果驗(yàn)證
本文在4臺(tái)電腦上各自部署一個(gè)服務(wù),同一個(gè)用戶申請(qǐng)8次相同服務(wù),對(duì)服務(wù)性能進(jìn)行預(yù)測(cè)后利用層次分析法計(jì)算推薦優(yōu)先級(jí)隊(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)橥扑]用戶過(guò)多而導(dǎo)致服務(wù)性能下降,用戶使用體驗(yàn)降低情況的發(fā)生,有效提高使用體驗(yàn);同時(shí),層次分析法還將性能與價(jià)格結(jié)合在一起計(jì)算,符合云服務(wù)推薦的要求.
通過(guò)上述實(shí)驗(yàn)我們可以發(fā)現(xiàn),使用改進(jìn)神經(jīng)網(wǎng)絡(luò)對(duì)服務(wù)性能進(jìn)行預(yù)測(cè),誤差波動(dòng)范圍比較小,在實(shí)際應(yīng)用中增加訓(xùn)練樣本的數(shù)量還可以進(jìn)一步提高預(yù)測(cè)精度,該實(shí)驗(yàn)結(jié)果證明該方法可以用來(lái)對(duì)服務(wù)性能進(jìn)行預(yù)測(cè).
層次分析法在模擬服務(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ù)測(cè)的云服務(wù)推薦模型可以對(duì)云服務(wù)性能進(jìn)行準(zhǔn)確預(yù)測(cè),并根據(jù)預(yù)測(cè)結(jié)果為用戶進(jìn)行云服務(wù)推薦.
目前,針對(duì)云服務(wù)推薦問(wèn)題國(guó)內(nèi)外學(xué)者展開(kāi)了深入研究,并取得了一定成果.文獻(xiàn)[7]針對(duì)服務(wù)推薦過(guò)程中性能預(yù)測(cè)不準(zhǔn)確的問(wèn)題,通過(guò)使用排隊(duì)論的方法建立服務(wù)性能預(yù)測(cè)模型以此來(lái)預(yù)測(cè)性能,提出一種優(yōu)化的性能預(yù)測(cè)模型.但是該模型主要考慮CPU與性能的關(guān)系而忽略網(wǎng)絡(luò)、帶寬以及硬盤(pán)等對(duì)于服務(wù)性能的影響.
文獻(xiàn)[8]使用相似度計(jì)算來(lái)計(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ù)注冊(cè)信息進(jìn)行模擬計(jì)算推薦,并沒(méi)有考慮到性能的動(dòng)態(tài)變化情況.文獻(xiàn)[10]提出一種基于信任的云服務(wù)推薦系統(tǒng),該系統(tǒng)分別計(jì)算云服務(wù)的直接和推薦信任度,根據(jù)信任度的計(jì)算結(jié)果為用戶推薦最可信的服務(wù).
上述研究在進(jìn)行云服務(wù)推薦時(shí)都根據(jù)性能預(yù)測(cè)結(jié)果為用戶進(jìn)行服務(wù)推薦[11],但是并沒(méi)有考慮到服務(wù)性能變化的動(dòng)態(tài)性,使用上述推薦系統(tǒng)會(huì)出現(xiàn)由于用戶增加而導(dǎo)致的服務(wù)性能?chē)?yán)重下降情況的發(fā)生(服務(wù)調(diào)用丟失率高,響應(yīng)時(shí)間長(zhǎng),傳輸速率慢等).針對(duì)現(xiàn)有推薦模型的不足,本文使用通過(guò)共軛梯度法改進(jìn)后的神經(jīng)網(wǎng)絡(luò)來(lái)動(dòng)態(tài)預(yù)測(cè)服務(wù)性能;在進(jìn)行服務(wù)推薦時(shí),綜合考慮多種因素,使用權(quán)重向量來(lái)代表每一個(gè)具體影響因素,向量的不同值代表不同因素對(duì)于推薦的影響程度[12].
本文針對(duì)服務(wù)性能動(dòng)態(tài)變化的問(wèn)題,提出一種基于性能感知預(yù)測(cè)的云服務(wù)推薦模型,該模型使用改進(jìn)人工神經(jīng)網(wǎng)絡(luò)對(duì)服務(wù)性能進(jìn)行預(yù)測(cè),采用層次分析法計(jì)算推薦優(yōu)先級(jí).通過(guò)試驗(yàn)證明人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)法對(duì)于不同資源環(huán)境下的服務(wù)性能有較高的預(yù)測(cè)準(zhǔn)確率,層次分析法可以根據(jù)服務(wù)性能變化而改變服務(wù)推薦優(yōu)先級(jí).本文主要不足是在層次分析法中構(gòu)建權(quán)重矩陣時(shí),各因素的權(quán)重向量值的確定方法相對(duì)固定,沒(méi)有根據(jù)每個(gè)用戶的實(shí)際偏好量身定制,這是后面工作應(yīng)解決的問(wèn)題.
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