王 東,李春平,肖亞光
(廣東白云學院,廣州 510450)
隨著云計算及其應用數量的快速增長,互聯網用戶對包括云存儲在內的云資源的需求快速增加,隨之而來的是,越來越多的云數據中心正在規劃和建設中,伴隨而來的高能耗運營成本問題成為設計云數據中心所面臨的、亟待解決的問題。本研究提出了減少服務器待機能耗的方法,當計算工作量較小時(非高峰時段),冗余計算資源將被關閉或置于低功耗的休眠模式;當計算工作量增加時,額外的資源被轉移到滿負荷。綠色計算的宗旨首先是提高計算資源的利用率,通過有效計算資源利用率來衡量綠色計算的指數。計算服務是云計算的基礎設施之一,云計算服務器將計算資源動態的分配給用戶,云計算用戶及其各種應用數量增長迅速,計算能耗增加迅猛。業界不斷嘗試采用各種方法實現綠色計算,硬件不斷創新,如虛擬化和容器技術有助于提高服務器的計算效率并降低一些計算消耗;亦或通過冷卻和就近取電等物理方法取得綠色計算的效果。綠色計算的第二個宗旨是減少計算能耗,因此控制節能數據、虛擬化技術、綠色計算的策略、算法、資源要求、資源分配等機制成為實現節能減排的目標,服務轉移是綠色處理云資源的一種高效方式。通過減少活動云資源的數量,并將未使用的資源設置為省電模式,或干脆關閉一些閑置計算資源將取得突出的綠色計算效果。
本文將著重討論基于合理調度方法,采用靈活設置計算節點的開機狀態來降低能耗的綠色計算效果。由此,本文結構分為以下幾部分:綠色計算環境,確定綠色計算環境下節能的關鍵節點;綠色計算節能算法,提出本研究方法的技術特點和節能原理;綠色云計算體系結構,提出本方法設計實施的經典架構;能耗對比分析,通過實驗結果對比分析得出本方法的節能效果;結論,對本研究進行總結并對未來的研究工作進行展望和規劃。
云資源的能耗和利用率與設備的功率瓦數密切相關,如式(1)、式(2)所示:

其中P表示功率,表示時間量,E表示耗能,降低通電時間可降低能耗。
綠色云計算系統的建立可節省云服務的能耗,包括:云服務各處理節點的能耗、服務器節點、網絡設備、存儲設備和其它輔助電氣設備,參與計算的所有組件的總能耗如式(3)所示:

其中,E表示綠色云計算的能耗,E表示處理節點的能耗,E表示服務器節點的能量,E表示路由器/交換機等網絡設備的能量,E表示存儲設備(磁盤/機架)的能量,E表示其它輔助電氣設備的能量。對于物理資源,總能耗可通過以下兩項公式計算得出,首先E定義任何服務器的最大能量消耗,此時無考慮虛擬機的運行情況;E定義了所有工作虛擬機在任何情況下的能耗,設定云服務實例中使用了個VM。

如式(5)所示,由于每個VM具有不同的組件,如CPU、RAM、I/O等,因此EVM也可以描述為VM組件的總能耗:


本研究提出了一種算法,可有效節省云資源處理所需的實際能耗,本算法的主要步驟如下:
(1)識別并統計云計算系統中的所有可用資源;



(5)未分配的云資源被移動到空閑或節能模式,如睡眠/休眠模式;
(6)重復(1)到(5),檢查所有的云資源實例。
本研究提出的節能算法從確定任務和工作規模開始,確定云資源基礎設施服務的不同能力和可使用的頻率,為每個資源開辟自己的工作區。本節能算法不但可實現節能的效果,還具有安全特性。它不但可以動態統籌分配云計算系統內的資源,還能識別出未經授權的資源請求并禁止其路由。由于本算法在處理云資源請求方面具有周期性的特性,當對云資源的請求量超過云服務器能夠接納處理的總量時,所有空閑/睡眠的云資源將在下一個周期自動打開。
結合以上所提綠色計算節能算法,本研究設計了一種新型的綠色云計算體系模型。經過實驗對比發現,相較于目前傳統的云計算體系,它能夠以更低的能耗完成相同的服務請求量,實現“優能減排”的效果。本設計的內部系統包括:用戶模塊的計算、存儲調度模塊、資源分配模塊、任務調度模塊;外部系統包括:能源監測模塊、檢測能耗的溫度監測模塊。本研究設計的綠色云計算結構模型如圖1所示。

