朱正東,吳寅超,胡亞紅,蔣家強
(1.西安交通大學計算機學院,陜西 西安 710049;2.浙江工業大學計算機科學與技術學院,浙江 杭州 310023)
進行有效的作業調度可以保證數據中心在指定的截止時間前完成用戶作業,從而提高用戶滿意度。作業調度是NP-hard問題,一直是分布式系統中的研究熱點。預知作業的執行時間是開始作業調度的前提。根據各用戶作業的預測執行時間和截止時間,數據中心可以進行有效的任務調度和資源分配,從而縮短用戶作業的完成時間,提高系統性能。
目前預測用戶作業執行時間的常用方法是先運行少量用戶作業,得到作業執行時間,再根據這個時間預測完整的用戶作業的執行時間[2]。這種方法的不足之處有2點:一是作業的完成時間和作業量之間通常不是簡單的線性關系;二是若用戶作業的數據量巨大、整體耗時較長,簡單地按照固定的系統資源量進行預測,不考慮節點實時性能的變化,會導致時間預測精確不高。因此,很有必要對用戶作業執行時間的預測模型進行深入研究。
用戶作業執行時間預測屬于時間序列分析領域。傳統的時間序列分析采用線性模型,如整合滑動平均自回歸ARIMA(AutoRegressive Integrated Moving Average)模型[3,4]。線性模型簡單易用,但是預測精度不高。為處理各種復雜應用場景,非線性模型分析方法不斷出現,如人工神經網絡ANN(Artificial Neural Network)[5]、支持向量回歸SVR(Support Vector Regression)[6]和長短期記憶LSTM(Long Short-Term Memory)網絡[7]等。LSTM是一種時間循環神經網絡,在交通管理、電力系統管理、狀態監測、金融風險管理及行情預測等領域都應用廣泛。
LSTM在交通數據的分析中取得了不少成果。因為需要準確地統計交通流熱力分布比對,同時對交通數據進行預測分析,以判定交通資源調配是否合理,葉奕等[8]提出了基于Hadoop平臺及LSTM 網絡的城市交通出行數據挖掘模型,以保證交通系統的健康發展。
準確預測公交車的到站時間和客流量有助于進行合理的調度規劃,從而緩解交通擁堵、方便公眾出行。基于歷史數據的預測對于短期預測反應較慢,而基于車輛實時速度的時間預測又無法得到較長時間的預測結果。針對該問題,Liu等[9]提出了一種基于時空特征向量的長短期記憶和人工神經網絡的綜合預測模型。該模型從時間特征的維度實現了遠距離車輛到站時間預測,從空間特征的維度實現了短距離車輛的到站時間預測。李高盛等[10]提出的基于LSTM的城市公交車站短時客流量預測算法,能夠找出公交站點之間潛在的相關性,并具有一定的泛化能力。
為加強能耗數據的管控、合理優化資源配置、科學地提高水電能源使用效率,趙金超[11]提出了基于LSTM的能耗數據分析混合模型——經驗模態分解-長短期記憶網絡-差分自回歸移動平均EMD-LSTM-ARIMA(Empirical Mode Decomposition- LSTM-AutoRegressive Integrated Moving Average)模型。該模型分別對分量序列進行預測,再對各分量的預測結果等權值求和,能夠得到較為準確的預測結果。莊家懿等[12]為了解決輸入數據特征量受限時短期電力負荷預測精度較低的問題,提出了基于多模型耦合的卷積神經網絡-長短期記憶網絡-極端梯度增強算法CNN-LSTM-XGBoost(Convolutional Neural Network-LSTM-eXtreme Gradient Boosting)預測方法。為了保障電網的有效調度和電力系統的穩定運行,需要準確地對光伏電站的輻射強度進行預測。與其他模型相比,邱瑞東等[13]提出的基于長短期記憶網絡-輕度梯度提升LSTM-LGB(LSTM-Light Gradient Boosting)的輻射強度預測方法能夠提供較高的預測準確度。馬磊等[14]將Attention機制與LSTM網絡相結合建立的預測模型,通過Attention機制為LSTM的輸入特征賦予不同的權重,從而使得預測模型對長時間序列輸入的處理更為有效。這個模型應用于超短期光伏發電功率預測時,能夠提高電網的調度管理水平和電力系統運行效率。
與傳統的維修方式相比,基于故障監測的預知維修可以有效地防止機械設備的突發性故障,減少維修成本。郭旭東等[15]提出使用CNN-LSTM模型進行機電設備的剩余使用壽命預測,以最大限度地利用裝備的工作能力。康玄燁等[16]使用LSTM構建故障數量的預測模型,通過挖掘補償電容故障數量隨時間的變化規律,實現了對補償電容未來一段時間內故障數量的預測。該預測結果能夠對管理部門提前準備維修所需的資金、人員和設備起到指導作用。申彥斌等[17]使用雙向LSTM挖掘軸承在實際工作過程中的退化規律,完成了對軸承剩余使用壽命的預測。針對處于傳感器報警閾值以下的工業生產裝置的故障難以及時捕捉的問題,竇珊等[18]引入了基于LSTM的模型來估計發生異常的概率,完成了對時間序列的異常檢測。
在金融領域,LSTM用于行情預測和信譽度預測等,能夠幫助企業和個人規避風險。對信用債個體違約風險進行及時跟蹤和預測,對于我國債券市場的穩定與健康發展具有重要意義。因此,陳學彬等[19]使用LSTM構建了中國信用債違約風險預測模型,其預測結果與國內權威的評級結果非常接近。彭燕等[20]提出的基于LSTM的股票價格預測模型,可以幫助投資者了解股票走勢,建立合適的投資策略。影響電煤價格的因素眾多且非線性強,廖志偉等[21]提出了基于LSTM的中短期電煤價格預測模型。
近年來,LSTM在分布式系統資源管理方面也有許多研究成果。降低功耗能夠有效地減少集群的運行成本,為此,韓慶亮[22]提出了一套Hadoop集群節能系統方案,該方案包含一個基于節點負載狀態預測的任務調度算法——Hadoop能源節省調度器HES-Scheduler (Hadoop Energy Saving Scheduler)。通過使用節點的歷史負載數據對LSTM模型進行訓練,能夠預測節點在未來周期的負載情況。調度算法讓預測負載較低的節點進入休眠,以降低集群的能耗。為了提高數據中心服務質量,需要降低系統故障帶來的損失,Gao等[23]提出使用多層雙向LSTM分析系統的歷史數據,能夠更加準確地預測出系統故障的發生。
系統資源使用情況預測是進行實時任務調度的關鍵。Ruan等[24]提出了基于深度學習的存儲負載預測模型CrystalLP。該模型包含負載采集、數據預處理、時間序列預測和數據后處理等階段,其中時間序列預測采用了LSTM。針對集群資源實時變化性強的特點,Gupta等[25]建立了一個稀疏框架以完成快速的資源使用情況預測。為解決用戶過度申請資源而導致數據中心整體資源使用率下降的問題,Thonglek等[26]提出了基于LSTM的作業最優資源分配算法。
目前,使用LSTM進行用戶作業執行時間預測的研究較少。本文設計和構建了基于LSTM作業執行時間預測模型的作業調度算法,以縮短用戶作業的完成時間,提高數據中心的服務質量。本文還分析了時間預測模型的輸入,進行了預測模型結構設計,并詳細介紹了模型中各超參數的確定方法。實驗表明,本文模型的預測誤差較小,能夠滿足工程應用要求。
預測用戶作業的執行時間,不但可以確定數據中心是否有能力在用戶規定的時間內完成作業,還為進行合理的作業調度提供了依據。基于時間預測的作業調度算法如圖1所示。圖1中jb是批作業中的作業數量,Uremain表示數據中心剩余資源占總資源量的比例,初始值為1。當系統剩余資源可以滿足某作業的資源需求且能保證其在截止時間前完成時,可以將這個作業與其它作業并行執行。作業執行并行度的提高有助于縮短批作業的完成時間,提升數據中心的資源利用率。

