邢運智
(西安市第一中學(xué),陜西西安,710000)
近年來,隨著信息和通信技術(shù)的快速發(fā)展,計算模式已經(jīng)發(fā)生了重大變革[1]?!皵?shù)據(jù)為王”的時代,誰掌握了數(shù)據(jù),誰就掌握著消費者的動向,掌握著行業(yè)發(fā)展的脈絡(luò)。很多企業(yè)在發(fā)展的過程中,對于數(shù)據(jù)的處理要求越來越高,僅僅依靠自己企業(yè)的服務(wù)器已經(jīng)很難滿足需求。在此情況下,云計算這一平臺脫穎而出,其已成為繼互聯(lián)網(wǎng)、計算機之后的又一個關(guān)鍵技術(shù),甚至將引領(lǐng)未來的信息技術(shù)產(chǎn)業(yè)變革。云計算發(fā)展至今已有10多年的時間,在此期間取得了飛速的發(fā)展,帶來了商業(yè)模式和工作模式的巨變;同時也暴露出一些不足,如在提供資源利用率的情況下如何保證服務(wù)質(zhì)量,對于用戶的請求能否及時做出響應(yīng)等問題[2],這些都將影響云計算的未來發(fā)展。針對此類問題,很多學(xué)者結(jié)合工作負載預(yù)測進行研究,形成一系列研究成果,其中趙莉提出基于支持向量機的負載預(yù)測模型,采用混合遺傳算法和粒子群算法來選擇參數(shù)[3]。譚乾提出了使用遺傳算法來代替?zhèn)鹘y(tǒng)的BP算法訓(xùn)練網(wǎng)絡(luò)參數(shù)建立模型[4]。郭正紅等人提出一種基于權(quán)重調(diào)整的預(yù)測模型,其增加了多個非線性項,用于體現(xiàn)模型之間的聯(lián)系對預(yù)測結(jié)果的影響。
本文在云計算的背景下,針對用戶負載預(yù)測問題進行了研究。以國內(nèi)最大的云計算提供商—阿里云的用戶負載數(shù)據(jù)為研究對象,針對一年來的用戶請求數(shù)據(jù)進行分析預(yù)測,建立了從線性到非線性的回歸模型,逐步優(yōu)化模型、優(yōu)化預(yù)測結(jié)果,最終探究出了云計算用戶請求負載的一般規(guī)律。
后續(xù)章節(jié)的內(nèi)容安排為:第二章介紹了數(shù)據(jù)的來源和預(yù)處理方式;第三章建立了三組不同的回歸模型,實現(xiàn)了對于數(shù)據(jù)越來越好的擬合和預(yù)測;第四章對全文內(nèi)容進行了總結(jié),并對未來的研究方向進行了展望。
本文研究的數(shù)據(jù)來自于國內(nèi)最大的云計算資源供應(yīng)商—阿里云(www.aliyun.com)。數(shù)據(jù)基本情況描述如下:
(1)數(shù)據(jù)時間段:2018年某城市計算集群接收到的用戶請求負載量。
(2)采樣時間間隔:每兩個小時采樣一次,采樣的數(shù)值為兩個小時內(nèi)用戶負載的平均值。
(3)數(shù)據(jù)總量:共1578個數(shù)據(jù)點。
在對數(shù)據(jù)進行一致性分析和可靠性檢測之后,發(fā)現(xiàn)在采樣數(shù)據(jù)中,存在10月-11月數(shù)據(jù)部分遺失的問題。因此,將10月份以后的數(shù)據(jù)舍棄,只保留1月至9月的用戶請求負載記錄,共1336個數(shù)據(jù)點。
另外,由于阿里云作為國內(nèi)最大的云計算供應(yīng)商,用戶請求負載量非常大。因此,在數(shù)據(jù)處理時,以1000次請求為單位,等比例縮小用戶請求的數(shù)字,便于后續(xù)的建模和預(yù)測工作。
將預(yù)處理后的負載數(shù)據(jù)畫圖,可以看出,整體的走勢如圖1所示,而描述數(shù)據(jù)的變化趨勢并進行未來數(shù)據(jù)的預(yù)測,就是本文的主要工作內(nèi)容。
圖1 用戶對于虛擬機的需求量整體走勢圖
本章針對預(yù)處理后的數(shù)據(jù),逐步深入構(gòu)建了預(yù)測模型,從一元線性回歸模型開始,之后增加了30天和7天周期的波動,逐步優(yōu)化了模型的預(yù)測效果。
(1)用戶對于虛擬機的需求整體穩(wěn)定,符合一定的增長規(guī)律,沒有出現(xiàn)突變情況。
(2)在一定時間范圍內(nèi),包含線性增長和周期性波動兩種走勢。
(3)服務(wù)商的計算資源是無限的,可以滿足所有的用戶請求。
(4)假設(shè)服務(wù)商的市場占有率是一定的,不考慮服務(wù)商之間的市場競爭行為對用戶請求負載帶來的影響。
首先,本文基于以2小時為間隔的抽樣數(shù)據(jù),建立了基于一元線性回歸的時間序列模型,來刻畫負載請求的線性變化趨勢。若假設(shè) t 為時間參數(shù),r 為用戶對負載請求(單位為1000)則模型的表達式如下:
其中a和b 是該模型的回歸系數(shù)。
本文利用Excel軟件的數(shù)據(jù)分析工具進行擬合,我們將1335個數(shù)據(jù)點劃分為訓(xùn)練集和測試集兩個部分:
(1)訓(xùn)練集:前1000個數(shù)據(jù)點,時間跨度為2000個小時
(2)測試集:后335個數(shù)據(jù)點,時間跨度為670小時
在Excel中進行你和運算,得到的擬合結(jié)果如表1所示。
表1 一元線性回歸模型的擬合結(jié)果
因此,得到模型公式:
經(jīng)過計算得到R Square=0.3517,由結(jié)果所知擬合性能非常差。隨后對該模型的預(yù)測性能進行測試,并且計算均方誤差參數(shù)來衡量預(yù)測性能,RMSE = 681.9318。由圖2可以看出,簡單的線性模型沒有足夠好的預(yù)測性能,該模型存在較大的問題。需要進一步完善。
圖2 模型預(yù)測走勢
通過上述研究可知,訓(xùn)練集上的殘差具有很強的周期性,因此我將加入三角函數(shù)特征表達式,進行模型優(yōu)化。
在模型中加入正弦和余弦兩個周期函數(shù),它們的表達式分別是 sin(ωπ+φ)、cos(ωπ+φ),經(jīng)過觀察可得該函數(shù)的波動周期約為82,根據(jù)公式ω=2π/T,得知ω=1/41。優(yōu)化后的模型表達式如下:
圖3 訓(xùn)練集殘差走勢
隨后通過Excel軟件進行擬合分析得到如表2數(shù)據(jù)。
因此,得到模型表達式為:
其中擬合優(yōu)度為R Square=0.4980,說明該模型的擬合性能一般。在測試集上對該模型的預(yù)測性能進行測試,并且計算均方誤差參數(shù)來衡量預(yù)測性能,RMSE = 745.7023。通過對圖4的研究發(fā)現(xiàn)以82為周期存在一定的問題,82并非本模型的最佳周期。
圖4 以82為周期波動的回歸模型及預(yù)測走勢
通過分析得出周期波動模型的周期應(yīng)略大于82,因此,設(shè)定波動周期為84,優(yōu)化的模型表達式如下:
同理,保持訓(xùn)練集、測試集不變情況下,通過擬合之后得到結(jié)果如表3所示。
表3 優(yōu)化周期為84后的擬合結(jié)果
因此,得到模型表達式為:
最終擬合得到的擬合優(yōu)度為R Square=0.5497,較82周期的模型性能有所提升,說明原始數(shù)據(jù)84為周期更能刻畫其波動性。同時,擬合結(jié)果也反映出該模型的擬合性能一般。在測試集上進行測試,并且計算均方誤差參數(shù)來衡量預(yù)測性能,RMSE = 198.3479。研究發(fā)現(xiàn)均方誤差較小但是擬合優(yōu)度仍然較差。通過對局部數(shù)據(jù)變化情況的研究,如圖5所示,可以發(fā)現(xiàn)數(shù)據(jù)仍存在一個的小周期。
圖5 以84為周期波動的回歸模型及預(yù)測走勢
研究84周期過程中,發(fā)現(xiàn)負載請求變化時存在雙重周期性(以84為周期的大周期、以12為周期的小周期),遂添加兩組周期為12的正弦、余弦函數(shù)。表達式如下:
同理,訓(xùn)練集與測試集保持不變,利用 Excel表格進行擬合分析,得到擬合結(jié)果如表4所示。
表4 8-12周期波動的回歸模型擬合結(jié)果
因此,得到模型表達式為:
最終擬合得到的擬合優(yōu)度為R Square=0.9179,較84周期的模型性能有所提升,說明原始數(shù)據(jù)存在以84為周期的大波動以及12為周期的小波動。同時,擬合結(jié)果也反映出該模型的擬合性能較好。之后對該模型的預(yù)測性能進行測試,并且計算均方誤差參數(shù)來衡量預(yù)測性能,RMSE =198.2078。如圖6所示,通過研究發(fā)現(xiàn)擬合優(yōu)度較高。
圖6 以84—12雙重周期波動的回歸模型及預(yù)測走勢
因此,從實驗結(jié)果可以看出,用戶請求的負載具有明顯的線性增長的特征和周期性波動的特征。線性增長的部分體現(xiàn)在請求量隨時間整體上揚、在模型表達使用以線性的部分進行刻畫;周期性波動的特征體現(xiàn)在以84和12為周期的三角函數(shù)上,反應(yīng)用戶存在以1天和7天為周期的請求波動性。
云計算是目前信息技術(shù)領(lǐng)域炙手可熱的資源共享技術(shù),極大地方便了目前的資源使用。在云計算領(lǐng)域,用戶負載預(yù)測一直是一個重要的研究課題。本文基于數(shù)據(jù)挖掘的理論和方法,針對阿里云的用戶負載數(shù)據(jù)進行研究,經(jīng)過數(shù)據(jù)收集、預(yù)處理和建模分析三個部分,探索了一元線性回歸、帶周期性的非線性回歸等多組模型,通過不斷優(yōu)化模型,預(yù)測性能也得到了不斷的提升。最終結(jié)果顯示,用戶請求數(shù)量具有整體上漲、按7天周期模型和按1天周期波動的特征,為后續(xù)的用戶請求負載預(yù)測提供了指導(dǎo)性的幫助。
在未來的研究中,還可以進行以下幾個方面的深入拓展:
(1)使用更加復(fù)雜的模型,例如人工神經(jīng)網(wǎng)絡(luò)模型、深度學(xué)習(xí)模型、隨機森林模型進行預(yù)測,爭取能夠?qū)崿F(xiàn)更加精準(zhǔn)的預(yù)測性能;
(2)獲取更多的數(shù)據(jù),對其他幾個云計算生供應(yīng)商的用戶數(shù)據(jù)進行分析,研究是否存在一些同質(zhì)化的規(guī)律;
(3)對于預(yù)測的結(jié)果進行進一步的分析利用,根據(jù)用戶負載的預(yù)測來研究云計算中虛擬資源部署的問題。