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