Figure 1 Flowchart of the job scheduling algorithm based on the execution time prediction model圖1 基于作業執行時間預測的作業調度算法流程圖
圖1中Ur表示作業的資源占比系數,表示用戶所需要的資源量占數據中心資源總量的比例,其計算如式(1)所示:
(1)
對于每一個作業,數據中心首先對其進行執行時間預測。當發現作業預計的執行時間不能滿足用戶的作業截止時間要求時,則及時告知用戶,由用戶自行決定是延長截止時間還是轉去其它數據中心。當數據中心為一個作業進行資源分配后仍有資源可用時,則繼續選擇滿足資源要求和截止時間要求的作業與當前任務并行執行。此算法的基本思想是利用預測的作業執行時間,判斷是否能夠為用戶提供高質量的服務,同時盡可能提高作業執行的并行度,以縮短批作業的完成時間。
作業執行時間預測模型是本文算法的核心,下面將詳細介紹基于LSTM的作業執行時間預測模型的結構和構建方法。
神經網絡包括輸入層、隱藏層和輸出層,輸出控制主要由激活函數進行調整,每2層之間都存在權值連接。普通的神經網絡沒有考慮輸入樣本之間的關聯,樣本的處理在各個時刻相互獨立,每層神經元的信號只能向上一層傳播。循環神經網絡RNN(Recurrent Neural Network)是一種特殊的神經網絡,可以看成是一個在時間上傳遞的神經網絡,這使得神經網絡對前面輸入的內容具有了記憶功能,因而適合處理時間序列問題。
但是,由于存在梯度消失和梯度爆炸問題,RNN無法有效處理長序列數據。長短期記憶LSTM網絡就是為了解決這一問題而提出的改進算法。LSTM使用門控結構來控制長期狀態信息[27],其細胞結構如圖2所示,其中Ct是t時刻的細胞狀態,ht是t時刻的隱藏狀態。

