黨偉超 武婷玉



摘 要:針對邊緣云環境的自動化和分布式特性、高度不可靠性及易變的工作負載問題,提出基于注意力時空卷積和A2C的虛擬機主動容錯優先遷移決策模型ASTA2C。首先,采用帶有注意力機制的長短期記憶網絡(LSTM)提取各主機的時序特征,根據時序特征和多主機間的交互信息構建圖網絡,再利用圖注意力網絡(GAT)提取網絡中不同主機間的關聯信息,將其用于主機的故障信息編碼。其次,設計可動態建立模型并不斷生成改進決策的A2C模塊,聯合故障編碼信息和調度決策信息進行優先遷移決策。最后,構建滿足不同用戶QoS要求和應用程序設置的自適應損失函數來優化調度決策。實驗結果表明,該模型在故障檢測、能源消耗、時延敏感性等方面優于最先進的基線,是提高邊緣云計算可靠性的理想選擇。
關鍵詞:虛擬機調度;時空卷積;A2C;主動容錯;優先遷移
中圖分類號:TP391.9?? 文獻標志碼:A?? 文章編號:1001-3695(2023)12-013-3606-08
doi:10.19734/j.issn.10013695.2023.03.0144
Active faulttolerant priority migration decision model for virtual machines based on attentional spatiotemporal convolution and A2C
Abstract:This paper proposed an active faulttolerant priority migration decision model for virtual machines based on attentional spatiotemporal convolution and A2C(ASTA2C).This method improved reliability and adapted to volatile workloads in resourceconstrained edge cloud computing environments.Firstly,it used a long shortterm memory network (LSTM) with an attention mechanism to extract the temporal features in each host.It combined temporal features and interaction information between multiple hosts to build graph networks.Then it used graph attention network (GAT) to extract association information between different hosts in the network,and the association information would be used to encode the fault information of hosts.Next,it designed the A2C module to dynamically build models and continuously generate improved decisions,this module could combine fault code information and scheduling decision information for priority migration decision.It constructed adaptive loss functions to optimize scheduling decisions to meet different user QoS requirements and application settings.Experimental results show that the proposed model outperforms the stateoftheart baseline in terms of fault detection,energy consumption,and delay sensitivity.It is ideal for improving the reliability of edge cloud computing.
Key words:virtual machine scheduling;spatiotemporal convolution;A2C;active faulttolerant;priority migration
0 引言
云計算快速發展、設施規模大幅擴大給云服務提供商帶來了能耗及容錯方面的巨大挑戰[1],及時準確可主動容錯的虛擬機調度不僅可以保持云計算的低延遲和高可靠性,還可以提高能源利用率,對于國家節約能源、保護環境和推進可持續發展有著重要意義。
由于網絡延遲的增加,傳統的以云為中心的物聯網部署無法為許多時延敏感的應用程序提供快速響應,如醫療保健、應急響應和流量監控[2],因此,低延遲響應的邊緣—云計算架構應運而生。設計一個能夠有效管理工作負載和底層資源,并主動檢測故障以避免不必要損失的調度決策對邊緣云環境來說至關重要,其不僅可以有效地利用邊緣資源以適應更多應用程序,還能最大化服務質量(QoS)。但是在邊緣云環境中創建能夠容錯的調度決策是極具挑戰性的。首先,遠程云和本地邊緣節點服務器可能是異構的,在容量、速度、時延等方面均存在顯著差異。其次,由于邊緣云環境的移動性因素會導致數據源與計算節點之間的帶寬不斷變化,調度決策必須持續地動態優化以滿足應用需求。此外,任務到達率、任務持續時間和資源需求等方面的隨機性以及邊緣設備的不可靠性和現代應用程序嚴格的服務期限進一步加大了容錯決策的復雜性。
與普通系統相比,在云系統中執行請求時需要對更高程度的錯誤和故障進行容錯。當系統中的組件停止正常工作時,容錯機制可以使系統以某種方式繼續運行,而不是完全癱瘓,提供可靠的服務是云系統中最必要的問題之一。相關的提高服務可靠性[3~5]的容錯機制受到人們的極大關注。文獻[6]提出可以通過提供冗余節點和網絡應急措施來避免邊緣主機的癱瘓性停機。然而,隨著云平臺設備數量的不斷增加,這種部署對能源和成本的影響將會越來越大,對每個節點都冗余配置幾乎是不可行的。文獻[7]提出在單獨的節點上復制任務的運行實例,但這對資源緊張的邊緣云環境并不理想,且更容易使之受到資源競爭和故障的影響[8]。現如今最先進的容錯技術采用的是某種形式的專門算法或機器學習模型。動態容錯遷移(DFTM)[4]根據整數線性規劃(ILP)公式分析工作負載流量,選擇需要遷移的虛擬機和恢復的目標主機。主動協調容錯(PCFT)[3]方法使用粒子群優化(PSO)來降低任務的總體傳輸開銷、網絡消耗和總執行時間,主要側重于減少分布式云環境中的傳輸開銷,但不能提高計算節點的I/O性能。節能檢查點和負載平衡(ECLB)[9]技術使用貝葉斯方法和神經網絡將主機分為過載、欠載和正常三類。但是,該模型只考慮過載異常,而沒有考慮其他故障類型。CMODLB[10]使用了一種基于聚類的多目標動態負載平衡技術避免云計算節點中的資源沖突。該方法采用Kmeans進行節點聚類以識別過載主機,通過PSO選擇任務,采用深度學習和模糊邏輯優化來選擇目標主機。但緩慢的PSO優化會導致恢復時間過長,不適合應用在高度動態的系統中[11]。
邊緣云環境中現有的資源調度算法一直被啟發式或基于規則的策略[12~17]所主導,其中最著名貢獻之一是Beloglazov等人的工作,在文獻[13,18]中提出并探索了虛擬機(VM)資源優化三個階段的各種啟發式方法,對過載物理主機的檢測提出了中位數絕對偏差(median absolute deviation,MAD)算法和四分位距(interquartile range,IQR)算法,在選擇需要遷移的虛擬機時,提出了隨機選擇(random selection,RS)策略、最小遷移時間(minimum migration time,MMT)策略以及最大關聯(maximum correlation,MC)策略,將遷出的虛擬機重新放置到合適的目標主機上時,提出了基于能耗感知的最佳降序(power aware best fit decreasing,PABFD)算法,固定的云資源數量的情況下,可以使用這些方法來滿足預期的軟件服務請求,但是環境一旦發生改變就可能不再滿足QoS要求,因為設置自適應的軟件服務動態需求資源閾值是非常困難的,所以啟發式或基于規則的策略在動態且不穩定的云環境中降低能源消耗的有效性會受到限制。進化方法如遺傳算法(GA)[19,20],屬于無梯度優化方法,無梯度的方法不具有可伸縮性且需要更長的時間收斂,非局部跳轉可能導致調度決策的重大變化,從而引起大量的遷移。文獻[21]定義了關于關閉物理主機數量和虛擬機遷移次數的適應度函數,以最小化遷移次數為優化目標,利用蟻群系統求解虛擬機和主機的最佳映射關系,但是容易使高能源利用率的物理主機出現過載風險,影響QoS,并且遺傳算法不能很好地解決大規模計算量問題。Hieu等人[22]使用了多重線性回歸(MLR)預測物理主機的過載和欠載,基于機器學習(machine learning,ML)[23]或深度學習(deep learning,DL)[24]的解決方案通常需要大量的歷史系統數據和訓練時間構建準確的工作負載預測模型,然而,在動態且不穩定的云環境中提供足夠的訓練數據是非常困難的。Duggan等人[25]引入了一種基于強化學習(reinforcement learning,RL)網絡感知的實時遷移策略,該模型使智能體能夠學習并選擇VM最佳遷移時間,以便更好地利用受限的邊緣資源。但是現有的基于RL的方法主要針對靜態的工作負載,當工作負載發生變化時,就需要重新訓練決策模型[26]。因此,這些方法無法有效適應工作負載和服務請求可變的云環境。
針對上述問題,本文提出了一種基于注意力時空卷積和A2C的虛擬機主動容錯優先遷移決策模型ASTA2C,采用時空卷積模塊提取虛擬機的時間和空間特征,以在線方式檢測、診斷和分類故障,進而得到準確的故障預測信息,設計A2C策略學習算法可動態建立模型并通過不斷生成改進決策來學習最優策略,即使在沒有完整環境模型的情況下,也可以通過智能體依次選擇最佳動作,進而學習到最優策略與環境在線交互,該策略學習算法利用基于價值和基于策略的優點,同時消除其弊端,并且為了滿足不同用戶的QoS要求和應用程序設置,構建了自適應損失函數來幫助實現高度優化的調度決策,進而使模型能夠達到自適應的要求。此外,為了使調度決策更符合實際場景需求,本文在此基礎上針對預測的故障信息改進調度決策,以實現主動容錯優先遷移決策,最后通過廣泛的仿真實驗證明了所提方案的優越性,并將結果與幾種基線策略進行比較。
1 系統模型及問題定義
1.1 系統模型
本文研究的是一個典型的異構邊緣云環境中的虛擬機資源調度問題,其中所有節點都連接在同一個局域網(LAN)中,考慮了不同層(邊緣和云)的計算設備之間以及計算設備和管理層之間交互的網絡延遲效應,忽略了同一層設備之間的通信延遲。任務是由物聯網層中的傳感器和執行器生成的虛擬機實例,并通過網關設備通信到計算節點,系統模型如圖1所示。
1.2 工作負載模型
隨機生成虛擬機,每個虛擬機都有一個動態的根據物聯網設備用戶需求和移動性變化而變化的工作負載。將執行時間劃分為等長的調度區間,根據其發生的順序進行排序,如圖2所示。第i個調度區間顯示為Ii,它從時間ti開始持續到下一個區間的開始,即ti+1。在Ii的開始階段,將完成任務要休眠的虛擬機記為li-1,生成的新的虛擬機記為ni。虛擬機li-1離開系統,新的虛擬機ni被添加到系統中。在Ii中,活動的虛擬機是在主機上執行任務的虛擬機,表示為ai。
1.3 問題定義
本文提出一種基于注意力時空卷積和A2C虛擬機主動容錯優先遷移決策模型,研究邊緣云環境(1.1節)動態工作負載(1.2節)條件下考慮主動容錯的調度決策性能問題。調度決策的性能通過為每個調度區間定義的損失度量來確定,將區間Ii的損失表示為Lossi,主動容錯模型的性能通過準確率(accuracy)、精確度(precision)、召回率(recall)以及F1分數來衡量。假設在資源層中有m個主機,并將它們表示為H={h1,…,hm},將虛擬機V分配給主機表示為{V},將調度決策定義為系統狀態到動作之間的映射函數statei→actioni,開始時系統狀態表示為statei,由主機的參數值、前一個間隔的剩余活動虛擬機(ai-1\li-1)和新虛擬機(ni)組成。調度程序必須決定ai=ai-1∪ni\li-1中的每個虛擬機被分配或遷移的主機,稱為調度間隔Ii的actioni,miai-1\li-1,actioni=h∈Hosts for V|V∈mi∪ni。
模型由時空卷積容錯和深度強化學習調度決策兩個模塊構成。
1.3.1 基于注意力時空卷積容錯模塊
本文通過注意力時空卷積模塊提取主機的特征,進而得到主機的故障類型。對于時間卷積模塊,采用加入注意力機制的長短期記憶網絡(long shortterm memory,LSTM)來提取主機時間序列上的特征,LSTM改善了RNN中存在的長期依賴問題,且表現通常比時間遞歸神經網絡及隱馬爾可夫模型(HMM)好;空間卷積模塊采用圖注意力網絡(graph attention network,GAT)來提取多個主機間交互的虛擬機信息。與GCN不同的是,GAT 給予同一鄰域節點不同程度的重要性,注意力機制以共享的方式應用于圖中所有的邊,不依賴于對全局圖結構的預先訪問,也不依賴于對所有節點特征的預先訪問,提升了模型的性能,因此,GAT更適合應用在大型云數據中心。
對于輸入的多變量時間序列{x0,…,xt-1},通過注意力時空卷積容錯模塊預測Ii中每個主機的故障標簽yt∈{0,1,…,c}m。這里,yt,i表示hi的輸出,yt,i=0表示沒有故障,yt,i=j表示用戶指定的c類中的j類故障j∈{1,…,c}。
1.3.2 基于深度強化學習的調度決策
聯合調度決策Si(虛擬機和主機對集)和預測問題yt的解產生一個可以主動容錯優先遷移的決策。
為了模擬數據點在時間戳t處的依賴關系,考慮長度為k的滑動窗口,記為Wt={xt-k,…,xt-1}。為了提高模型的魯棒性,對輸入窗口進行了規范化處理。
2 建模方法
本章主要介紹本文提出的ASTA2C模型。ASTA2C模型分為注意力時空卷積模塊AST和深度強化學習A2C模塊兩部分。ASTA2C模型概述如圖3所示,其中S0表示初始調度,EF0表示隨機初始化容錯信息。
2.1 注意力時空卷積模塊
首先輸入時間序列窗口Wt被轉換為k×m×n的張量。其中k表示時間窗口大小,一共m個主機,每個主機都具有n個特征。
2.1.1 時間卷積模塊
為了提取主機的時序特征,本文首先將時間序列窗口Wt首先經過一個普通的長短期記憶網絡(long shortterm memory,LSTM)處理:
O′1=LSTM(Wt)(4)
時序數據Wt經過LSTM后,得到了k個時間步上的隱藏層輸出矩陣H∈Euclid Math TwoRApm×k×d,其中d表示隱藏層維度。為了得到輸出O1,通常取最后一個時間步的輸出進行映射輸出。然而,這種做法沒有考慮其他時間步的隱藏層輸出對最后一個時間步輸出的影響,因此考慮在時間步之間執行注意力機制。融入注意力機制后,每一個時間步上的輸出都包含了其余時間步輸出的特征信息。對于注意力機制,首先有
E*=HHT(5)
其中:HHT∈Euclid Math TwoRApm×k×k,表示m個主機k個時間步兩兩之間的內積。通常,向量間內積越大,表示向量間的相似性越高,即重要性程度越高。將該內積當做權重使用softmax函數進行歸一化,以得到每一個時間步與其余時間步間的權重系數:
E=softmax(E*)(6)
然后,將權重系數矩陣E作用到隱藏層輸出矩陣H中:
H′=EH(7)
其中:H′∈Euclid Math TwoRApm×k×d表示使用了注意力機制更新后的隱藏層輸出矩陣。例如H′[1,k,:]∈Euclid Math TwoRApd表示第1個主機最后一個時間步(第k個時間步)的輸出,在上式中,得到H′[1,k,:]的計算過程為
其中:E[1,k,i]表示第1個主機第k個時間步與第i個時間步間的注意力分數,注意力分數由兩個時間步間的內積決定;H[1,i,:]表示第1個主機第i個時間步的向量。上式表明,第1個主機第k個時間步的向量等于所有k個時間步向量的加權。加權重要性由兩個時間步向量間的內積決定,內積越大,兩個時間步間的權重越大。執行注意力機制后,所有主機每個時間步的輸出都是其他所有時間步的加權組合,即包含了所有時間步的信息。為了預測下一時刻的主機故障,本文取H′中最后一個時間步的輸出,然后利用前饋層進行映射,即
O1=FeedForward(H′[:,k,:])(9)
其中:O1表示所有主機經過時間卷積模塊的特征。與式(4)即普通的LSTM相比,式(9)中得到的主機特征考慮了時間序列窗口中每個位置的信息,這有利于提取到更深層次的主機特征。
2.1.2 空間卷積模塊
傳統模型通常僅利用主機的時序特征進行主機的故障類型判斷。然而,不同的主機間存在虛擬機交互的情況,某個主機的故障類型通常也會受到其余主機的影響。為了提取主機間的虛擬機交互信息,可將主機間的調度S形成圖網絡,在調度S中如果有虛擬機從主機hi遷移到hj,調度S形成的圖網絡就會存在一條從hi到hj的邊,然后利用每個主機的特征作為圖網絡節點的特征向量。圖神經網絡作為一種可以有效提取圖數據中節點特征的模型,在本文中將被用于提取融合交互各個主機間的特征,即空間卷積。
令A表示圖網絡的鄰接矩陣:
通常,一個主機會與多個主機間存在虛擬機交互,即圖網絡中一個主機節點通常存在多個鄰居節點。而GNN通常是通過聚合相鄰節點的特征來形成節點新的特征,由于不同的鄰居節點主機對中心節點主機的重要性通常不同,所以,本文使用圖注意力網絡(GAT)來進行不同主機間的特征聚合:
O2=θGATO1(11)
其中:O1表示經融入了注意力機制的LSTM提取后的時間序列特征;O2表示經GAT提取后的多主機特征相關性。通過上式實現了時間卷積與空間卷積的連接。
令圖網絡中主機hi輸入到GAT中的初始特征為fi=Oi1(Oi1表示主機hi經過時間卷積模塊的特征),為了得到足夠的表達能力,將輸入特征轉換為更高級的特征,首先對hi的特征進行轉換:
f′i=Wattfi(12)
其中:Watt表示執行特征轉換的權重矩陣。接著,hi的鄰居hj對hi的重要性程度被定義為
αij=LeakyReLU(ΦT·[f′i‖f′j])(13)
其中:‖表示拼接操作;Φ表示執行注意力機制的矩陣;αij表示計算得到的主機hj對hi的重要性分數。值得注意的是,αij的計算取決于兩個節點的特征,這種重要性是不對稱的,即主機hj對hi的重要性αij與主機hi對hj的重要性αji不相等。上述重要性程度的計算是一個可學習的過程,隨著模型的不斷優化,主機間重要性程度的計算也會越來越準確。
在得到hi所有鄰居對它的重要性分數后,將所有鄰居節點的重要性分數利用softmax函數進行歸一化,以使得所有分數的和為1:
其中:Ni表示hi的鄰居節點集合。對所有權重分數進行歸一化后,利用權重分數對鄰居節點的特征進行加權以得到hi更新后的特征:
其中:σ表示非線性的激活函數;Oi2表示經過圖注意力層更新后hi的特征。
令所有主機經圖注意力層更新后的特征為O2。最終,所有主機輸出O表示如下:
O=αO2+βO0,α,β,>0∩α+β=1(16)
O0的表達式如式(17)所示,其中,θ是權重參數矩陣。最終輸出O中包含了兩部分:a) 以時序特征O1作為空間特征O2的輸入整體輸出;b)初始殘差連接,即βO0。通過調節兩個超參數α、β來控制兩個模塊的占比,進而有效防止過平滑。
O0=θW(17)
2.1.3 故障編碼模塊
經過注意力時空卷積,可以有效提取到主機本身的時序特征和主機間的空間特征,最終,將提取得到的特征用于生成主機的故障編碼。
具體來講,每個主機hi的特征Oi將通過兩個神經網絡進行故障編碼:
DAi=softmax(FeedForward(Oi))
Pi=sigmoid(FeedForward(Oi))(18)
其中:DAi∈Euclid Math TwoRAp2表示故障預測。本文將主機hi的故障嵌入定義為
如果DAi[1]≥DAi[0],說明hi出現故障,對應的故障信息為Pi∈Euclid Math TwoRApE,否則無故障。
2.2 A2C模塊
2.2.1 A2C優先遷移決策模塊
主機的故障編碼信息將參與生成新的遷移決策:
Δ=A2C(S,ΕF)(20)
其中:Δ∈Euclid Math TwoRApP×n表示優先遷移決策。通常,可以選擇使用原始的決策信息S還是新的優先遷移決策信息N。因此遷移決策將通過一個神經網絡得到概率:
D=softmax(FeedForward(N))(21)
其中:D∈Euclid Math TwoRAp2表示使用S和N作為調度預測似然分數。本文將最終的調度決策定義為
在接下來的一節中,將詳細介紹式(20)的細節,即利用A2C算法生成調度決策的細節。
2.2.2 A2C調度決策模塊
A2C算法具體流程如下:
a)將調度S和故障預測信息EF拼接后作為當前狀態statei輸入到A2C網絡模型中,根據策略網絡做決策,actioni~π(·|statei;θnow),并讓智能體執行動作actioni;
b)根據本文提出的自適應損失函數得到回報ri和新的狀態statei+1;
f)更新價值網絡:
wnew←wnow-α·δi·wq(statei,actioni;wnow);
g)更新策略網絡:
在間隔Ii開始時,模型需要根據輸入的statei為ai中的每個虛擬機提供一個主機分配,輸出表示為actioni,是每個新虛擬機的主機分配和來自之前間隔的剩余活動虛擬機的遷移決策。分配必須在可行性約束方面是有效的,這樣每個遷移的虛擬機一定可以遷移到新主機上(將可遷移虛擬機表示為miai,表示未被遷移)。此外,當虛擬機被分配給任何主機h時,分配后主機h不應該過載,因此,通過式(23)來描述actioni。
subject to:actioni is suitable for t:t∈ni∪mi
然而,開發一個受約束輸出的模型在計算方面上是困難的,因此本文使用無約束動作模型的另一種定義,即在目標函數中添加約束條件。神經網絡的輸出是每個虛擬機對主機的分配偏好向量,因此可將受約束輸出轉換為每個虛擬機提供一個優先級主機列表來滿足式(23)的約束條件。對于虛擬機Vaij,該模型會提供一個按分配偏好降序排列的主機列表[H0j,H1j,…,Hnj],而不是為每個虛擬機指定一個主機。將策略表示為無約束動作模型,表示為actionPGi,如下所示。
此無約束的操作不能直接將虛擬機分配到主機,需要將actionPGi通過式(25)轉換為actioni,為每個可遷移的虛擬機選擇最合適的主機。通過式(25)的換算,actioni總是遵循式(23)中指定的約束條件,因此模型修改為
生成actioni即遷移決策Si后,將該決策Si和時間序列窗口Wt作為基于注意力時空卷積的容錯模型的輸入,該模型的輸出Δ即為加入故障預測信息后的優先遷移調度決策。
2.3 損失函數
2.3.1 容錯模塊三元損失函數
為了對故障進行分類,首先為每個故障類別定義原型向量{PCo,…,PCc},從[0,1]F中隨機初始化,這些類別原型向量表示各自嵌入的質心如Kmeans聚類方法,在小樣本學習使用的原型網絡中,模型生成的新嵌入屬于與類別原型的歐氏距離最小的類。為了減小輸出嵌入到真實類別原型的距離并增加到虛假類別原型的距離,使用三元損失函數對故障進行分類。對有故障的主機,損失包括輸出嵌入和真實類別原型之間的L2范數以及輸出和虛假類別原型之間的負L2范數:
在訓練過程中,如果一個輸出嵌入屬于正確的類,就可以將該類別的原型更新為
2.3.2 A2C模塊自適應損失函數
為了優化調度決策的性能以及滿足不同用戶的QoS要求和應用程序設置,構建自適應損失函數作為模型參數更新的度量,之后根據應用需求確定評價指標,通過A2C策略學習算法最小化Lossi。一個時間間隔的損失取決于主機對虛擬機的分配,即模型的動作。因此,對于一個最優模型,這個問題可以用式(29)來表述:
本文定義了各種指標(標準化為[0,1]),以幫助定義lossi。
a)平均能源消耗(AEC)定義為任意區間的基礎設施(包括所有邊緣和云主機)的能源消耗,將環境的最大功率標準化。由于邊緣節點和云節點有不同的能源來源,所以,本文將主機h∈Hosts消耗的能量乘以αh∈[0,1],可以根據用戶需求和部署策略設置邊緣節點和云節點。
其中:Ph(t)為主機h隨時間的冪函數;Pmaxh為主機h單位時間的最大功率。
b)平均響應時間(ART)定義為一個區間Ii即該區間內所有離開的虛擬機(li)平均響應時間,響應時間是主機響應時間和虛擬機執行時間的總和,在當前區間將最大響應時間歸一化,如式(31)所示。
c)成本(C)定義為一個區間Ii即該區間內產生的總成本,如式(32)所示。
其中:Ch(t)為主機h隨時間的成本函數;Cmaxh為主機h的單位最大成本。
為了最小化上述指標,本文將Lossi定義為區間Ii的這些度量的凸組合,如式(33)所示。可以通過設置不同的超參數值(γ,δ,ε)來達到不同的用戶QoS要求和應用程序設置,如對于能源敏感應用[27],需要優化能源就可以將損失γ值設置為1,其余超參設置為0。對于響應時間敏感的應用程序,如醫療保健監控或流量管理[28],將損失δ設置為1,其余為0。同樣地,對于不同的應用程序,可以設置不同的超參數值。
Lossi=γAECi-1+δARTi-1+εCosti-1
γ,δ,ε≥0∩γ+δ+ε=1(33)
3 實驗設置
3.1 數據集
本文使用的數據集是Bitbrain的負載數據集(該數據包括兩類機器上托管的超過1 000個虛擬機工作負載的日志)。評估測試臺是一個有著16個RaspberryPi 4B節點的集群,該集群包含8個4 GB RAM的節點和另外8個8 GB RAM的節點。功耗模型取自常用的SPEC基準測試存儲庫[29]。
3.2 評價指標
對于故障檢測,本文考慮常見的分類指標,即準確率(accuracy)、精確度(precision)、召回率(recall)以及F1分數。
3.3 基線模型和參數設置
將本文方法與最先進的DFTM[4]、PCFT[3]、ECLB[9]和CMODLB[10]四種基線方法作比較。DFTM[4]是一種通過先進的虛擬網絡需求的恢復機制,來實現云數據中心基礎設施新的可靠性動態容錯虛擬機遷移算法,該算法采用整數線性規劃模型,分析考慮所有相關數值因素的路由流量,通過最優路徑選擇最優虛擬機,之后備選交換機識別算法確定新的虛擬機遷移和路由。PCFT首先提出根據虛擬機特性進行初始虛擬集群分配的算法,之后通過模擬CPU溫度來預測物理機器(PM)是否有故障,再將虛擬機從有故障的PM遷移到最優的PM上,將最優目標主機的選擇建模為一個優化問題,并利用改進的粒子群優化算法進行求解。ECLB是一種新的霧計算容錯調度模型算法,對不同的模塊由ECLB調用基于貝葉斯分類的節能檢查點和負載平衡技術進行分類,同時計算所有設備的能耗,并找到最小能耗的設備。CMODLB是一種基于聚類的多目標動態負載平衡技術,引入的基于人工神經網絡的動態負載平衡(ANNLB)技術實現了基于貝葉斯優化的增強Kmeans(BOEKmeans)算法,將虛擬機(VMs)劃分為欠載和過載的虛擬機集群,采用粒子群優化(TOPSISPSO)算法卸載虛擬機,以提高負載平衡和能源利用率,通過區間類型2的模糊邏輯系統(IT2FS)實現虛擬機遷移。對于基線模型,使用各自論文中提到的參數設置。對于本文模型,AST模塊中,GAT的注意力頭數為4,初始殘差占比β=0.2,學習率為0.01,一共訓練70輪。A2C中自適應損失函數三部分的占比為γ=0.6,δ=0.3,ε=0.1。ASTA2C的性能分數和基線方法的標準差如表1所示。
為了進行測試,本文使用了支持分布式邊緣集群的容器編排框架COSCO[11]。COSCO框架允許使用仿真模擬的軌跡生成QoS分數。為了生成真實故障標簽和類,本文使用Linux日志(ADE)工具。該工具的輸出異常類包括CPU過度利用率(CPUO)、異常磁盤利用率(ADU)、內存泄漏(MEL)、異常內存分配(AMA)和網絡過載(NOL)。為簡單起見,CPUO異常被歸類為CPU故障,NOL/ADU被歸類為網絡故障(網絡緩沖區過 載幾乎總是會導致磁盤故障),MEL/AMA作為RAM故障連接在一起(由于這兩者之間的高度相關性)。綜上所述,本文考慮了三種故障類型。
4 實驗分析
4.1 結果分析
表1顯示了模型的性能分數。實驗結果表明,ASTA2C在準確率、召回率以及F1分數指標上均實現了最佳性能。這是由于本文模型通過時間及空間卷積模塊實現了時間趨勢(LSTM)和空間相關性(GAT)融合。這使得ASTA2C模型不僅可以利用時間上預期能源利用特性的突然偏差,還可以利用空間上不同主機設備之間的相關性。DFTM和ECLB都使用了基本的正弦熱趨勢,但都沒有考慮主機的異構性。CMODLB使用Kmeans集群來識別一個通用的利用率閾值,但沒有考慮正在運行的工作負載或主機容量。
圖4比較了所有模型的QoS分數。圖4(a)和(b)顯示了ASTA2C模型和基線模型的CPU及RAM利用率。可以看出,本文模型的CPU及RAM利用率都比較高,進而可以通過提高CPU及RAM利用率來提高能源利用率,減少能源消耗;圖4(c)~(e)是模型的平均等待時間、遷移時間和調度時間的結果,可以發現ASTA2C模型的等待時間、遷移時間及調度時間在所有基線模型中均是最少的,因此更有利于那些時延敏感性高的應用程序。圖4(f)顯示的是遷移的任務數,圖4(g)顯示的是虛擬機耗費,圖4(h)顯示的是SLO違反率。可以看出,本文方法遷移的任務數最多且 SLO違反率和耗費都是最低的。
4.2 消融實驗
為了研究ASTA2C中各個模塊對整體性能的影響,將 ASTA2C與7個變種模型ANNA2C、LSTMA2C、GATA2C、ASTGA、ASTLRMMTRandom、ASTMADMCFirstFit以及ASTIQRMMTFirstFit進行對比實驗。其中ANNA2C表示僅使用ANN提取主機特征;LSTMA2C表示僅使用LSTM提取主機特征;GATA2C表示僅使用GAT提取主機特征;ASTGA表示調度算法采用遺傳算法進行調度,ASTLRMMTRandom等變種模型同樣使用各自的調度模型。
圖5報告了消融實驗的結果,其中Baseline表示除ANNA2C、LSTMA2C、GATA2C以及ASTA2C外,其他模型中表現最好的模型。從圖5(a)中可以得到四點結論:a)ANNA2C在所有模型中表現最差,這說明簡單的ANN并不足以提取主機的特征,這也正是本文創新的出發點;b)LSTMA2C和GATA2C均優于ANNA2C,說明時間卷積和空間卷積確實都能提取更深層次的主機特征,進而提升模型精度;c)LSTMA2C表現優于GATA2C,這說明時間卷積對于提升模型精度起到了主要作用;d)ASTA2C模型是最好的,說明本文提出的時間和空間卷積兩個模塊的效果可以疊加。
從圖5(b)和(c)中可以看出,ASTA2C有著最少的響應時間和最低的SLO違反率,說明:a)啟發式的調度方法在動態且不穩定的云環境中無法有效適應,因此導致了較高的響應時間和SLO違反率;b)屬于無梯度優化方法的遺傳算法不具有可伸縮性且需要更長的時間收斂,因此在云環境中不如深度強化學習A2C算法的效果好;c)A2C算法根據本文構建的自適應損失函數不斷更新模型以最大化累計獎賞,動態地學習一個好的策略,并不斷生成改進決策來適應不同云環境的變化,說明構建了自適應損失函數的A2C算法更適應于云環境中動態的虛擬機調度。
4.3 參數敏感性實驗
本節將研究ASTA2C模型相關參數的敏感性,結果展示在圖6中。
a)初始殘差占比。式(16)中,最終的輸出包含時序特征O1作為空間特征O2的輸入的整體輸出,以及初始殘差連接兩部分。圖6(a)給出了ASTA2C模型的分類精度隨初始殘差占比的變化而變化的趨勢。根據圖6(a),模型的精度一開始隨初始殘差占比增大而急劇上升。隨后,當初始殘差占比大于0.2時,模型精度開始緩慢下降。因此,在本文模型中添加初始殘差是必要的,同時合適的初始殘差占比可以很好地提升模型的性能。
b)自適應損失函數。根據式(33),A2C的自適應損失函數由三部分構成,即平均能源消耗(AEC)、平均響應時間(AST)以及成本(Cost)。圖6(b)和(c)給出了模型的調度時間和SLA違反率隨三部分比例的改變而變化的情況。根據圖6(b),模型的調度時間總體上隨著平均能源消耗占比的增大而減小,當平均能源消耗占比達到0.8時,模型的調度時間最小。根據圖6(c),總體上SLA違反率隨著響應時間占比的不斷減小而逐漸增大,當γ=0.6,δ=0.3,ε=0.1時最有利于減少SLA違反率。
5 結束語
本文提出了一種基于注意力時空卷積和A2C的虛擬機主動容錯優先遷移決策模型ASTA2C。通過時空卷積進行特征提取,并使用多頭注意和原型預測解碼器來檢測和分類故障,可動態建立模型的A2C隨機動態調度方法,結合故障預測信息產生容錯調度決策,通過構建的自適應損失函數來適應不同用戶的QoS要求和應用程序設置。具體來說,本文通過提高能源利用率來減少能源消耗,通過降低等待時間、遷移時間及調度時間來減少響應時間和SLO違反率,構建的ASTA2C模型還能正確識別故障,平均F1得分為0.884 1,高于最先進的基線模型。與F1得分最高的基線方法相比,ASTA2C能夠以更低的開銷來實現這一點,這使得ASTA2C成為具有時延敏感型應用程序的可靠邊緣計算的理想選擇。真實邊緣云環境遷移決策需要實時分析新任務的CPU、RAM和磁盤需求,且難以獲得有標簽的訓練數據,下一步計劃引入無監督學習來擴展ASTA2C模型。
參考文獻:
[1]寧士勇.虛擬化云計算數據中心資源節能調度算法研究[J].計算機應用研究,2021,38(4):10881091.(Ning Shiyong.Research on resource energy saving scheduling algorithm for virtual cloud computing data center[J].Application Research of Computers,2021,38(4):10881091.)
[2]Gubbi J,Buyya R,Marusic S,et al.Internet of Things (IoT):a vision,architectural elements,and future directions[J].Future Generation Computer Systems,2013,29(7):16451660.
[3]Liu Jialei,Wang Shangguang,Zhou Ao,et al.Using proactive faulttolerance approach to enhance cloud service reliability[J].IEEE Trans on Cloud Computing,2016,6(4):11911202.
[4]Sivagami V M,Easwarakumar K S.An improved dynamic fault tolerant management algorithm during VM migration in cloud data center[J].Future Generation Computer Systems,2019,98:3543.
[5]Kumari P,Kaur P.A survey of fault tolerance in cloud computing[J].Journal of King Saud UniversityComputer and Information Sciences,2021,33(10):11591176.
[6]Zhou Minqi,Zhang Rong,Xie Wei,et al.Security and privacy in cloud computing:a survey[C]//Proc of the 6th International Conference on Semantics,Knowledge and Grids.Piscataway,NJ:IEEE Press,2010:105112.
[7]Zheng Zibin,Zhou T C,Lyu M R,et al.Component ranking for faulttolerant cloud applications[J].IEEE Trans on Services Computing,2011,5(4):540550.
[8]Hong C H,Varghese B.Resource management in fog/edge computing:a survey on architectures,infrastructure,and algorithms[J].ACM Computing Surveys,2019,52(5):137.
[9]Sharif A,Nickray M,Shahidinejad A.Faulttolerant with load balancing scheduling in a fogbased IoT application[J].IET Communications,2020,14(16):26462657.
[10]Negi S,Rauthan M M S,Vaisla K S,et al.CMODLB:an efficient load balancing approach in cloud computing environment[J].The Journal of Supercomputing,2021,77:87878839.
[11]Tuli S,Poojara S R,Srirama S N,et al.COSCO:container orchestration using cosimulation and gradient based optimization for fog computing environments[J].IEEE Trans on Parallel and Distributed Systems,2021,33(1):101116.
[12]Skarlat O,Nardelli M,Schulte S,et al.Optimized IoT service placement in the fog[J].Service Oriented Computing and Applications,2017,11(4):427443.
[13]Beloglazov A,Buyya R.Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers[J].Concurrency and Computation:Practice and Experience,2012,24(13):13971420.
[14]Pham X Q,Man N D,Tri N D T,et al.A costand performanceeffective approach for task scheduling based on collaboration between cloud and fog computing[J].International Journal of Distributed Sensor Networks,2017,13(11):1550147717742073.
[15]Brogi A,Forti S.QoSaware deployment of IoT applications through the fog[J].IEEE Internet of Things Journal,2017,4(5):11851192.
[16]Choudhari T,Moh M,Moh T S.Prioritized task scheduling in fog computing[C]//Proc of ACMSE Conference.2018:18.
[17]Pham X Q,Huh E N.Towards task scheduling in a cloudfog computing system[C]//Proc of the 18th AsiaPacific Network Operations and Management Symposium.Piscataway,NJ:IEEE Press,2016:14.
[18]Beloglazov A,Abawajy J,Buyya R.Energyaware resource allocation heuristics for efficient management of data centers for cloud computing[J].Future Generation Computer Systems,2012,28(5):755768.
[19]谷南南,姚佩陽,焦志強.云計算環境下利用改進遺傳算法結合二次編碼的大規模資源調度方法[J].計算機應用研究,2020,37(8):23902394.(Gu Nannan,Yao Peiyang,Jiao Zhiqiang.Largescale resource scheduling method using improved genetic algorithm combined with secondary coding in cloud computing environment[J].Application Research of Computers,2020,37(8):23902394.)
[20]劉開南.云數據中心基于遺傳算法的虛擬機遷移模型[J].計算機應用研究,2020,37(4):11151118.(Liu Kainan.Virtual machine migration model in cloud data centers based on genetic algorithm[J].Application Research of Computers,2020,37(4):11151118.)
[21]Farahnakian F,Ashraf A,Pahikkala T,et al.Using ant colony system to consolidate VMs for green cloud computing[J].IEEE Trans on Services Computing,2014,8(2):187198.
[22]Hieu N T,Di Francesco M,YlJski A.Virtual machine consolidation with multiple usage prediction for energyefficient cloud data centers[J].IEEE Trans on Services Computing,2017,13(1):186199.
[23]Wang H,Lei Z,Zhang X,et al.Machine learning basics[M]// Deep Learning.2016:98164.
[24]LeCun Y,Bengio Y,Hinton G.Deep learning[J].Nature,2015,521(7553):436444.
[25]Duggan M,Duggan J,Howley E,et al.A network aware approach for the scheduling of virtual machine migration during peak loads[J].Cluster Computing,2017,20:20832094.
[26]Orhean A I,Pop F,Raicu I.New scheduling approach using reinforcement learning for heterogeneous distributed systems[J].Journal of Parallel and Distributed Computing,2018,117:292302.
[27]Sarkar S,Misra S.Theoretical modelling of fog computing:a green computing paradigm to support IoT applications[J].IET Networks,2016,5(2):2329.
[28]Rahmani A M,Gia T N,Negash B,et al.Exploiting smart eHealth gateways at the edge of healthcare InternetofThings:a fog computing approach[J].Future Generation Computer Systems,2018,78:641658.
[29]Standard Performance Evaluation Corporation.Spec power consumption models[EB/OL].(2018).https://www.spec.org/cloud_iaas2018/results.