圖1 綠色云計算結構模型
如圖1中,節點監控是核心控制單元,它根據從資源模塊和任務調度模塊接收到的信號動態分配資源,能耗檢測和溫度檢測模塊提供的數據用于優化節能方案,避免單點溫度過高產生系統瓶頸。
為證明本研究提出的方法所具有的節能效果,特選取兩組實驗設備,第一組采用常規的全開啟模式,所有的服務節點不論是否有服務請求均處于開啟狀態;第二組采用本節能方法,通過合理調度,未接收到服務請求的服務器自動進入低能耗的待機/休眠模式。模擬非高峰時段的任務處理量(設置闕值為50%滿載),對兩組私有云服務系統進行能耗測試,實驗結果見表1和表2。

表1 處于全開啟模式下的云服務能耗

表2 綠色計算模式下的云服務能耗
本研究中,綠色計算的云服務調度模塊根據服務請求和各服務器負載情況靈活設置各服務器的工作狀態,其策略是:盡可能提高處于開啟(ON)狀態的服務節點的利用率,將短時無任務請求的服務節點設置為空閑(IDEL)狀態,將長時間未接收服務請求的服務節點設置為休眠(OFF)狀態。在每一個輪詢周期內云服務調度模塊根據任務隊列的請求數量確定所需開啟的服務節點數量并安排計算任務;實現服務節點由開啟到空閑的狀態轉換,并確定處于空閑狀態的服務節點的數量;實現服務節點由空閑到休眠的狀態轉換,并確定處于空閑狀態的服務節點的數量。
值得注意的是,當任務請求量超過系統最大負載時,本實驗中的兩組私有云服務系統的所有服務節點都處于開啟狀態,兩組系統的能耗結果相同。這與實際生產環境的真實效果是相同的,也就是說,本研究所提的綠色計算算法在云服務非高峰時段具有明顯的節能效果,在云服務系統低于最大負載的情況下,采用綠色計算算法的節能效果與處理服務請求量成反比。此外,云服務節點的利用率也對云服務系統的整體能耗產生影響,提高云服務節點的利用率也有助于降低能耗。
云計算時代,各種云服務系統所要處理的服務請求量越來越多,隨之而來的是計算能耗的持續增長,持續增長的耗能既是生態問題也是運營成本增加而帶來的經濟問題。云服務設計者和運營方采用各種方法不斷努力嘗試優化系統性能和降低能耗。本研究所提出的方法從云服務系統的全局應用角度出發,既能保證對總體服務請求的高效處理,也能實現最大程度地降低各服務節點的物理能耗。實驗表明,在非高峰時段,本研究通過采用智能調節方法,根據服務請求量動態調整活躍服務節點的數量,實現了對各服務節點的利用率的最大優化,同時被測云服務系統的整體能耗降至最低。實驗結果驗證了本研究的目的已達成,云服務系統可通過動態調度和利用率優化的方法實現綠色計算的目標,包含云服務節點在內的云服務基礎設施的利用率得到優化,服務請求得到最優的資源配給,能耗降低并未影響整體系統響應表現。因此,本研究提出的綠色計算方法對于構建綠色生態的云服務系統具有重要的參考意義。
放眼未來,結合大數據和人工智能的方法,本研究還將進一步拓展研究領域,對云服務的服務請求量進行預測,未雨綢繆地對服務資源進行優化配置,防止因服務節點過度激活而帶來額外能耗,節省由于計算節點頻繁切換ON/OFF狀態而帶來的額外能耗。可以預見,綠色計算的算法在人工智能時代還將有進一步優化的空間,綠色計算作為一門長期的研究領域助力人類社會可持續發展。