Figure 2 Cell structure of LSTM 圖2 LSTM細胞結構圖
LSTM中所采用的門控結構主要包含如下3種:
(1)遺忘門(Forget Gate)。
假設當前時刻為t,LSTM神經網絡中遺忘門決定了如何對t-1時刻的細胞狀態Ct-1進行保留和舍棄。遺忘門的輸出ft通過式(2)計算得到:
ft=σ(Wf·[ht-1,xt]+bf)
(2)
其中,σ(·)是sigmoid激活函數,Wf和bf分別為遺忘權重和偏置矩陣,xt是t時刻的輸入,ht-1是t-1時刻的隱藏狀態。ft=1表示t-1時刻的細胞狀態Ct-1被完全保留,ft=0則表示Ct-1被全部舍棄。
(2)輸入門(Input Gate)。
輸入門的主要功能是處理當前時刻t的輸入,它由2部分組成。第1部分采用了激活函數sigmoid,輸出it,其計算如式(3)所示:
it=σ(Wi·[ht-1,xt]+bi)
(3)
其中Wi和bi分別為輸入權重和偏置矩陣。
(4)
其中WC和bC分別為對應的權重和偏置矩陣。

(5)
(3)輸出門(Output Gate)。
隱藏狀態ht的更新由2部分組成:第1部分是ot,它由t-1時刻的隱藏狀態ht-1和t時刻的輸入數據xt,以及sigmoid激活函數計算得到;第2部分由Ct和tanh激活函數計算得到,分別如式(6)和式(7)所示:
ot=σ(Wo·[ht-1,xt]+bo)
(6)
ht=ot*tanh (Ct)
(7)
其中Wo和bo分別為輸出權重和偏置矩陣。
通過遺忘門、輸入門和輸出門的控制,可以得到當前時刻t的細胞狀態Ct和隱藏狀態ht。
用戶提交作業時,一般會給出作業的數據量、對數據中心資源的需求量和作業期望的完成時間等信息,基于LSTM的用戶作業執行時間預測模型將根據這些輸入,完成作業執行時間的預測。影響用戶作業執行時間的因素很多。從作業的角度,在相同的系統配置下,同樣類型的作業,其數據量越大,完成的時間會越長;而同樣數據量、不同類型作業的運行時間則會有所不同[28]。從系統資源的角度,CPU核數、CPU負載、內存量和網絡帶寬等都會影響作業的執行時間[29]。本文選取如下5個影響因素作為執行時間預測模型的輸入:
(1)作業類型:一般可分為CPU密集型、內存密集型和網絡密集型等。
(2)用戶作業所需CPU數量:用戶提交作業時要求的CPU核數。
(3)用戶作業所需內存量:用戶提交作業時要求的內存數量。
(4)用戶作業的數據量大小:需要用戶提交,對作業的執行時間有較大的影響。
(5)作業的資源占比系數:用戶所需要的資源量占數據中心資源總量的比例,通過式(1)計算得到。
預測模型通過發掘各個因素之間的隱性關系,完成作業執行時間的預測。
基于LSTM的用戶作業執行時間預測模型如圖3所示。模型的輸入為用戶作業的參數,輸出為預測的作業執行時間。LSTM在每一個時刻的輸入向量xt的維度為5,即影響作業執行時間的5個影響因素——作業類型、用戶作業所需CPU數量、用戶作業所需內存量、用戶作業的數據量和作業資源占比系數。Ct和ht對應的向量維數為隱藏層神經元的個數。LSTM的輸出h由對應的細胞狀態Ct和tanh激活函數,通過式(7)計算得到。隱藏層的層數和隱藏層神經元的個數通過實驗確定。最后一個隱藏層的輸出通過全連接層FC (Fully Connected layer)與輸出向量連接。

