基于APMSSGA-LSTM的容器云资源预测
基于APMSSGA-LSTM的容器云資源預測
謝曉蘭1,2,?張征征1,?鄭強清1,?陳超泉1
1?桂林理工大學信息科學與工程學院,廣西 桂林 541004
2?廣西嵌入式技術與智能系統重點實驗室,廣西 桂林 541004
?
摘要:容器云的發展與應用對資源的高并發、高可用、高彈性、高靈活性等的需求越來越強烈。在對容器云資源預測問題研究現狀進行調查后,提出一種采用自適應概率的多選擇策略遺傳算法(APMSSGA)優化長短期記憶網絡(LSTM)的容器云資源預測模型。實驗結果表明,與簡單遺傳算法(SGA)相比,APMSSGA在LSTM參數最優解組合搜索方面更加高效,APMSSGA-LSTM模型的預測精度較高。
關鍵詞:?容器云?;?資源預測?;?長短期記憶網絡?;?遺傳算法
論文引用格式:
謝曉蘭, 張征征, 鄭強清, 陳超泉.?基于APMSSGA-LSTM的容器云資源預測.? 大數據[J], 2019, 5(6):62-72
XIE X L, ZHANG Z Z, ZHENG Q Q, CHEN C Q.Container cloud resource prediction based on APMSSGA-LSTM.?Big Data Research[J], 2019, 5(6):62-72
1 引言
近年來,容器技術憑借著其靈活、快速、高效的特點,使云計算高彈性、高可用性等特征更加顯著,構建了新一代的云計算生態體系。大量的國內外學者、互聯網公司和傳統企業積極研發和落地容器技術,容器技術的生態圈逐漸形成,基于容器技術的容器云也迅速發展。如何在保證容器云環境安全和穩定運行的前提下,對資源進行合理和高效的管理,成為當前的研究熱點問題之一。
然而,容器云發展時間較短,成熟度低,并且面臨著復雜的資源管理問題。例如,企業通常在購置設備時不得不考慮經濟成本和公司規模,因此不像云服務商那樣擁有大量的備用設備。對于企業,資源的預留、分配與回收等成為一個非常重要的問題,如果能較準確地預知未來一段時間內自身應用對資源的需求量,就可以提前申請和購買相應設備,避免因物理資源不足導致業務停止運行,給企業造成負面的影響;如果未來一段時間的資源需求量遠低于現有設備數,就可以進行數據和業務遷移,停止某些設備的運行,降低能耗,提高企業的經濟效益和資源利用率。
容器云資源預測對推進容器云理論和技術更進一步發展、提高企業經濟效益、避免資源浪費等具有重要意義,值得研究。而如何對平臺歷史資源負荷數據進行時效性、準確性的預測,是研究容器云資源預測的重要問題之一。
筆者提出了適應概率的多選擇策略遺傳算法優化長短期記憶(adaptive probability multi-selection strategy genetic algorithm-long short term memory,APMSSGA-LSTM)網絡的容器云資源預測模型,通過對容器云資源的歷史數據進行分析與處理,提取數據在時間維度上的前后相關性的潛在特征,再使用長短期記憶(long short term memory, LSTM)網絡對其進行建模,預測未來一段時間的資源需求量。同時,利用遺傳算法的全局尋優能力,在對遺傳算法進行改進的基礎上,通過智能調參來實現較高的預測精度。
2 相關工作
云計算資源預測是云計算平臺實現資源高效管理和系統安全、穩定運行的重要前提和保障措施之一,長期以來一直受到研究者的關注。很多學者對基于神經網絡、隱馬爾可夫、貝葉斯、支持向量機等算法的云資源預測模型做了研究,這些模型可以挖掘云計算資源負荷隨機、動態的變化趨勢,得到相對理想的云計算資源預測結果。
Khan A等人首先對云計算平臺中擁有相同特征的資源負荷數據進行歸類,再使用隱馬爾可夫模型對劃分后的類進行特征分析,最后在特征分析的基礎上進行資源負荷預測。該方法加入了分類提取特征的思想,相對于傳統算法,預測結果更加準確,但是對數據進行劃分會影響時間序列數據前后相關性。Di S等人使用貝葉斯網絡模型對云計算資源長期時間間隔的平均資源負荷進行預測。該方法首先對負載節點的特征進行收集,再通過確定最有效的特征組合進行預測。該方法的缺陷是特征收集會對實驗結果產生重大影響。趙莉在使用混沌分析算法對云計算資源負載的時間序列進行處理的基礎上,采用支持向量機(support vector machine ,SVM)建立云計算資源負載的預測模型,并設計了組合核函數,以提高支持向量機的學習能力,更加準確地描述了云計算資源負載的動態變化趨勢。
隨著生物啟發式算法的發展,許多學者將蜂群算法、魚群算法、粒子群算法、遺傳算法(genetic alogrithm,GA)等引入云計算資源預測模型,利用它們天然的自動尋優能力解決模型在構建過程中面臨的最優參數選擇這一難題。這些生物啟發式算法具有結構簡單、查找能力強等特點,能夠迅速找到預測模型的最優參數組合方案,節省訓練成本和時間。然而,在實際應用中,生物啟發式算法存在一些缺點,主要包括收斂速度慢、容易陷入局部最優等,從而不能獲得最優的結果。為此,許多學者對生物啟發式算法進行了改進,并將改進后的算法用于云計算資源預測模型。
Barati M等人提出了改進的支持向量回歸(tuned support vector regression,TSVR)模型,通過混合遺傳算法和粒子群優化方法選擇3個支持向量回歸(support vector regression,SVR)參數。同時在模型中引入混沌序列,在避免過早收斂的同時提高模型的預測精度。徐達宇等人提出了一種使用改進的灰狼搜索算法優化支持向量機的短期云計算資源負載預測模型(EGWO-SVM),更加準確地刻畫云計算短期資源負載的復雜變化趨勢,從而有效地提升云計算資源負載短期預測的精度。史振華采用改進的人工蜂群算法與SVM結合的方式構建預測模型,不僅通過反饋機制和森林法則降低了算法陷入局部最優的可能性,還通過改進的蜂群算法得到了預測模型的最佳參數,從而提高了模型的預測精度。Zhong W等人結合小波變換和支持向量機的優點,提出了一種基于加權小波支持向量機(WWSVM)的云負荷預測模型,提高了預測模型的準確性。
從以上研究成果可以得出,目前云計算的資源負荷預測的主要研究方向分為短期預測和長期預測2種,而依據歷史資源負荷時間序列的自身特性來確定預測時間是長期還是短期的相關研究還較少。
3 APMSSGA-LSTM模型
3.1 概述
長短期記憶網絡通過門機制使網絡具有記憶功能,避免了遞歸神經網絡(recurrent neural network,RNN)的梯度消失和梯度爆炸現象的發生,在時間序列預測領域取得了很好的效果。但是,為了讓LSTM神經網絡記憶序列之前數據的特征,需要將網絡前n次的計算作為當前隱藏層神經網絡的輸入值,因此模型的訓練時間將隨著數據集規模的增大呈指數倍增長。而且,神經網絡的性能受參數的影響很大。如何選擇最佳參數組合以獲得更好的預測結果,是LSTM預測模型必須要解決的主要問題之一。使用智能算法自動尋優是神經網絡調參的常用方法之一。
根據容器云資源數據序列的特點,筆者提出APMSSGA-LSTM容器云資源預測模型,預測當前時刻T后的W時段的資源使用量。模型結構如圖1所示。其中,在數據抓取階段,使用HTTP請求的方式實時抓取容器云平臺上部署的所有集群的信息數據,主要包括CPU、I/O、內存、存儲、網絡5種資源類型數據,并在數據提取階段將數據導出至CSV文件中。M是資源類型的個數,N是集群個數。T+W時段資源請求表示用戶在T時刻之前提出在T~W時間段要使用的資源請求量,用來對預測序列進行最后的動態調整。
圖1???基于APMSSGA-LSTM的容器云資源預測模型結構
3.2 APMSSGA
遺傳算法具有更好的全局優化能力和隱藏并行性等特點,因此在具有高維度和高計算問題的應用領域中具有很高的應用價值。然而,大量研究表明,GA仍存在諸如過早進入早熟收斂和難以維持種群多樣性等問題。為了達到平衡和協調算法快速收斂、保證種群多樣性的目的,筆者改進了GA,提出一種采用自適應概率的多選擇策略遺傳算法(adaptive probability multiselection strategy genetic algorithm, APMSSGA)。
APMSSGA的基本思想是不修改原有的編碼方式,使用常用的二進制編碼。將解碼后的3個參數傳入LSTM模型中進行模型訓練、評估,然后將得到的均方根誤差(root mean squared error, RMSE)作為個體適應值,具體的改進方案如下所述。
(1)編碼和種群初始化
需要根據優化的目標選擇恰當的編碼方式和種群個體適應值;為了防止成熟前收斂并兼顧收斂速度,需要根據實驗適當調整種群規模。
(2)改進選擇策略
集成適應值比例選擇、Boltzmann選擇、排序選擇、聯賽選擇和精英選擇5種選擇策略的優勢來進行個體選擇,以平衡和協調種群多樣性和收斂速度2個需求。k-means算法用于對種群中所有個體的適應值進行分類,為分類后的每個類別在5個選擇算子中隨機選擇一種進行個體篩選。在第一次迭代(即t=0)時,5種選擇算子的初始概率相等,均為20%。交叉和變異后每個類的總體適應值被作為5個選擇算子概率更新的依據,如果子代優于父代,則相應的選擇算子概率增加,否則減少;如果子代和父代的選擇概率都上升或都下降,則以均值相對誤差比例增減選擇概率。
對于給定的規模為n的群體?,個體aj∈P的適應值為f(aj),適應值比例選擇的選擇概率為:
其中,S為選擇策略。式(1)用于計算后代種群中個體的概率。通過選擇算子操作,產生種群中用于交叉算子操作的個體。父代群體中個體存活的預期值計算式為:
Boltzmann選擇的選擇概率為:
其中,T是模擬退火溫度,T>0。T隨著種群迭代次數的增加逐漸減小,種群個體面臨的選擇壓力逐漸增大。
對于給定的規模為n的群體?,滿足個體適應值降序排列f(a1)≥f(a2)≥…≥f(an),則排序選擇的個體選擇概率為:
其中,η+和η-分別表示當前種群中最佳個體a1和最差個體an在經過選擇算子操作后的期望值。
在滿足排序選擇條件下,聯賽選擇的個體aj的概率為:
其中,q為聯賽規模。
對于給定t代的規模為n的群體P={a1(t),a2(t),…,an(t)},精英選擇計算式為:
(3)改進交叉策略
遵循“近親不能結婚”的規則,根據設定的交叉概率,每個類的最優個體隨機交叉,類間剩余個體隨機交叉。
(4)改進變異策略
增加所有類中平均適應值最低的類的變異概率,其他類根據設定的變異概率執行變異操作。APMSSGA流程如圖2所示。
圖2???APMSSGA流程
3.3 基于APMSSGA調整LSTM參數
使用APMSSGA調整LSTM時間步長(timesteps)、隱藏層中的前饋神經網絡單元的數量(units)和預測多少單位時間(predictsteps)3個參數。APMSSGA自動搜索由timesteps、units、predictsteps組成的三維解空間,并獲得滿足當前訓練數據集潛在特征的最佳參數組合,避免了人工手動嘗試調參,節省了時間和成本。基于APMSSGA的LSTM參數調整流程如圖3所示。
圖3???基于APMSSGA的LSTM參數調整流程
在初始值編碼中,由于優化的目標是LSTM網絡的timesteps、units、predictsteps 這3個正整數參數,因此根據相關知識和經驗設置個體基因位的長度,并使用二進制碼表示。然后設置3個位串區間,分別表示要優化的3個變量。為了防止成熟前收斂,同時考慮收斂速度,需要根據實驗設置種群相關參數,適當調整種群的規模,然后設置當前LSTM的網絡結構,并初始化權重和偏置項。在初始化LSTM時,還需要根據批尺寸(batch_size)大小將不足batch_size的數據丟棄。
圖3中RMSE計算式為:
其中,xi為真實值,為預測值。
4 實驗與分析
4.1 實驗數據
為了驗證所提出的預測模型的有效性,本文使用從Kaggle平臺下載的公共數據集作為訓練和測試數據。該數據集共包含18 050條數據,是亞馬遜云服務(Amazon web services,AWS)針對某一個特定集群以時間間隔5 min采集的2個月左右的CPU平均使用率數據。
首先,在對數據異常值進行處理后,使用圖形觀察法和單位根檢驗法(ADF)檢驗該CPU使用量序列是否具有平穩性特征。通過觀察統計量,得到檢驗值為-5.926 240,小于1%置信水平上的-3.430 713,統計量對應的概率值p值小于臨界值α(α=0.05),因此可以斷定該序列具有平穩性特征,不需要進行進一步的差分操作。然后采用Box-Pierce推導出Q統計量、Box-Ljung推導出LB統計量(用于檢驗時間序列是否為白噪聲序列)2種方法對該CPU使用量時間序列數據進行部分數據和全部數據的純隨機性檢驗,結果如圖4所示。
圖4???部分數據和全部數據純隨機性檢驗結果
4.2 實驗參數設置
經過初始測試得到,當timesteps在[1,64]、predictsteps在[1,64]以及units在[256,512]內時,預測模型表現較好。因此,將染色體長度設置為20,前6位表示timesteps,中間6位表示predictsteps,最后8位在解碼后加上256作為units值,同時設置batch_size=16。簡單遺傳算法(simple genetic algorithm,SGA)和APMSSGA具體參數設置見表1。
4.3 模型驗證
分別使用SGA和APMSSGA對LSTM的3個參數在上述設定的區間內進行搜索。由于不同timesteps、predictsteps和units構成的搜索空間大小不一致,所以即使初始權重和偏項值相同,3個參數的參數值也不相同。這使得即使使用相同的timesteps、predictsteps和units參數組合,得出的誤差值也不一定相同。考慮到時間關系,在使用APMSSGA調整LSTM參數時,LSTM的層數的初始值為1,所有訓練樣本完成正向傳遞和一個反向傳遞的時期epochs=1。實驗結果如圖5所示。
從圖5可以看出,SGA在經過20次迭代之后,得出的RMSE值具有較大的波動性。由于LSTM具有一定的波動性,所以SGA在搜索最優值時受到的干擾性較大,導致難以收斂,難以得出最優值。在使用APMSSGA后,由于結合了5種不同的選擇策略,并且根據父代與子代適應值對比實現了選擇策略自適應,在一定程度上保證了種群的多樣性和收斂性。從實驗結果可以得出:與SGA相比,APMSSGA在LSTM參數優化方面具有更大的優勢。
圖5???SGA-LSTM和APMSSGA-LSTM的RMSE值對比
根據APMSSGA的搜索結果,最終設置timesteps=21、predictsteps=12和units=384。同時,設置LSTM的batch_size=16、層數為2,epochs=50,得到訓練時的均方根誤差TrainRMSE=8.538 173, TestRMSE=10.888 364。APMSSGA優化LSTM神經網絡參數模型結構及 RMSE值如圖6所示。
APMSSGA-LSTM模型訓練中loss值變化趨勢如圖7所示。
為了更清楚地顯示預測效果,使用APMSSGA-LSTM訓練好的模型預測未來16.7個小時內的CPU使用量序列,并將預測值與真實值進行對比。APMSSGALSTM模型的預測結果如圖8所示。
圖6???APMSSGA優化LSTM NN參數后模型結構及RMSE值
圖7???APMSSGA-LSTM模型loss值變化趨勢
圖8???APMSSGA-LSTM模型的預測結果
從圖8可以得出,真實數據的峰值波動相對頻繁,導致預測模型對序列數據峰值的擬合效果不佳,但序列的趨勢預測比較準確,在去除峰值之后,其他數據段的重疊率比較高。在未來的16.7個小時內,數據預測相對準確。這表明APMSSGA-LSTM模型在一定程度上提高了預測精度。
5 結束語
本文通過分析容器云資源預測問題的特點,提出了APMSSGA-LSTM模型,并通過實驗驗證了模型的有效性。結論如下。
● 利用LSTM 網絡學習容器云資源數據的時間依賴關系,可得到更高的預測精度。
● 由于真實數據的峰值波動比較頻繁,導致預測模型在序列數據峰值上擬合的效果不明顯,但是序列的趨勢預測比較準確,并且,除去峰值后,其他數據段預測效果較好。
● 與SGA相比,APMSSGA在LSTM參數優化方面表現更好。
● 與RNN、LSTM、SGA-LSTM等模型相比,APMSSGA-LSTM模型表現更好,有利于推進容器云理論和技術進一步發展,提升云計算服務能力。
作者簡介
謝曉蘭(1974-),女,博士,桂林理工大學信息科學與工程學院教授、院長、博士生導師,主要研究方向為云計算、并行計算、大數據、地球物理勘查與信息技術 。
張征征(1994-),女,桂林理工大學信息科學與工程學院碩士生,主要研究方向為云計算、大數據 E-mail:zhangzhengzhengaxp@163.com。
鄭強清(1993-),男,桂林理工大學信息科學與工程學院碩士生,主要研究方向為云計算、大數據 。
陳超泉(1963-),男,桂林理工大學信息科學與工程學院副教授、碩士生導師,主要研究方向為大數據 。
《大數據》期刊
《大數據(Big Data Research,BDR)》雙月刊是由中華人民共和國工業和信息化部主管,人民郵電出版社主辦,中國計算機學會大數據專家委員會學術指導,北京信通傳媒有限責任公司出版的中文科技核心期刊。
關注《大數據》期刊微信公眾號,獲取更多內容
往期文章回顧
山東省地理信息時空大數據中心建設方法
人在回路的數據準備技術研究進展
工業時序大數據質量管理
數據管護技術及應用
基于數據空間的電子病歷數據融合與應用平臺
總結
以上是生活随笔為你收集整理的基于APMSSGA-LSTM的容器云资源预测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JZ2440学习总结5
- 下一篇: 嵌入式linux入门-常用命令介绍