?

云計算資源動態配置策略

2016-11-24 16:37蔣維成李蘭英
電腦知識與技術 2016年26期
關鍵詞:云計算數據中心

蔣維成++李蘭英

摘要: 云計算環境中存在大量的計算資源,對這些資源進行合理的配置具有重要意義。該文對任務請求隊列設置兩個閾值,結合服務節點負載情況,提出了一種計算資源動態伸縮配置的方法。該方法能根據服務請求的任務數對計算資源進行自適應配置,理論分析表明,在任務量增加時,算法能夠增加服務能力,避免用戶的服務請求長時間得不到響應,在任務量減少時,減少系統閑置資源,提高計算資源的高效利用,降低能量消耗。

關鍵詞:云計算;資源調度;數據中心

中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)26-0042-02

Cloud Computing Resource Dynamic Allocation Strategy

JIANG Wei-cheng, LI Lan-ying

(The Engineering & Technical College of Chengdu University of Technology, Leshan 614000, China)

Abstract: There are a lot of computing resources in the cloud computing. It is of great significance to make the allocation of the resources. In this paper, a method of the dynamic allocation of resources is proposed, which is based on the two thresholds of the task queue and the load of the node. The resources can be adapted according to the task. It can avoid excessive response time and idle resources, which improve the efficient use of resources and reduce energy consumption.

Key words: cloud computing; resource scheduling; data center

1 引言

云計算是一種新興的計算模式,它可以為用戶提供彈性的、規??梢陨炜s的計算資源[1-3]。在云計算中,存在大量的計算資源、存儲資源,使用虛擬化技術為用戶提供按需服務。云計算核心服務主要有基礎設施即服務(infrastucture as a service, IaaS),平臺即服務(platform as a service, PaaS)和軟件即服務(software as a service, SaaS)。IaaS進行硬件基礎設施部署,提供計算、存儲等相應服務。PaaS提供應用程序部署和管理服務,使用者上傳程序代碼和數據就能獲得服務,不必關心底層具體細節問題。SaaS提供基于互聯網的應用程序服務,用戶通過命令行、WEB服務或WEB門戶的形式獲取服務[4]。然而,WEB服務在高并發請求時,將出現響應時間增加、服務器宕機等問題。

云計算中存在大量的服務節點,如何管理這些服務節點,保持服務資源的高效利用具有重要意義,在用戶服務請求急劇增加時,避免系統壓力過大,用戶的服務請求長時間得不到響應,而在任務量減少時,較多的服務節點處于空閑狀態,造成資源的浪費、空耗電源。為了避免這種現象的發生,本文提出了基于用戶任務請求的服務資源動態配置策略。

2 相關研究

文獻[5] 運用虛擬技術在OpenStack上構建云平臺,實現對多媒體緩存服務器進行伸縮管理。文獻[6] 采用OpenStack和Cloudify構建自伸縮云應用平臺,為用戶提供CPU、存儲空間和操作系統等資源服務。該系統根據需要虛擬和部署相應服務來分擔請求任務。在服務請求下降時,減少應用實例,回收多余的資源,根據虛擬機資源模板的標度值建立模糊矩陣,進行相應的處理和調度。文獻[7] 使用Nagios網絡監視工具對服務器的性能指標進行采集,包括CPU利用率、內存利用率、磁盤利用率、進程數、交換空間利用率等,實現對云計算集群服務器的監控和負載均衡的調度。文獻[8]指出,動態獲取OpenStack資源池的信息和資源池中運行節點的數量,收集云計算節點的CPU使用率、內存利用率和網絡帶寬的使用情況,綜合所有節點的CPU負載情況來決定系統的負載是否過重。在數據中心負載過大時,開啟和增加服務節點來減輕系統的壓力,而在負載過低時,關閉部分節點,減少運行節點的數量,從而提高剩余節點的資源利用率,降低數據中心整體能耗。

國外研究統計表明Youtube網站和NASA網站的用戶訪問具有周期性,訪問的高峰是在傍晚時分,而在深夜到凌晨降到低谷。云計算中任務的請求具有一定周期性和規律性,這就為服務資源的動態配置提供了依據。

3 算法模型

