, ,
(1.甘肅同興智能科技發展有限責任公司,甘肅 蘭州 730000; 2.國網蘭州供電公司,甘肅 蘭州 730050)
隨著電網云平臺技術的飛速發展,作為電網云平臺載體的數據中心服務器數量也越來越多,由此引發數據中心資源調度成為電網云平臺管理者關注的問題。電網云平臺的資源調度問題需要在低能耗和高性能之間做出妥協,面向單一低能耗的資源調度可能會導致服務響應延遲、性能降低等問題;面向單一計算性能的資源調度算法也會導致過于糟糕的能耗問題[1]。
云平臺資源調度近年來一直是一個活躍的研究領域,許多資源調度研究成果可作為電網云平臺資源調度的借鑒。文獻[2]在云計算環境中提出了一種基于時間成本和能耗模型的改進克隆選擇算法(improved clonal selection algorithm,ICSA),并通過實驗結果表明,所提出的ICSA方法可以有效地滿足用戶要求的服務等級協議。文獻[3]從系統資源分配角度分析如何減少能源消耗,并提出了一個云基礎設施資源自動管理框架。文獻[4]提出了一種以帶寬為中心的任務調度模型和算法。該算法沒有考慮系統的負載均衡,導致任務分配不均衡。文獻[5]設計了一種稱為成本調度算法(cost conscious scheduling,CCS)的調度批處理作業的算法。該算法使用改進的差分進化算法(improved differential evolution algorithm,IDEA)對一個涉及任務調度和資源分配的并行機制調度進行了研究。
文獻[6]提出了一種面向云平臺的虛擬桌面調度算法,旨在優化資源利用率,提高客戶滿意度。通過優化操作,該算法可以提高29%的資源利用率。文獻[7]提出了云計算環境下的能量效率模型和度量方法,可以有效地計算單個計算機和云環境下的能源效率。基于公共和私有云數據傳輸中的能耗以及測量和詳細統計數據的轉換,文獻[8]詳細分析了云計算軟件作為服務,存儲即服務和平臺即服務的能耗情況。文獻[9]提出了一種實時能量管理系統,它可以實時監控CPU的利用率,并根據服務性能需要調整時鐘頻率和電壓供應,使CPU保持在占用率的80%左右來處理負載變化。
基于對上述研究成果的總結,提出了一種基于克隆選擇算法的資源調度算法,用以優化電網云平臺的資源調度。克隆選擇算法是一種基于免疫系統克隆選擇理論的進化優化算法,通過迭代仿真生物進化從而實現全局尋優策略。該算法適合于解決一些使用傳統數學規劃方法無法解決的復雜環境下的優化問題。實驗結果表明,所提出的算法可以合理優化電網云平臺中的數據中心資源節點的調度,降低數據中心能耗,降低電網云平臺的運行成本。
負載均衡是優化資源利用率,最大化吞吐量,減少延遲并確保容錯配置的常用技術[10]。在電網云計算環境中,負載均衡是一種技術,用于在多個數據中心或其他資源節點之間傳播工作負載,以避免單個資源過載。圖1顯示了云平臺的計算模型。

圖1 云計算模型
為了更好地描述負載均衡和能耗優化模型的設計,可以給出動態能耗優化模型如下。數據中心通常由電網云平臺中分布在不同地理位置的多個資源節點組成。實際上,每個子任務ti(i= 1,2,...,m)可以得到資源節點Rj以滿足基本實現條件,其中m表示滿足子任務ti的資源數量。泊松分布適用于描述在單位時間內(或空間)發生的隨機事件的數量。因此,云平臺環境中資源分配和任務調度的動態過程可以看作一個泊松分布。
定義1:假設云平臺模型GCloud=(D,T,P,G),D= {D1,D2,...,Dd}是d個云服務器數據中心的集合;T是隨機任務和計算節點,Tij表示任務ti在節點j上執行;Pi是閑置時節點i的功率,Gi是節點i的峰值功率。
定義2:假設每個數據中心的網絡帶寬矩陣在電網云平臺中為B,bi j為數據中心各節點的傳輸帶寬。
(1)
為了盡量減少成本約束下的能源消耗,成本約束下的能源優化就是計算完成云計算過程中的能源消耗成本。

