張紅,薛東亮,李戰(zhàn)明*
(1 蘭州理工大學 電氣工程與信息工程學院,蘭州 730050;2 河南信息工程學校,鄭州 450011 )
云計算通過分布式處理方式,根據按需服務的原則,滿足用戶各種需求的一種新型商業(yè)模式,同時能提供個性化的IT服務[1,2].然而云計算服務所涉及的服務器、存儲、備份、網絡等設備,以及核心的技術虛擬化、自動化都歸屬數據中心范疇,所以云計算也被視為新一代數據中心的一個延伸方向.
當管理成本、資源整合、業(yè)務響應速度、信息安全以及能源管理各方面都凸顯危機時,綠色數據中心應運而生.云計算(Cloud Computing)通過網絡有效聚合被虛擬化的計算資源,基于集中構建的數據中心為單一用戶或多租客(Multi-tenant)提供動態(tài)的、高性價比的、彈性規(guī)模擴展的計算、存儲和各類信息服務.綠色數據中心的含義就是通過各種技術手段,充分提高數據中心的能源效率,降低空氣中二氧化碳的排放量[3,4],盡量減少數據中心的系統耗電量,盡量讓空閑的資源節(jié)點滿負荷的運轉,盡量增大數據中心整體用電中用于IT系統比例.
預計未來五年我國數據中心處理能力的需求將達到7到10倍的增長,同時能耗的需求也將迅速攀升[5,6].在我國的能源結構中,70%的能源靠燃煤獲得,這意味著云數據中心產生的高能耗還將帶來嚴重的環(huán)境問題;在一個數據中心的運維成本費用中,能耗占了40%以上;數據中心提供給云的動力所排放的CO2已成為氣候變化的主要原因之一[7-9].
圖1描述的是2010年到2012年耗電量對比.
圖1 2010年到2012年耗電量對比Fig.1 Comparison of electricity consumption from 2010 to 2012
云數據中心的能源的使用效率常常通過電源使用效率(Power Usage Effectiveness,PUE)值和(數據中心基礎設施效率(Data Center Infrastructure Effectiveness,DCiE)值來衡量.其中,PUE值是指數據中心消耗的所有能源與IT負載消耗的能源之比.PUE值越接近于1,表示一個數據中心的綠色化程度越高.勞倫斯伯克利國家實驗室(Lawrence Berkeley National Laboratory,LBNL)針對12個云數據中心能效情況的調查結果表明,數據中心的能耗分布為:IT設備占46%,溫控設備占31%,UPS設備(Uninterrupted Power Supply,無間斷供電)占8%,照明設施占4%、其它功耗占11%[10].圖2描述的是2010年到2012年耗電量增長率對比.
圖2 2010年到2012年耗電量增長率對比Fig.2 Comparison of growth rates of electricity consumption from 2010 to 2012
云計算平臺通過虛擬化和分布式等技術,充分整合異構資源和均衡資源負載,減少數據中心的能量消耗,從而實現綠色通信的目標.虛擬化通過降低能源成本和硬件成本的方式,改變著傳統的企業(yè)計算方式.在多年的實踐應用過程中,虛擬化技術的優(yōu)勢已經得到了業(yè)界的普遍認可,在今后的發(fā)展過程中將更加普及.虛擬化技術的成熟是“云計算”快速發(fā)展的有力支持和保障[10].
云計算是通過使計算分布在大量的分布式計算機上,將異構的資源有機整合成一體,根據需求訪問計算機和存儲系統,資源整合在整個過程中舉足輕重.資源整合是指數據中心對不同層次、不同結構的資源進行識別與選擇、激活和有機融合,對資源的計算能力和異構性進行了封裝,從而讓綠色云計算系統的計算能力達到最優(yōu).
從資源整合和任務調度的角度針對面向綠色云計算的資源配置算法、任務調度策略及數據部署與緊湊機制等關鍵技術展開深入研究并提出解決方案,在保證系統QoS和SLA的前提下,使系統的各個環(huán)節(jié)運行有序化,有效、合理地降低云數據中心的能耗.圖3描述的是綠色云計算的任務調度系統框架.
在任務調度的系統框架中,JobManager是SkyNet的Master,提供RPC服務,接收并處理JobClient/Web提交的所有操作;與元數據通訊,維護Job元數據;負責任務的統一配置維護、觸發(fā)、調度、監(jiān)控.JobMonitor: 監(jiān)控正在運行的Job狀態(tài)、監(jiān)控任務池、監(jiān)控等待運行的Job;JobWorker:SkyNet的Slave,從任務池中獲取Job、負責啟動并收集Job的執(zhí)行狀態(tài),維護至元數據庫.JobClient/Web:SkyNet客戶端類,前端界面提供給用戶,用作任務的配置、管理、監(jiān)控等;任務元數據:目前使用Mysql,保存Job的配置、依賴關系、運行歷史、資源配置、告警配置等;
任務的執(zhí)行及服務的提供一般需要數據的支持.目前由物聯網(Internet of Things)、社會網絡(Social Networks)、移動互聯網(Mobile Internet)等各類網絡應用系統產生的大規(guī)模數據同樣依靠云計算數據中心來存儲和提供服務.隨著的廣泛的普及,網絡每年產生的數據量以幾何級數增長.圖4描述的是綠色云計算的任務調度過程.
圖3 綠色云計算的任務調度系統框架Fig. 3 Task scheduling system Framework for Green Cloud Computing
圖4 綠色云計算的任務調度過程Fig.4 Task scheduling process of Green Cloud Computing
在詳細分析了綠色云計算的任務調度過程基礎上,結合遺傳算法具有較好的魯棒性和分布性等特征,本文設計一種基于資源整合的遺傳并行任務調度算法(Genetic Parallel Task Scheduling Algorithms Based on Resource Integration,GPTSA_RI).本文設計的GPTSA_RI算法的求解過程如下:
(1)初始化控制參數:size 為群體規(guī)模,MaxGen為終止進化代數,Pc為交叉概率,Pm為變異概率.
(2)對要調度的資源和要執(zhí)行的任務進行映射配對,從而進行基因編碼,并隨機產生初始種群.
(3)根據任務調度過程中,產生的能耗進行適應度評估.
ETC(i,j))+[vmin(i)]2×fmin(i)},
f(x)=e-∑Ei.
(4)分別對種群進行選擇,交叉,變異操作,將更加優(yōu)良的個體產生到下一代子群.
(5)若滿足收斂條件,返回最優(yōu)解,結束算法;否則,返回到步驟(4).
仿真實驗準備了三種方案組合,方案1利用100項任務和5臺服務器,方案2利用500項任務和10臺服務器與方案3利用1000項任務和20臺服務器.為了測試本文設計的GPTSRI算法的性能,我們將其與文獻[1]的DECM 算法,文獻[3]的ARMCO算法進行對比.
圖5到10分別顯示各方案中的任務調度的響應時間(單位秒)和能量消耗(單位焦耳)的對比.通過仿真測試實驗不難看出,在響應時間和能量消耗等方面,本文設計的GPTSRI算法明顯優(yōu)于DECM 算法和ARMCO算法.
圖5 三種任務調度算法的響應時間對比(任務數量100)Fig.5 Response time comparison of three task scheduling algorithms (number of tasks 100)
圖6 三種任務調度算法的能量消耗對比(任務數量100)Fig.6 Energy consumption comparison of three task scheduling algorithms (number of tasks 100)
圖7 三種任務調度算法的響應時間對比(任務數量500)Fig.7 Response time comparison of three task scheduling algorithms (number of tasks 500)
圖8 三種任務調度算法的能量消耗對比(任務數量500)Fig.8 Energy consumption comparison of three task scheduling algorithms (number of tasks 500)
圖9 三種任務調度算法的響應時間對比(任務數量1000)Fig.9 Response time comparison of three task scheduling algorithms (number of tasks 1000)
圖10 三種任務調度算法的能量消耗對比(任務數量1000)Fig.10 Energy consumption comparison of three task scheduling algorithms (number of tasks 1000)
云計算平臺通過虛擬化和分布式等技術,充分整合異構資源和均衡資源負載,減少數據中心的能量消耗,從而實現綠色通信的目標.本文基于資源整合策略,設計一種新的遺傳并行任務調度算法.該算法從資源整合和資源配置角度,充分考慮到綠色云計算平臺的分布性和異構性等特征.從仿真測試的實驗結果來看,該算法在響應時間和能耗優(yōu)化等方面,都明顯優(yōu)于其他算法.