李超 張建強 凡小明
中移系統集成有限公司 北京 100052
面向數據中心,傳統的資源分配策略主要是基于虛擬化資源的調度技術,通過虛擬化技術將有限的物理資源重新分配。底層利用率較低的虛擬機,會通過虛擬機動態遷移技術被整合到同一臺服務器上,空置的服務器將會被關閉或強制休眠,以達到降低能耗的目的。
影響數據中心高效節能資源分配方法的因素主要有以下三個:一是數據中心資源監測方法是否準確高效,是否能夠反饋準確的實時資源數據為資源分配策略提供支撐;二是能否建立能夠準確地計算出數據中心能源消耗情況的能耗計量模型;三是能耗計量模型的高效率自適應算法,在確定能耗模型后,能夠進行高效穩定的極值尋優求解,并能快速地進行資源的分配[1]。而目前的資源分配策略主要存在以下不足:首先,監控資源的方法基于單一的輪詢方式或者事件驅動方式,在監測云數據中心虛擬資源的動態變化時靈活性較低;其次,目前通常采用對CPU利用率或者內存利用率等因子進行時間積分的方式建立能耗模型,在通過遺傳算法對模型進行極值尋優,從而進行資源分配,這種做法不利于提高工程運用中的效率,而且也不能自適應的去調節模型參數。
為了解決以上問題,本文提出一種基于神經網絡的數據中心能耗模型,其架構主要包括實時自動化監控模塊、能耗模塊和基于神經網絡模型的資源分配模塊。該架構既能靈活地監測云數據中心的虛擬資源,又能夠提供自適應、自組織的資源分配策略,并將監控系統采集的數據不斷加入到神經網絡的訓練集中,形成閉環的自適應數據中心資源分配系統,以達到數據中心節能的目的[2]?;谏窠浘W絡的數據中心能耗模型共包括基于代理節點的實時自動化監控模塊、能耗模塊和神經網絡求解的節能策略模塊。首先,將數據中心集群中的物理主機進行編號(1、2…m),然后對物理主機內的虛擬機編號為(1.1、1.2…1.n),即V(m.n),第m臺主機上的第n臺虛擬機,自動化監控模塊將各個虛擬機的(Rstatus,Cstatus)的值獲取出來,以便選取不同的監控方式,并將監測到的各虛擬機的(Ucpu,Umem)獲取出來并傳給能耗模型模塊,能耗模型模塊獲取2個輸入參數Ucpu和Umem,建立以Ucpu和Umem為輸入參數,以總體能耗E為參數的非線性函數模型?;谏窠浘W絡模型的資源分配模塊獲取到Ucpu和Umem并存儲,利用RBM神經網絡求解能耗模型,然后求解出能耗最小時,所對應的Ucpu和Umem的參數矩陣,最后依據Ucpu和Umem進行虛擬資源的分配。此處需要說明的是,CPU、內存、網絡接口以及磁盤存儲量是服務器計算節點能耗的主要部分,本文中主要在建立能耗模型后,利用神經網絡中的RBM算法對能耗模型進行非線性函數擬合求解,得出能耗最小時各虛擬機所對應的Ucpu和Umem,從而進行資源分配,故本文中不考慮網絡因素,并將其它因素作為基礎常量進行建立模型[3]。
實時自動化監控模塊的架構圖如圖1所示,主要包括監控模塊控制器、數據存儲模塊、集群監控器、代理節點五個部分。通過周期性的接收代理節點發送該節點處的CPU利用率Ucpu和內存的利用率Umem數據,以此作為數據中心的資源監控信息。

圖1 實時自動化監控模塊架構圖
固定周期輪詢的監控方式,能夠監控到穩定不間斷的有效數據,但是它靈活性不足,不能根據實際的狀況調整監控周期,從一定程度上來說,消耗了資源。而事件驅動方式的監控能夠在任務多、資源利用率比較大的情況下,及時觸發,不會因為輪詢次數過多而引起資源阻塞,為了保證監控系統的可靠性運行,本文采用兩者結合的監控方式進行監控。
數據中心的能耗主要是各服務器計算節點的能耗,主要包括虛擬機CPU、磁盤存儲、網絡接口和內存四個部分。與系統資源相比,CPU和內存是計算節點能源消耗核心部分。而根據計算系統運行原理,CPU能耗的增加必然導致內存能耗的增加;磁盤存儲的能耗變化則是一定的變動區間內,磁盤一旦使用,必然會有能源消耗;而網絡的能耗的產生則主要是由網絡交換設備的運轉而產生的,在實際工程的資源分配策略中,主要考慮CPU和內存能耗,把其它的相關因素作為基礎常量考慮。
本文主要針對目前數據中心資源分配策略中的監控資源方法單一、靈活性有限的問題,提出一種基于神經網絡模型的數據中心節能策略方法,本方法不僅可以提供自動化的監控模塊和能耗模型,還能提供基于神經網絡模型的節能策略,經過試驗具有良好的能耗節省率。