Figure 3 Structure of the user job execution time prediction model based on LSTM圖3 基于LSTM的用戶作業執行時間預測模型結構
本文所采用的損失函數為均方差MSE(Mean Square Error),其計算方法如式(8)所示:
(8)

用戶作業執行時間預測屬于回歸問題,常用的評價指標有均方根誤差、平均絕對誤差、平均絕對值百分比誤差和決定系數等。
(1)均方根誤差RMSE(Root Mean Square Error)。
與MSE相比,RMSE可以降低誤差的級別,RMSE的值越小,意味著預測模型越有意義,其計算如式(9)所示:
(9)
(2)平均絕對誤差MAE(Mean Absolute Error)。
MAE的單位和RMSE是一樣的,其計算方式如式(10)所示:
(10)
(3)平均絕對值百分比誤差MAPE(Mean Absolute Percentage Error)。
平均絕對值百分比誤差的取值在[0,+∞),通過式(11)計算得到,其值越小表示模型越精確。
(11)
(4)決定系數R2(Coefficient of Determination)。
決定系數也稱作擬合優度,通常用來衡量模型能否很好地描述真實數據的變化,其計算如式(12)所示:
(12)

LSTM模型中超參數的取值對預測結果的準確性有非常大的影響,所以在正式訓練模型之前,本文通過實驗確定超參數最佳取值。影響LSTM模型的超參數包括學習率、迭代次數、網絡層數、隱藏層節點數和Dropout率等,下面逐一進行分析。
3.5.1 學習率和迭代次數
學習率lr(learning rate)在迭代過程中用來決定網絡梯度更新的幅度,其經典取值在0.1~0.000 001。學習率的取值過大,容易導致最終結果在最優處反復震蕩,無法收斂;取值過小,則整個網絡的訓練速度會變得很慢。
本文進行lr調優的方法是首先使用迭代過程中對應的損失值來確定學習率的量級,再通過微調確定最佳學習率。不同學習率對應的損失函數值如圖4所示。

Figure 4 Loss function curves corresponding to different learning rates圖4 不同學習率對應的損失函數曲線
從圖4可以發現,學習率為0.1時,學習率過大,在迭代次數較少的時候發生了振蕩的現象,而增加迭代次數后,雖然產生了收斂的趨勢,但是收斂對應的誤差非常大,仍然無法滿足模型的精度要求。當學習率取值為0.000 1,0.000 01和0.000 001時,在500次迭代次數之內,誤差曲線處于未收斂狀態,此時模型是欠擬合的。將迭代次數調整到1 000次以上時,3種學習率對應的損失值曲線呈現收斂狀態,但是誤差較大,還是無法滿足精度要求,且迭代次數超過1 500次后時間成本大幅上升。在學習率取0.01和0.001時,損失函數的曲線呈現正常收斂狀態,但學習率為0.01時,對應的損失曲線在收斂時有些許波動幅度,不如學習率為0.001時的曲線平滑。經過驗證和微調后,本文最終將學習率取值為0.006。
進行LSTM模型訓練時,過少的迭代次數會產生較大的誤差,無法讓模型達到預期的效果。本文為了找到合適的迭代次數,在確定學習率之后,對LSTM模型進行了多次訓練,不同迭代次數對應的誤差如圖5所示。

Figure 5 Error curve corresponding to different number of iterations圖5 不同迭代次數對應的誤差曲線
從圖5可以發現,在迭代數次增加到300次之后,誤差曲線開始趨于平緩,呈收斂態勢。本文結合所構建的網絡模型和數據量,確定迭代次數為500次即可使模型的預測精度達到預期要求。
3.5.2 網絡層數
Chen等[30]指出,增加LSTM網絡隱藏層數有利于提升模型預測精度。但彭燕等[20]通過實驗發現,一味增加層數并不能一直增加模型精度,往往只是增加了訓練的復雜度。本文綜合考慮時間成本和期望模型的復雜度,選取了2~3層的網絡進行實驗,通過對比實驗的結果來進一步確定網絡層數。實驗結果如圖6所示。

