張可涵,李紅艷,劉文慧,王 鵬
(1.西安電子科技大學 綜合業(yè)務網絡理論及關鍵技術國家重點實驗室,陜西 西安 710071;2.淘寶(中國)軟件有限公司,浙江 杭州 311100)
在全球數字經濟快速發(fā)展的變局下,數字技術已經成為了各國基礎建設的重要發(fā)展目標之一。2022年我國大力推行了“東數西算”工程,通過構建數據中心、云計算、大數據一體化的新型算力網絡體系,優(yōu)化數據中心建設布局,促進東西部協(xié)同聯(lián)動[1]。由此可見數據中心網絡作為數據傳輸、計算和存儲的中心[2],是數字經濟時代最重要的基礎設施之一。據統(tǒng)計,全球超大規(guī)模數據中心數量已增至659個,而我國政府、企業(yè)、教育機構等擁有各類數據中心機房約7.4萬個,約占全球數據中心總量的23%[3]。隨著數字經濟的快速發(fā)展,數據中心市場高速增長。
數據中心網絡中核心業(yè)務場景為計算任務。該類任務請求多以虛擬網絡形式存在,即通過將數據中心網絡中的計算任務拆分成多個子計算任務,支持將不同計算子任務部署在不同的服務器節(jié)點執(zhí)行分布式并行計算[4-5]。相比于將全部任務部署于同一個節(jié)點進行計算,分布式并行計算可大大壓縮任務的計算時延,提升用戶的體驗。此外,虛擬網絡技術[6-9]支持數據中心計算資源、存儲資源和網絡資源的共享[10],可有效提升數據中心資源利用率和網絡吞吐量,降低網絡運營成本。具體地,數據中心虛擬網絡由節(jié)點和鏈路構成,節(jié)點代表計算子任務,每個子任務對所部署的服務器節(jié)點有計算能力要求,用Flops衡量[11];鏈路代表子任務間的通信需求,可用鏈路通信速率衡量。進而,數據中心網絡部署計算任務的過程稱為虛擬網絡映射,即將虛擬網絡中節(jié)點部署于滿足其計算能力需求的服務器容器中,不同節(jié)點所部署容器之間連接的網絡容量(即端到端帶寬)需滿足該子任務間的通信需求。在虛擬網絡中,每個子任務會處在不同服務器的虛擬機中,根據虛擬機編號可以查找出一個業(yè)務下的所有子任務,據此構建一張業(yè)務虛擬網絡拓撲圖。如圖1所示,一個計算任務下涵蓋5個子任務,將計算任務映射于數據中心的服務器中,虛線代表該子任務映射于所指向服務器的容器中,最終這些子任務按序或并發(fā)執(zhí)行。事實上,由于虛擬網絡流量預測精度欠佳,虛擬網絡映射多依據業(yè)務需求的峰值進行資源分配,制約了數據中心資源利用率[12-15],阿里巴巴集團控股有限公司中數據中心計算資源利用率僅約為39.28%[16],亟需提出高效精準的虛擬網絡業(yè)務預測模型,支撐數據中心網絡資源的高效分配,提升數據中心網絡的資源利用率。
圖1 業(yè)務虛擬網絡拓撲圖
目前,大部分數據中心網絡流量預測工作集中在單鏈路流量預測領域,但由于鏈路之間的通信帶寬需求會相互影響,單鏈路預測難以捕獲不同鏈路間的關聯(lián)關系,導致預測精度難提升。文獻[17]提出了基于卷積神經網絡(Convolutional Neural Network,CNN)的網絡流量預測方法,將網絡流量的時間序列轉換為圖像,用卷積核來捕獲流量特征。由于卷積神經網絡的卷積核大小有限,難以捕獲長周期序列的相關特征[18]?;诖?文獻[19]提出了循環(huán)神經網絡(Recurrent Neural Network,RNN)模型,在隱藏層的神經元之間建立連接,表征了神經元的當前狀態(tài)與歷史狀態(tài)之間的關系,易于捕捉較長周期序列的相關特征,由于神經網絡固有的梯度消失的問題,RNN神經網絡仍然無法精準預測長周期序列。文獻[20]等提出了基于長短期記憶網絡(Long Short-Term Memory,LSTM)流量預測方法。與RNN網絡相比,LSTM網絡中的神經元增加了3個門結構,用于控制歷史信息在隱藏層中的傳播方式,在一定程度上避免了梯度消失問題。
虛擬網絡環(huán)境中,由于任務之間的相關性,鏈路流量不僅與本鏈路的歷史信息相關,還與網絡中的其他鏈路流量相關。圖2刻畫了不同鏈路上的通信流量大小隨時間變化的曲線,如圖2(a)和圖2(b)所示,容易發(fā)現(xiàn)兩條鏈路的流量趨勢呈現(xiàn)明顯的相關性,即當圖2(a)中的曲線在20~30時刻上升時,圖2(b)中的曲線也在30~40時刻內出現(xiàn)上升趨勢。因此,充分挖掘鏈路流量之間的空間相關性和時間相關性信息,是提升數據中心網絡流量的預測精度的關鍵。
事實上,圖神經網絡(Graph Neural Network,GNN)[21]具備從圖中提取節(jié)點間相關關系的能力。當前用于預測的兩種熱門圖神經網絡:圖注意力網絡(Graph Attention neural Network,GAN)[22]和圖卷積神經網絡(Graph Convolutional Network,GCN)[23-24],兩者都能夠挖掘并利用不同鏈路之間的空間相關性。其中,GAN網絡是在GCN網絡基礎上進行改進所提出的模型,適用于動態(tài)圖的建模,但在虛擬網絡中一個業(yè)務下分割的子任務數往往是固定的,即網絡的節(jié)點數是不變的,且所構成的網絡規(guī)模較小,而GAN網絡參數比GNN網絡和GCN網絡更多,計算復雜度更高,并不適用于小型網絡的建模。而對于傳統(tǒng)的GCN網絡,由于其難以學習節(jié)點的時間特征,往往需要和其它時序模型進行結合。文獻[25]提出了時間圖卷積網絡,利用圖卷積神經網絡GCN捕獲道路間的流量關系,利用門控循環(huán)神經網絡(Gated Recurrent Unit,GRU)[26]提取道路流量的時間序列特征。然而,時間圖卷積網絡只能提取某一時刻下鏈路間的時間特征,難以表征鏈路之間的異步關系,即鏈路之間在一定時差下的相關性。因此,盡管GCN網絡以及基于時間的GCN網絡可有效挖掘網絡中不同鏈路的相關性,將傳統(tǒng)GCN網絡以及基于改進的CCN網絡應用于虛擬網絡流量預測,仍面臨如下挑戰(zhàn):①虛擬網路各任務的啟動可能存在先后順序,而GCN網絡假定圖中各節(jié)點同步,忽略了虛擬鏈路之間的異步特征,導致預測模型精度低;②GCN固定長度的卷積核難以捕獲不同時段的流量特征,如圖2(a)所示,0~80時刻內,流量隨時間上升且波動較小;80~240時刻內,流量隨時間劇烈抖動,若采用相同長度的卷積核,難以匹配該流量的實時變化情況,使得不同時段預測精度差距較大。
(b) 任務1與任務3之間的通信流量
針對上述問題,筆者提出了一種時間相關圖卷積神經網絡(Temporal Correlation Graph Convolutional Network,TC-GCN),通過充分挖掘虛擬網絡各鏈路間的時間和空間相關性,以及利用不同時間窗口長度的GCN網絡進行聯(lián)合學習,精準預測了虛擬網絡各鏈路的流量。首先,利用皮爾遜相關系數的流量相關性分析方法,分析虛擬網絡各鏈路流量之間的時間關系,解決了虛擬網絡鏈路間由于流量異步性導致的預測偏差,據此提出了具有時間屬性的GCN網絡鄰接矩陣,并設計了時間相關GCN神經網絡,實現(xiàn)鏈路相關性的精準表征;其次,分別構建長窗口/短窗口時間相關GCN神經網絡,作為序列特征的訓練模型,用于學習流量序列平滑段和波動段,以此匹配流量在不同時段的特征,有效避免了神經網絡對于長序列學習后的梯度消失問題;最后,設計了一個誤差加權單元(Error Weighted Unit,EWU),依據長窗口、短窗口GCN網絡模型的預測精度,構建長短窗口GCN網絡輸出值的加權系數,提升虛擬網絡的流量預測精度;利用反向傳播算法學習時間GCN網絡、誤差加權單元的參數,構成虛擬網絡流量預測模型TC-GCN。在數據中心所產生的真實數據集上,設計了數值仿真實驗,驗證了TC-GCN模型的流量預測精度高于傳統(tǒng)GCN網絡。文章最后總結了文中工作,討論了后續(xù)的研究工作。
如圖3(a)所示,虛擬網絡可以用圖F進行表征,圖中的節(jié)點為計算任務節(jié)點,節(jié)點間的鏈路為虛擬鏈路,僅承載任務節(jié)點之間的流量。為方便GCN網絡進行計算,這里將圖F映射為鏈路流量關系圖G,如圖3(b)所示,圖中的節(jié)點vi對應虛擬網絡中的鏈路li,若虛擬網絡中的兩條邊為鄰接關系,如邊l1和邊l2,則在鏈路流量關系圖中v1與v2亦為鄰接關系。
圖3 虛擬網絡與鏈路流量映射關系
(1)
節(jié)點v1與v2,v3與v4的皮爾遜相關系數分別如圖4(a)和4(b)所示。在圖4(a)中,可以觀察出v1與v2這兩個節(jié)點的相對時刻為5時,虛擬網絡兩條鏈路的相關性最大。鏈路流量相關性隨著相對時刻的增加而降低,各鏈路之間的相關性存在差異。圖卷積神經網絡依據鏈路之間的相關性預測鏈路流量,若鏈路流量相關性與序列的相差時刻有關,圖卷積神經網絡的鄰接矩陣需考慮序列的時間因素。
(a) 圖3(b)中節(jié)點v1與節(jié)點v2之間的相關系數
(b) 圖3(b)中節(jié)點v3與節(jié)點v4之間的相關系數
這里提出了時間相關圖卷積網絡架構。如圖5所示,TC-GCN由兩個時間相關圖卷積神經網絡和一個誤差加權單元構成。設計了兩個時間相關圖卷積神經網絡TC-GCNl和TC-GCNs,其中TC-GCNl將包含較長時刻l的節(jié)點特征矩陣輸入TC-GCN進行圖卷積運算,TC-GCNs將包含較少時刻s的節(jié)點特征輸入TC-GCN進行圖卷積計算。兩者分別表征業(yè)務流量不同時段的緩變與劇烈波動特征。TC-GCNl用于匹配流量的緩變特征,TC-GCNs用于匹配流量的劇烈波動特征。誤差加權單元對兩個圖卷積神經網絡的輸出進行加權求和,旨在提升預測精度。與傳統(tǒng)圖卷積神經網絡相比,時間相關圖卷積神經網絡中的鄰接矩陣引入了鏈路流量的時間相關性,精準表征了鏈路流量之間的關聯(lián)關系。
圖5 TC-GCN網絡結構
虛擬網絡中各計算節(jié)點聯(lián)合承擔大型計算任務,各計算節(jié)點所承載子任務不同,導致各鏈路流量存在時間偏差和特征偏差,基于此,文中提出了時間相關圖卷積神經網絡,如式(2)所示。其中,Xt∈RN×M表示t時刻上N條鏈路流量的特征矩陣,每條鏈路的流量窗口長度為M個時刻。參數矩陣W用于提取鏈路流量序列的特征,W∈RL×M,W由M個卷積核構成,L為卷積核長度,通過訓練W提取鏈路流量的序列特征。
Y=ReLU(ADRXtW) 。
(2)
ADR∈RN×N表示N條鏈路流量之間的時間相關矩陣,用于替代傳統(tǒng)的圖鄰接矩陣。按照式(1)計算出每條鏈路之間的最大時間相關系數,采用softmax激活函數對所得相關系數進行歸一化處理,旨在對每條鏈路流量與其他所有鏈路流量之間的相關系數按照總和為1分配權重,如式(3)、(4)所示。歸一化后所得即為時間相關矩陣ADR的參數。
(3)
(4)
為了學習流量的不同局部時間特征,TC-GCN由兩個不同輸入窗口長度的GCN組成:長窗口圖卷積網絡TC-GCNl捕捉流量曲線中變化相對平緩的時間特征,短窗口圖卷積網絡TC-GCNs捕捉流量曲線中變化相對劇烈的時間特征,兩者都可以學習到流量的空間相關性。計算公式如下所示:
(5)
(6)
(7)
(8)
(9)
圖6 誤差加權單元結構
其中,Wl和bl代表TC-GCNl預測誤差的參數和偏置量,Ws和bs代表TC-GCNs預測誤差的參數和偏置量,xi為誤差大小。另外,激活函數NegR將各模塊預測值的輸出權重定義為一種與誤差負相關的關系,即誤差越大則為相應預測結果分配的權重越小,誤差越小則為相應預測結果分配的權重越大,且兩個輸出權重之和為1。這樣做的目的是盡可能使得誤差小的預測結果成為決定最終預測值的主導方,使得誤差大的預測結果對最終預測值的影響盡可能小。
最后,將兩個模塊的預測值按照輸出權重進行加權求和,得到最終結果Yt+1輸出,計算公式如下所示:
(10)
其中,ol和os分別代表TC-GCNl和TC-GCNs的輸出門權重系數。誤差加權單元EWU通過對TC-GCNl和TC-GCNs兩個模塊的預測值加權求和,生成時間相關圖卷積網絡TC-GCN的預測值,如此構成時間相關圖卷積網絡TC-GCN。
(11)
實驗數據集為2021年9月從3所大學的數據中心采集,其中包括1 980臺服務器,這些服務器部署于北京,每5 min采集一次,采集時長為8 d。收集的數據中包括時間戳、流量優(yōu)先級、到達和處理時間、容器Pod編號與源端口和目的端口。數據文件內包含1 040 000多條流量累計數據,總大小為2.7 GB。根據任務編號和執(zhí)行時間可分析出虛擬網絡的拓撲結構,從而構建出相應的圖結構。實驗選取前80%的流量序列作為訓練集,剩下20%的流量序列作為測試集。
4.2.1 基線模型
文中選擇以下5種對比模型。
差分整合移動平均自回歸模型(Auto Regressive Integrated Moving Average model,ARIMA)[27]:為線性預測模型。
長短期記憶網絡(LSTM):通過3個門結構控制信息的更新與傳播,適用于時間序列預測。
圖卷積神經網絡(GCN):對圖數據進行操作的神經網絡架構,適用于存在空間特征的序列預測。
時間圖卷積神經網絡(T-GCN):通過GCN提取時間特征,通過GRU提取空間特征。
時空圖卷積神經網絡(STGCN)[28]:通過多個時空卷積模塊進行特征提取,其中,時間模塊由一個一維卷積核與一個GLU組成,空間特征由圖卷積神經網絡提取。
4.2.2 實驗環(huán)境
實驗使用Python3.7基于Pytorch1.0.1實現(xiàn),實驗的編譯和測試均在Windows10系統(tǒng)下,使用CPU Inter(R)Core i3-7100 @ 3.90 GHz,GPU的型號是NVIDIA GeForce GTX 1050,內存8 GB。在實驗中使用了Facebook公司的Pythorch框架對神經網絡模型進行編寫,相比于TensorFlow,PyTorch網絡定義方便,更有利于研究小規(guī)模項目快速做出原型。實驗中,設置學習率learning rate=0.001,batch_size參數m=64,訓練次數epoch=50。
4.2.3 評價指標
準確率RAccuracy
(12)
平均絕對誤差RMAE
(13)
均方根誤差RRMSE
(14)
其中,RAccuracy值越大,預測性能越好;RMAE和RRMSE值越小,預測性能越好。
表1 不同模型預測虛擬網絡流量的性能
如表1中的結果所示,文中提出的時間相關圖卷積網絡TC-GCN性能較其它4個基線模型有較明顯提升,證明文中模型更加適用于數據中心虛擬網絡流量預測。
通過指標數據很容易觀察到不同基線模型在預測虛擬網絡流量時的性能差異;結合真實數據,根據各個模型的預測結果分別繪制相應的曲線圖,如圖7(a)所示??梢?傳統(tǒng)的統(tǒng)計方法ARIMA表現(xiàn)不佳,預測值在數據上升階段容易超出峰值,在數據下降階段容易低于峰谷,主要是由于線性方法很難處理復雜的、非平穩(wěn)數據。GCN在對時間序列數據進行預測時,可以大致學習出數據的變化趨勢,但很難準確擬合真實曲線,極有可能的原因是其難以學習數據復雜的時間特性,以及相鄰鏈路流量時間相關性。LSTM的預測性能優(yōu)于ARIMA和GCN,但相較組合模型STGCN和T-GCN顯現(xiàn)出較大的劣勢,這主要是因為實驗數據采集于數據中心網絡,受到網絡拓撲結構的影響較大,相鄰鏈路的流量數據會直接影響預測結果,而LSTM無法明確捕捉并利用到這些空間特征進行有效預測。STGCN也是基于迭代預測機制的組合模型,但是更多的網絡結構層導致其比TC-GCN引起更多的誤差累積,其使用一階門控卷積單元學習數據的時間特征,也遠不及T-GCN的時間特征學習能力,同時也未考慮相鄰鏈路數據的時間相關性,對于流量峰值的預測還不夠準確。而T-GCN也因為針對的是同一時刻的流量數據,忽略了不同時刻的時間關系,存在一定的時刻偏差,所以對于虛擬網絡的流量預測不精確。因此STGCN和T-GCN的預測性能相對遜色于TC-GCN的預測性能,如圖7(e)和圖7(f)所示。
(a) Arima預測結果圖
(b) GCN預測結果圖
(c) LSTM預測結果圖
(d) STGCN預測結果圖
(e) T-GCN預測結果圖
(f) TC-GCN預測結果圖
時間相關圖卷積網絡TC-GCN中添加了基于皮爾遜相關系數的相關性分析方法,不僅通過GCN計算相鄰鏈路在相同時刻的空間相關性,也能計算相鄰鏈路在不同時刻或時間段的時間相關性,充分捕捉了時空相關性對流量曲線波動的影響;另外,TC-GCN分別使用兩種GCN模塊捕捉流量的時間特性,通過輸入不同時間窗口的節(jié)點特征矩陣,訓練模型提取流量的長期特性和短期特性,其中短期特性對應著業(yè)務虛擬網絡流量值變化相對劇烈的時段,這樣也可以使得模型對于峰值的預測更加精準,并且能夠擬合流量曲線的包絡。這樣的預測結果對于數據中心資源分配工作具有更加重要的現(xiàn)實意義,當分配的資源能夠滿足需求最大值時,也就能保障業(yè)務整體的QoS。
筆者提出了時間相關圖卷積神經網絡,利用皮爾遜相關系數,構建了具有時間屬性的GCN網絡鄰接矩陣,精準表征了鏈路之間的相關性;設計了長/短窗口GCN加權的流量預測機制,利用不同的窗口長度匹配流量序列在不同時段的緩變與波動特征,提升了虛擬網絡的流量預測精度。利用數據中心所生產的真實數據驗證了所提模型的有效性??梢娨罁髁刻卣鲗CN網絡進行改進,有助于提升神經網絡的可解釋性,降低神經網絡的規(guī)模,提升神經網絡在在線流量預測中的適用性。在下一步工作中,將進一步改善GCN網絡的鄰接矩陣,并考慮動態(tài)圖建模的情況,結合圖注意力網絡,嵌入式圖卷積網絡等結構,以提升流量預測的精度。