黃海芹
(桂林電子科技大學信息與通信學院,廣西 桂林 541004)
云計算資源調度現狀分析
黃海芹
(桂林電子科技大學信息與通信學院,廣西 桂林 541004)
針對云計算系統規模大且執行任務數量多的問題,需要對其進行合理有效的資源調度。目前,云資源調度相關研究主要考慮負載均衡、能源消耗以及用戶服務質量等問題,合理的云資源調度算法可以提高系統負載均衡度,改善系統資源利用率和能耗,同時也能提升用戶服務質量。文章將近年來國內外研究成果進行了分類探討,并分析了現有研究的優點及不足。
云計算;資源調度;負載均衡
隨著互聯網和IT技術的迅猛發展,信息量與數據量急劇上升,計算機有限的計算和處理能力已滿足不了用戶的需求,用戶對資源的需求和利用出現了不平衡的狀態。而傳統的計算模式難以解決這些問題,一方面某些業務需要大量的計算資源和存儲資源來運行,但計算機有限的資源難以滿足需求;另一方面互聯網上的某些資源沒有被充分利用造成一定程度上的資源浪費。在這些情況下,一種新型的服務計算模型誕生:云計算[1]。
自2007年“云計算”概念首次提出,發展至今日,云計算依然熱度不減,各大IT企業都開始了探“云”之路,國外云計算發展較快的企業有谷歌、IBM[2]、亞馬遜[3]、微軟等,國內有領跑者世紀互聯,他們都先后加入了云計算行列,將云計算作為他們的戰略方向,促使云計算的應用越來越廣泛,發展速度越來越快。
云計算是一種商業服務模式和計算模型,其通過將計算任務分布在大量計算機構成的不同數據中心上,使各種應用系統能夠根據需要獲取存儲空間、信息服務以及計算能力等。云數據中心作為一個大量計算機的集中地, 包含了大規模的服務器和網絡設備。隨著網絡用戶的快速增加,一個云計算環境可能有海量的用戶任務需要運行,這就使得云數據中心更加復雜。目前,云數據中心面臨著諸多問題,如服務器有很大一部分時間處于閑置狀態,導致資源的大量浪費;應用程序信息的不確定性以及物理機處理能力的差異性,使得物理機負載不均衡;用戶需求越來越多樣性以及動態變化性,使得云提供商需要時刻關注用戶需求,最大程度滿足用戶的QoS要求等等。這些問題對資源使用效率、系統性能等方面都有著很大影響。如何將云計算虛擬資源有效的按用戶需求動態管理和分配,并提高資源的使用效率,是云計算研究的關鍵問題之一。
云計算資源調度大致可分為以下幾個模塊[4]:
(1)檢測負載信息:通過云端監測模塊獲取物理機負載信息(主要考慮3中負載類型:CPU負載,網絡吞吐量和磁盤I/O負載)和虛擬機的配置信息,并將所獲取的信息作為已知信息傳給下一階段。
(2)調度策略模塊:該模塊是根據所要解決的目標問題來設計相應的調度算法。
(3)調度結果比較:將調度策略的結果與原配置信息進行比較,判斷云計算系統性能(包括資源利用率和能耗等)是否得到提高。
(4)遷移虛擬機:與原配置方案進行對比,如果調度策略的結果提高了云計算系統性能,然后決定是否遷移虛擬機。判斷標準是將再遷移成本與調度策略帶來的好處進行比較。若結果遷移成本低,則執行調度策略的結果,對物理機上的虛擬機進行遷移。云計算資源調度流程圖如圖1所示:

