文/張倩
隨著云計算技術發展越來越迅速,能源消耗問題開始逐漸的浮出水面,并成為制約云計算發展的關鍵因素。依據互聯網和第三方咨詢調查機構的報告,谷歌公司有超過100萬臺服務器,在2010年一共排放出了約146萬公噸的二氧化碳,平均每100條搜索的用電量就相當于一個60W的燈泡持續工作28分鐘。這種大量的能源消耗是讓人震驚的,同時也給相關的計算機工作者們敲響了一個警鐘,如果不盡快的解決云計算能源消耗的問題,那么這項技術必定會受到眾多的限制,甚至于停止發展。因此,解決云計算系統數據中心高能耗的問題已經迫在眉睫。
現階段,云計算的節能機制可以按照不同的標準分為不同的類別,如果按照功率來分類,可以分為兩個方面,第一個方面是動態功率管理技術(簡稱為DPM),第二類為靜態功率管理技術(簡稱為SPM)。如果按照降低能耗階段的不同來進行分類的話,可以分為三個方面,第一個方面是關閉/開啟技術(resource hibernation),第二個方面是動態電壓/頻率調整技術(簡稱為DVFS),第三個方面是虛擬機技術(virtualizaion)。并且這三個方面的分工也有所不同,第一個方面主要負責降低空閑能耗,第二以及第三個方面主要負責降低任務執行的能耗。另外,DPM在應用當中的主要前提是云計算系統的負載狀況是隨著時間因素而不斷變化的,這樣DPM就能夠被允許依照當前的云系統性能對系統的功率狀態進行實時的調整。與其他相比,SPM主要是通過利用高端的硬件設備來運行的,例如系統當中的CPU、硬盤存儲設備、網絡設備、UPS以及能源提供設備等。通過設備結構的改變,往往能夠有效的降低能耗。
DVFS節能算法主要是通過在現代處理器上來調控CPU功耗的方式來進行工作的,是一種行之有效的節能算法。一旦系統的CPU存在空閑,沒有被完全使用時,該節能算法就可以通過調整CPU供電電壓,同時對時鐘的頻率進行調整的方式來降低CPU的性能,這樣一來,動態能耗的降低幾乎是以立方為單位來遞減的,并且對系統的整體性能不會產生絲毫的影響。我們以某公司云計算系統為例,該公司云計算數據中心采用基于DVFS的節能算法,某時刻該系統只有一個任務在運行,其負載要求10個周期完成,任務的截止時間為100秒,針對這種情況,該系統便通過DVFS節能算法,將CPU進行降速處理,使之降速到十分之一周期每秒。這樣不僅沒有超出任務的截止時間,同時還大大的降低了整體的能耗。經過相關的實踐研究表明,通過此動態頻率降低的方式,相比于通過最大速率運行任務,然后在任務結束后的空余時間中將CPU閑置的方法更為有效。隨著該節能算法的實際價值被廣泛肯定,越來越多的云計算系統開始使用該種算法,普及程度越來越高。
虛擬化節能算法是通過改善資源利用率的方式,從而使能耗得到降低。虛擬化技術在云計算當中占有舉重若輕的地位,通過運用虛擬化技術,可以在單一的主機上創建多個虛擬機,如此硬件資源的使用數量就被大大的減少了,自然而然的增強了資源的利用率。利用虛擬化算法技術,不僅僅可以將共享相同計算節點的應用與應用之間達成性能的隔離,并且在此基礎上還可以使用動態遷移技術或離線遷移技術,使得虛擬機實現從一個節點到另一個節點的遷移。這樣一來,實時虛擬機重新分配的過程就能夠完全實現動態的負載合并,從而使虛擬機可以合并到相對較小的物理節點當中,并以此將閑置節點轉換為節能模式。
以某公司的云計算數據中心為例,該公司在系統建設的過程中,將能耗管理技術和虛擬化技術實現了很好的有機結合,并且通過VirtualPower這種優化管理方式應用于大規模數據管理當中。通過這種策略的應用,使得虛擬化平臺之上的各種虛擬機都得到了很好的協調控制,從而對云計算系統的能耗實現了進一步的整體優化。
主機關閉/開啟的節能方式可以細化的分為三種類型,第一種是隨機式策略,第二種是超時式策略,第三種是預測式策略。隨機式策略的工作方式就是將服務器的關閉以及開啟模型當作一個隨機式優化模型來看待,通過隨機決策模型設計控制算法的方式來進行運算。超時式策略在運行時,首先要設置相應的超時閥值,在系統運行的過程中一旦發現持續空閑時間超過既定閥值,那么服務器將會自動的切換到關閉模式當中。預測式策略主要是通過開始階段的事先預測方式進行工作的,當事先的預測值達到一定標準的時候,就會將服務器直接切換到關閉模式。這三類策略,都能夠通過自身的工作機理最大限度的降低服務器空閑所產生的能耗。但是如果計算機的啟動時間較長的話,就十分有可能會造成性能的降低。
本文從云計算技術的發展狀況出發,通過具體的實例,結合已經有的研究,分析對比云計算系統中數據中心的DVFS、虛擬化和主機開啟關閉技術等節能算法的優劣,從而對云計算系統中數據中心的節能算法做進一步的研究,當然對于云計算技術能耗過高的問題,還需要廣大計算機工作者們更加深入的研究。
參考文獻
[1]張小慶,賀忠堂,李春林等.云計算系統中數據中心的節能算法研究[J]. 計算機應用研究,2013,30(04):961-964.
[2]MUNIR SAID SULEIMAN.基于資源分配的云計算數據中心的節能算法研究[D].中國科學技術大學,2015.