本文算法模型如圖1所示,包括分析模塊、監控模塊和分配模塊。監控模塊負責監控用戶的服務請求,并把服務請求依次放入任務緩沖隊列中,任務分配模塊從緩沖隊列中取出任務,分配給各服務節點進行處理。分析模塊負責分析系統中各服務節點的運行情況、響應時間的快慢、負載壓力等,并把分析結果報告給監控模塊進行決策處理,決定是否增加還是減少服務節點,以保持系統資源合理配置,效率較高。

文獻[7]指出,服務節點負載輕重狀況的判斷主要有兩種方式:1)根據服務節點對任務響應延時來判斷節點負載是否過重。2)根據服務節點的硬件綜合指標來判斷節點的負載情況。對于相同的任務,服務節點負載較輕時任務的響應延時相差不大,而在負載較重時,響應延時將有所增加。服務節點的CPU使用率、內存利用率、交換空間利用率等較高時,節點處于繁忙狀態,負載壓力較大,反之,則較為空閑。但如果簡單地憑借響應延時或硬件指標進行評價,可能存在片面現象。若將二者綜合考慮,將更加全面,也更加準確。

服務節點硬件利用率上升到一定比例時,服務性能將會受到較大影響,性能下降、宕機等。監控模塊需要了解各服務節點的負載情況,避免這類現象的發生。服務節點硬件的利用率,節點自身進行檢查和判斷,實現起來比較方便。當服務節點檢測到自身硬件的利用率超過或低于某一閾值時,把本節點的檢測信息報告給監控模塊。通過服務節點與監控模塊的通信,監控模塊就可以掌握系統中各節點的硬件利用情況。對于任務響應延時由分析模塊來實現比較方便。分析模塊根據節點這一段時間內的任務響應數和上一段時間的任務響應數,就能分析出該服務節點的任務響應延時增加了還是減少了,并把分析結果交給監控模塊。監控模塊結合節點的硬件利用情況,就能較好地作出判斷,節點的負載是過重,還是過輕,并統計系統中這類服務節點的數目。假設用Nb表示系統中負載較重的節點數,Ns表示系統中空閑節點數。系統將根據數目的多少,采取相應的處理措施。

根據云計算系統中當前正在運行的服務節點數所提供的服務能力和任務數的多少,可以將二者之間的關系劃分為如下三種情況:1)服務能力過剩。此時工作的服務節點數量過多,存在資源浪費,可以關閉部分節點,節省能量消耗。2)服務能力嚴重不足。此時工作的服務節點數量較少,較多的任務得不到響應,應增加服務節點來提高服務能力。3)服務能力基本符合要求。此刻整體服務能力雖然符合要求,可能存在部分服務節點壓力過大,而部分節點較為空閑,可以對壓力過大節點的負載遷移到空閑節點,實現負載均衡調節。

對于任務量的多少可以通過任務隊列中的任務數來進行確定。給任務隊列設置兩個閾值,一個是hmax,另一個是hmin,如圖2所示。當任務隊列中的任務量超過hmax時,表示系統的任務過大,系統中服務能力不足。而當任務隊列中的任務量低于hmin時,表示系統中的任務過少,系統服務能力過剩。對于任務隊列中的任務,采用Xen中的Credit調度算法,按比例公平輪轉調度VCPU(Virtual Processing Unit)的方式把任務分配給各服務節點。為各服務節點建立一個子隊列,服務節點從各自的子隊列中取出任務進行處理。為了衡量分配給服務節點的任務量是否適中,為各子隊列設置兩個閾值Hbi和Hsi,當分配給節點i的任務量超過子隊列的Hbi時,任務量過重,而當分配給節點i的任務量少于子隊列的Hsi時,任務量過輕。

設用T表示任務隊列中任務量的多少,系統中重負荷節點數量超過閾值rb時將采取措施,閾值rs表示系統中空閑節點數量超過該值時將采取措施。下面分情況來討論服務資源的配置處理。

1)T>hmax 且Nb>rb時,任務隊列中存在大量待處理的任務,同時,服務節點負載壓力過大的數量超過閾值rb,表明系統中較多的任務得不到服務,整體服務能力嚴重不足,應該增加服務節點數量來提高服務能力,避免任務長時間得不到響應。

2)T>hmax 而Nb

3)Trb時,系統中的任務量沒有過多,卻出現部分節點負載過重,數量或許大于rb,或許小于rb。對于Nbrb,此時,對任務過重的節點進行任務遷移,進行負載均衡調度。如果任務量繼續增加,就可能轉化成情況(1)。