式中:i= 1,2,...,m;j= 1,2,...,n。
為了減少計算節點的能耗,可以通過減少空閑節點X的百分比來實現。電網云平臺的能耗計算公式為
隨著云計算的快速發展,云數據中心的服務器規模每年都在不斷擴大,造成巨大的功耗。此外,不合理的調度策略導致能源浪費,使電網云平臺數據中心的運行成本不斷增加。
資源算法的變異算子如算法1所示。
算法1:變異算子
輸入:變異概率Pm
輸出:優化個體ai
1)k=INT(PmSize);INT(*)是整數函數;
4)生成隨機數r=random(0,1);

6)返回ai。
資源調度算法的選擇算子如算法2所示。
算法2:選擇算子
輸入:選擇概率Ps。
輸出:優化個體ak。
1)k=INT(PmSize);INT(*)是整數函數;
2)根據抗體群體的降序親和力值,直接選擇第k個抗體ak;
3)生成隨機數r=random(0,1);
4)如果Ps>r,將ak保存作為下一代入口;
5)返回ak。
圖2顯示了電網云平臺的任務調度過程。

圖2 電網云平臺的任務調度
為了測試算法在不同環境下的性能和效率,使用具有10 GB RAM和4 TB存儲6臺物理機器搭建電網云計算平臺,其中每臺機器具有8個容量為10 000 MIPS的CPU。在電網云計算實驗平臺上設置CloudSim仿真環境,其中包括作業調度程序、資源規劃程序、云和虛擬機實例。CloudSim平臺提供的虛擬化引擎可以幫助用戶構建和管理數據中心節點[11-12]。通過比較了ICSA、CCS和所提算法在實驗云計算環境中的運行情況,來驗證所提算法的性能。
圖3顯示了不同數量任務的響應時間比較,可以看出:在初始階段,所提算法的響應時間略高于CCS和ICSA,隨著任務數量的逐漸增加,這一差距逐漸減小;在后期階段,所提算法的響應時間遠低于其他兩種算法。圖4顯示了不同迭代次數的響應時間比較,可以看出,所提算法與其他兩種算法相比具有明顯的優勢。這是因為所提算法充分利用了克隆選擇原則。 為了驗證所提算法的有效性,比較了3種算法的執行時間,如圖5所示,可以清楚地看出,所提算法的執行時間在處理過程中是最小的。

圖3 不同任務數的響應時間比較

圖4 不同迭代次數的響應時間比較
圖6顯示了不同調度周期的能耗比較。值得一提的是,CCS、所提算法和ICSA分別在每個調度周期平均消耗2.35、1.91和2.36 kW/h,其中所提算法的最低能耗為1.62 kW/h。

圖6 不同調度周期的能耗比較
圖7顯示了不同數量任務的平均能耗比較,可以看出,所提算法在大多數情況下表現出更優異的性能,并且實現了極大的節能。由于所提算法同時從幾個初始值開始,有效減少了對初始值的依賴,并加快了整體搜索速度。

圖7 不同數量任務的平均能耗比較

圖8 不同數量任務的平均執行成本比較
圖8顯示了不同數量任務的平均執行成本的比較。值得一提的是,這3種算法的初始成本是相同的,隨著任務數量的增加,這3種算法有不同的增長趨勢。
圖9顯示了不同數量任務的平均執行功率比較的實驗結果,不難看出所提算法的曲線波動幅度最小,說明所提算法的平均執行力較好,而CCS和ICSA波動較大。

圖9 不同數量任務的平均執行功率比較
電網云平臺由一系列互聯和虛擬化計算機組成,通過計算機動態虛擬化提供一個或多個統一計算和存儲資源。針對資源優化調度和能耗降低目標,提出了基于負載均衡策略和克隆選擇理論的資源調度算法。實驗結果表明,該資源調度算法具有較好的云平臺數據中心能耗降低能力。