圖1 云計算資源調度流程圖
2.1解決系統負載均衡問題
由于云環境下的服務器資源異構性以及應用多樣性等特點,容易造成系統負載不均衡,導致某些服務器負載過重,而有些服務器負載過輕或閑置,這樣對云計算平臺系統的整體性能造成很大的影響。因此,需要合適的云資源調度策略來處理服務器間的負載均衡問題,從而提高云資源利用率和云系統的整體性能。文獻[5]在 Eucalyptus 平臺上采用輪詢調度算法,其將虛擬機按順序分配給不同的服務器來實現系統的負載均衡。該算法實現簡單,但是沒有考慮不同時刻下服務器的工作狀態以及服務器的差異性。文獻[6]設計了一種基于動態反饋機制的負載均衡算法,算法根據物理機反饋的負載指標來分配計算任務,動態的調整物理機上的負載。資源調度是一個復雜的問題,需要有效的算法來尋求最優解。文獻[7]提出了一種基于蟻群算法的云資源調度算法來解決系統負載均衡問題。但是蟻群算法全局搜索能較差,容易陷入局部解。文獻[8]提出一種改進蟻群算法的云資源調度策略,算法根據節點上的負載情況來劃分類型,然后分配云節點中的任務,算法較好的解決了云端負載均衡問題。
2.2解決能耗問題
云供應商為了獲得更大的利益,希望更多的用戶將他們的任務放到云端來執行,這使得數據中心和高性能計算平臺的能耗開銷變得越來越大,同時服務器的閑置或不合理使用也進一步加大了系統能耗。通過云資源調度算法來解決云端能耗問題,是云計算研究的一個熱點問題。文獻[9]采用降低虛擬集群的處理器電壓方法來解決系統能耗問題。通過監視虛擬機的的負載情況來調節處理器電壓,當負載較少時,調低處理器速度,從而到達降低能耗的效果。但是,文獻沒有考慮降低能耗是否會對應用性能造成影響。文獻[10]考慮能耗與應用完成時間的問題。它對能耗和應用完成時間進行建模,提出一種平行雙目標混合方法,并利用Pareto遺傳算法進行求解。該算法能較好的解決能耗問題,同時也縮短了任務完成時間。文獻[11-12]是從減少工作的物理機數量來解決能耗問題。文獻[11]通過整合物理機上的任務負載,降低物理機使用數量,達到降低系統能耗的目的。文獻[12]利用神經網絡方法預測服務器上的負載,根據檢測結果來決定打開或關閉服務器,使得虛擬機分配的服務器數量最少,從而到達降低數據中心能耗的目的。但是,他們是在云端服務器是同構條件下解決能耗問題的,實際上大部分的服務器都是異構的。文獻[13]研究云端服務器異構情況下的能源優化問題。利用約束滿足問題對能源問題進行建模,采用約束規劃方法進行求解,得出能耗最優的資源分配方案,并且作者設計一種資源調度算法dynamicpower(DY)來實現該優化分配方案。
2.3解決用戶QoS問題
在云環境下,用戶按需獲取服務,而云提供商根據用戶使用的資源數量進行收費。因此用戶對服務的服務質量是有所要求的,如用戶總希望花最少錢獲取最好的服務(費用要求),用戶希望云端以最短的時間完成任務(時間要求),有些用戶對任務執行過程的流暢性也有所要求,希望獲得盡可能高的帶寬等等。因此如何保證用戶的QoS需求也是云計算研究的重要內容之一。文獻[14-15]僅是考慮任務完成時間這個服務質量指標。文獻[14]提出一種Min-Min算法,它是計算每一個任務最小完成時間,然后再從所有這些時間的資源中選取時間最小的資源,并將其與任務進行匹配。與文獻[14]不同,文獻[15]從所有最小時間的資源中選取最大的資源,然后再進行任務和資源匹配。文獻[16-17]是以帶寬來衡量服務質量。文獻[16]改進了Min-Min算法,它是根據用戶服務質量需求來進行吞吐率優化的。文獻[17]是通過加權平均進行資源選擇,它將網絡帶寬作為QoS屬性,把任務按QoS需求分為不同優先級,優先調度級別高的任務。上面僅是優化QoS的單一目標。文獻[18-19]針對多維 QoS進行了研究。文獻[18]提出基于多維QoS簡單約束的最小代價最大服務概率算法,參考作業調度的思想,建立云環境下的資源調度模型,根據物理資源與 QoS的映射關系,建立資源分配模型。文獻[19]根據不同用戶對QoS的不同需求,提出一種基于多個任務流的多 QoS的云調度策略。文獻[20]提出一種基于免疫克隆的偏好多維QoS云計算調度算法,以滿足資源負載和用戶對時間的需求。文獻[21]提出基于 QoS的多目標服務調度方法,在滿足不同用戶的不同需求的同時,對云資源利用率和負載均衡問題均有了較好的改善。
本文分別從負載均衡、系統能源消耗以及用戶服務質量等三個方面,對近年來國內外云資源調度相關研究進行了討論。雖然,該領域已涌現了一系列研究成果,但隨著云系統規模的日益強大,云數據中心越來越復雜,如何高效地調度云資源以提高系統整體性能和效率仍是該領域的焦點。
[1] Armbrust M, Fox A, Griffith R, et al. A view of cloud computing[J].Communications of the ACM,2010,53(4): 50-58.
[2] Boss G, Malladi P, Quan D, et al. Cloud computing[J/OL]. IBM White Paper, 2007[2011-02-21]. http://download. boulder.ibm.com/ibmdl/pub/software/dw/wes/hipods/Cloud _computing_wp_final_8Oct.pdf.
[3] Amazon E C. Amazon elastic compute cloud (Amazon EC2)[J]. Amazon Elastic Compute Cloud (Amazon EC2), 2010[2010-5]. URL: http://aws.amazon.com/ec2/. Access: 5 Mar 2010
[4] Chen S,Wu J,Lu Z. A cloud computing resource scheduling policy based on genetic algorithm with multiple fitness[C]//2012 IEEE 12th International Conference on Computer and Information Technology (CIT).Chengdu: IEEE,2012:177-184.
[5] Tan T,Kiddle C.An assessment of eucalyptus version 1.4[R]. Department of Computer Science, University of Calgary, 2009.
[6] 余敦福,李鴻健,唐紅,等.基于反饋機制的動態負載平衡算法研究[J].計算機應用研究,2012,29(02):527-529.
[7] Gao Y,Guan H,Qi Z, et al. A multi-objective ant colony system algorithm for virtual machine placement in cloud computing[J].Journal of Computer and System Sciences, 2013,79(8):1230-1242.
[8] 爾雅莉,王慶生.云中基于蟻群算法改進的負載均衡策略[J].計算機工程與設計,2014,35(12):4095-4099.
[9] Von Laszewski G, Wang L, Younge A J, et al. Power-aware scheduling of virtual machines in dvfs-enabled clusters[C]// 2009 IEEE International Conference on Cluster Computing and Workshops (CLUSTER'09). New Orleans: IEEE,2009: 1-10.
[10] Mezmaz M, Melab N, Kessaci Y, et al. A parallel biobjective hybrid metaheuristic for energy-aware scheduling for cloud computing systems[J].Journal of Parallel and Distributed Computing,2011,71(11): 1497-1508.
[11] Berral J L, Goiri í, Nou R, et al. Towards energy-aware scheduling in data centers using machine learning[C]// Proceedings of the 1st International Conference on Energy-Efficient Computing and Networking. ACM, 2010: 215-224.
[12] Duy T V T, Sato Y, Inoguchi Y. Performance evaluation of a green scheduling algorithm for energy savings in cloud computing[C]//2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW). Atlanta: IEEE,2010:1-8.
[13] 林偉偉,劉波,朱良昌,等.基于CSP的能耗高效云計算資源調度模型與算法[J].通信學報,2013,34(12):33-41.
[14] Buyya R, Abramson D,Giddy J. Nimrod/G: An architecture for a resource management and scheduling system in a global computational grid[C]//The Fourth International Conference/Exhibition on High Performance Computing in the Asia-Pacific Region. Beijing: IEEE,2000,(1):283-289.
[15] Moreno R, Alonso-Conde A B. Job scheduling and resource management techniques in economic grid environments[C]// Grid Computing. Springer Berlin Heidelberg, 2004:25-32.
[16] He X S, Sun X H, Von Laszewski G. QoS guided min-min heuristic for grid task scheduling[J].Journal of Computer Science and Technology,2003,18(4): 442-451.
[17] Chauhan S S, Joshi R C. A heuristic for QoS based independent task scheduling in grid environment[C]//2010 International Conference on Industrial and Information Systems (ICIIS). Mangalore: IEEE,2010:102-106.
[18] 彭紅姣,李安南,曹新欣.一種基于QOS約束簡化的云計算資源調度策略研究[J].電腦知識與技術,2014,10(30): 7027-7028,7047.
[19] Xu M, Cui L, Wang H, et al. A multiple QoS constrained scheduling strategy of multiple workflows for cloud computing[C]//2009 IEEE International Symposium on Parallel and Distributed Processing with Applications. Chengdu: IEEE,2009:629-634.
[20] 孫大為,常桂然,李鳳云,等.一種基于免疫克隆的偏好多維QoS云資源調度優化算法[J].電子學報,2011,39(8): 1824-1831.
[21] 田素貞,翟玉梅,劉傳領.基于云計算的多目標服務調度算法的改進研究[J].陜西理工學院學報:自然科學版,2012, 28(1): 24-28.
Status analysis of resource scheduling in cloud computing
Aiming at the huge system scale and a number of task execution in cloud computing, rational and effective resource scheduling schemes are needed. At present, the related researches of cloud resource scheduling mainly consider the three problems, including load balance, energy consumption, and customer service quality. The reasonable cloud resource scheduling algorithm can improve the system load balance degree, increase the system resource utilization and energy efficiency, and promote the quality of service as well. This paper discusses the research achievements by classification in recent years, and analyses the advantages and disadvantages of the existing researches.
Cloud Computing; Resource Scheduling; Load Balance
TN929.5
A
1008-1151(2015)04-0024-03
2015-02-10
廣西自然科學基金項目(2014GXNSFAA118387,2013GXNSFAA019334)。
黃海芹(1989-),女,安徽人,桂林電子科技大學碩士研究生,研究方向為網絡優化。