Figure 6 Error curves corresponding to two- and three- layer network 圖6 不同網絡層數對應的誤差曲線
從圖6可以發現,分別以2和3作為網絡層數建立的模型,兩者對應的誤差曲線都在迭代300次左右開始收斂。相比于3層網絡,2層網絡在迭代次數較小時的誤差較小,且在趨向收斂時其均方根誤差更小,模型精度更高,因此本文模型中的網絡層數取2。
3.5.3 隱藏層節點數和Dropout率
隱藏層節點可以使網絡模型學習數據之間隱藏的關聯。若隱藏層節點數過少,會導致模型無法充分發掘數據之間的隱性關系,導致預測效果差;若隱藏層節點數過多,則容易發生過擬合現象,即使沒有過擬合,也會使網絡變得過于復雜,增加訓練時間。夏克文等[31]通過研究得到了確定最佳隱藏層節點數的經驗公式,如式(13)和式(14)所示:
(13)
(14)
其中,nh,ni和no分別代表神經網絡的隱藏層節點數、輸入層節點數和輸出層的節點數,m是取值為 [1,10] 的常數。根據這2個公式和隱藏層節點優化搜索算法可以確定最佳隱藏層節點數,具體步驟如下:
步驟1因為本文的ni=5,no=1,根據式(14)可得,a=3,b=16,所以隱藏層節點數的取值在[3,16]。通過黃金分割比例公式計算得到第1個實驗點e1=0.618*(b-a)+a=11。
步驟2計算第2個實驗點e2=0.382*(b-a)+a=7,通過實驗得到隱藏層節點數為11時對應的RMSE值為12.35,小于隱藏層節點數為7時對應的RMSE值13.83。根據文獻[31]中提出的黃金分割舍劣取優的方式,由于11對應的誤差更小,所以留下11所在的優勢區間,舍棄掉7所在的劣勢區間[3,7)。這樣可將區間進一步縮小為[7,16]。
步驟3利用黃金分割法求得拓展區間為[16,24]。因為16=0.618*(c-a)+a且a=3,所以c=24。如此,可得到拓展取值在[7,24]。
步驟4在[7,24]中反復實驗,得到的各個隱藏層節點數對應的RMSE值如表1所示。其中RMSE相對最小的隱藏層節點數為15,19,21和22。

Table 1 RMSE corresponding to the node number of the hidden layers表1 各個隱藏層節點數對應的RMSE
在得到相對較優的隱藏層節點數之后,再根據模型的多個評價指標值選取最優節點數,對比情況如表2所示。

Table 2 Evaluation index values corresponding to different hidden node numbers表2 不同隱藏節點數所對應模型的評價指標值
從表2可以看到,當隱藏層節點數為21時,其RMSE、MAE和R23個評價指標的值都是最優的,其MAPE值也低于節點數為15和19時的情況,僅比最低值高了3.00%。本文綜合考慮網絡的復雜程度和計算成本,將網絡模型的隱藏層節點數確定為21。
合適的Dropout率可以有效地降低過擬合現象發生的概率,起到一個正則化的作用。通常Dropout率的取值在0.1~0.3,本文通過實驗確定Dropout率的取值,實驗結果如表3所示。從表3可以看出,當Dropout率為0.1時,模型各項評價指標的取值可以達到較為理想的狀態,因此本文模型的Dropout率設為0.1。

Table 3 Model errors corresponding to different dropout rates表3 不同DropOut率對應的誤差
在確定了基于LSTM的用戶作業執行時間預測模型的超參數后,本文開始模型訓練。本文所有進行時間預測模型訓練和測試的數據采集于表4所示的Spark集群。

Table 4 Data collection cluster configuration表4 數據采集系統配置表
根據用戶作業類型對采集的歷史數據進行分類,可分為CPU密集型、內存密集型和默認不定義類型等。將CPU密集型數據集記為DCPU={cp1,cp2,…,cpn},內存密集型數據集記為DMem={me1,me2,…,mem},默認不定義類型數據集記為Ddefault={de1,de2,…,des},則歷史數據集可以表示為D=DCPU∪DMem∪Ddefault。每一條數據都包含作業類型、CPU數量、內存數量、作業數據量和資源占比系數5個影響因素和作業的實際運行時間。本文共采集數據400條,其中150條是WordCount負載對應的數據,150條是Sort負載對應的數據,其余100條屬于Ddefault集合。
對D中的數據使用Max-Min法進行歸一化處理,并按照80%和20%的比例劃分成為訓練集Dtrain和測試集Dtest。
為了檢驗基于LSTM的用戶作業執行時間預測模型的有效性,本節分別對WordCount和Sort 2類工作負載進行了數據采集和運行時間預測。
訓練模型所采用的超參數取值如表5所示。