4)Trs時,系統中的任務量較少,同時空閑節點數量較多,存在服務能力過剩,可以關閉部分空閑節點,以減少資源的浪費。

5)T

6)T>hmin 而Nsrs時,系統中的任務量不少,卻出現空閑節點,當Nsrs,此時,可以對這部分空閑節點增加任務的分配。

從上述分析可以看出,系統中任務量和服務能力之間的狀態關系是動態變化的,在采取相應措施后,能夠實現狀態之間的轉化,從而保持服務能力符合任務量的要求,達到服務資源的自動伸縮調節。

4 性能分析

云計算中服務能力過剩的那部分節點的運行,造成資源浪費、空耗能量、設備折舊加速,導致較大的經濟損失,而服務能力不足時,造成用戶服務請求長時間得不到響應,用戶流失,也將造成相應的經濟損失。

假設系統中任務的到達是參數為[λ]的Poission過程,任務隊列的長度為L,系統中有n個服務能力為[μ]的服務節點,設任 (下轉第66頁)

(上接第43頁)

務隊列的任務量在長時間內的平均值為L/2,則有

[λt=nμt+L/2]

那么

[n=limt→∞λt-L/2μt=λμ]

設在任務量少于hmin時,僅需要的服務節點數量為m1個,那么可以減少的服務節點的數目為([λ/μ-m1])個,若每個服務節點運行的總費用為K1(元/分鐘),那么在T時間里,可以節省的開支為

[C1=(λ/μ-m1)K1T] (1)

若在任務量大于hmax時,需要的服務節點數為m2個,則增加服務節點數為([m2-λ/μ]),在時間T里,增多的這些服務節點的任務處理量為[(m2-λ/μ)μT]。設耽誤任務的處理損失為K2(元/單位任務量),那么可以減少的損失為

[C2=(m2μ-λ)K2T] (2)

從以上分析可以看出,本文方法能在任務量減少時,節?。?)式的成本,而在任務量增加時可以減少(2)式的損失。

5 結束語

云計算中資源合理地配置一直是研究的重點。如何保持計算資源的高效利用,降低系統中的整體能耗具有重要意義。本文分析云計算中任務的特點,采用節點響應時間和硬件指標來分析服務節點的負載情況,提出了根據隊列中的任務量和滿足特定條件的計算節點數來對計算資源動態增加和減少的控制策略。該方法易于實現、方便有效,有利于提高云計算中服務節點的效能,為建設綠色云計算數據中心服務。

參考文獻:

[1] 薛濤, 劉龍. 云計算中虛擬機資源自動配置技術的研究[J]. 計算機應用研究, 2016, 33(3): 759-764.

[2] 林利, 石文昌. 構建云計算平臺的開源軟件綜述[J]. 計算機科學, 2012, 39(11): 1-7.

[3] 王晶, 方偉, 陳靜怡, 等. 云計算環境下的自適應資源管理技術綜述[J]. 計算機工程與設計, 2012, 33(6): 2128-2132.

[4] 羅軍舟, 金嘉暉, 宋愛波, 等. 云計算:體系架構與關鍵技術[J]. 通信學報, 2011, 32(7): 3-19.

[5] YANG J W, KIM S H, LEE S D,et. Design of a next generation D-CATV cloud platform based content service integration system using virtualization technology[C].//Proceedings of the 2011 International Conference on Information Science and Applications, Washington DC: IEEE Computer Society, 2011: 1-6.

[6] 裴超, 吳穎川, 劉志勤, 等. 基于OpenStack和Cloudify的自伸縮云平臺體系[J]. 計算機應用, 2014, 34(6): 1582-1586.

[7] 董波, 沈青, 肖德寶. 云計算集群服務器系統監控方法的研究[J]. 計算機工程與科學, 2012, 34(10): 68-72.

[8] 李丹程, 王曉晨,宋曉雪, 等. 基于OpenStack的資源負載預測方法研究[J].計算機應用研究, 2014, 31(7): 2178-2182.

猜你喜歡
云計算數據中心
酒泉云計算大數據中心
數據中心制冷節能技術及應用
民航綠色云數據中心PUE控制
實驗云:理論教學與實驗教學深度融合的助推器
基于云計算的交通運輸數據中心實現與應用
Overlay Network技術在云計算數據中心中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合