Table 5 Values of the hyper-parameters表5 模型超參數取值
時間預測模型的軟硬件運行環境如表6所示。

Table 6 Software and hardware configuration for the experiments表6 實驗軟硬件配置
為了考察時間預測模型的準確性,實驗環節沒有采用進行模型訓練的數據集。新的數據集同樣在表4所示的集群上運行產生,分別為24組WordCount作業和24組Sort作業。在得到作業的實際運行時間后再使用時間預測模型對這些作業進行運行時間預測,得到各作業的預測執行時間。
將LSTM模型的預測結果和經典的BP神經網絡模型、ARIMA線性模型和SVR模型的進行對比。所有模型均運行在表6所示的環境中。BP神經網絡的參數設置如下:5個輸入參數,1個輸出參數,2層隱藏層,隱藏層節點數為21,Dropout率為0.1,使用sigmoid作為激活函數。ARIMA模型的參數 (p,d,q)取值為(3,1,1)。SVR模型中的參數取值分別為:懲罰系數C=104,kernel為sigmoid,gamma='auto',coef0=0.0,tol=10-4,最大迭代次數max_iter=1000,其余參數使用默認值。
使用這4種模型對用戶提交的作業進行執行時間預測,得到的模型評價指標值如表7所示。

Table 7 Corresponding evaluation index values of different models表7 不同模型對應的評價指標
由表7可知,LSTM模型的各項指標所顯示的誤差都較小,擬合優度R2是最高的。相對于SVR模型、ARIMA模型和BP模型,LSTM模型在R2上分別有2.97%,2.34%和5.66%的提升效果,這意味著LSTM模型可以較為精準地預測用戶作業的執行時間。
為了進一步對LSTM時間預測模型的可用性進行分析,本文將預測結果和作業真實執行時間進行了對比,結果如圖7和圖8所示。圖7呈現的是作業真實執行時間與LSTM模型給出的預測時間對比,圖8給出了每個作業預測時間的誤差及誤差的平均值。

Figure 7 Comparison of jobs’ running time and prediction time of LSTM model圖7 作業真實執行時間與LSTM模型預測時間對比

Figure 8 Error of LSTM based time prediction model圖8 LSTM模型作業執行時間預測誤差
可以看出,由LSTM模型預測得到的作業執行時間和真實的用戶作業執行時間非常相近,平均誤差為0.78%。對WordCount作業的預測誤差為1.0972%±3.5031%;對Sort作業的預測誤差更小,但是標準差略大,為0.4667%±3.6076%。預測的誤差時間高于或低于真實作業運行時間對作業調度有不同的影響。預測時間低于真實執行值可能導致無法按時成完用戶作業;反之,則會導致集群拒絕有能力按時完成的作業。具體的誤差分析結果如表8所示。

Table 8 Error analysis of experimental results表8 實驗結果誤差分析
從表8可知,正誤差和負誤差的數量相當,且都不超過10%。假設預測的作業執行時間為y小時,滿足用戶要求的作業運行時間為z小時。當z≤1.1y,就可以確定集群能夠為用戶提供服務,保證了用戶滿意度。
為了提高數據中心的服務質量,數據中心必須保證在用戶要求的截止時間前完成作業。因此,在接收用戶作業前,數據中心需要根據當前可用資源預測出作業的完成時間,以確定是否能夠為用戶提供服務。本文提出了一種基于LSTM的用戶作業執行時間預測模型,在描述了模型所需的輸入、輸出后,通過實驗和分析確定了LSTM模型所需的超參數取值,以提升模型的效率和精度。實驗表明時間預測模型的擬合優度R2能夠達到99.24%,平均預測誤差為0.78%,優于對比組的時間預測模型。
目前本文所使用的歷史作業數據量較少,考慮的作業類型也較少,為了進一步提升模型的預測精度,下一步將繼續增大訓練數據規模;單一模型的預測效果通常沒有復合模型好,下一步將把LSTM與注意力機制相結合,提出性能更好的模型;同時將在真實數據中心上進行更多的實驗來驗證模型的有效性和可擴展性。