劉詠平 劉杰 梁鵬 郝剛


摘要:為了解決高性能云計算環境中計算資源利用率不高、短期用戶需求大的問題,本文提出一種基于多負載均衡的自適應云計算資源管理模型,通過采用多種負載均衡實現算法,并動態地根據現有任務分配來評估,最終由評估結果使用最優負載均衡,使得等待作業可以高效地均衡分布在不同的資源上運行,從而增加系統的吞吐量及性能。
關鍵詞:云計算;資源管理;按需切換
中圖分類號:TP391? ? ? ?文獻標識碼: A
文章編號:1009-3044(2020)36-0225-02
1引言
在高性能計算環境中,用戶需求是連續較長時間的用戶請求以及短時間快速響應,而自適應云資源管理模型需要提高集群的利用率以滿足用戶的快速響應。為了解決這一問題,本文提出一種基于多負載均衡的自適應云計算資源管理模型,通過采用多種負載均衡實現算法,并動態地根據現有任務分配來評估,最終由評估結果使用最優負載均衡,使得等待作業可以高效地均衡分布在不同的資源上運行,從而增加系統的吞吐量及性能。
2相關工作
隨著云計算的不斷深入發展,具有負載均衡調節能力的云計算集群應用也逐漸深入各個行業領域。最初常見的公共IaaS云計算收費方式是按需收費的方式,在此基礎上,亞馬遜公司提供了一種具有彈性資源縮放功能的自適應Cloud Watch服務,該服務無須用戶固定租賃軟硬件資源,而是根據當前應用所需的資源數量,動態地租賃付費資源,減少了客戶租用云計算服務的成本。
文獻[1]采用了pay-per-use的方式的提供IaaS服務,以極小的成本實現IT服務連續性管理。此外文獻[2]提出了一種高效的應用集群方案,該方案減少了IT基礎設施造成的能源消耗。文獻[3]通過首先計算集群中所有作業的運行情況,獲取當前運行作業的掛起時間和預估時間,采用動態負載均衡策略來配置作業的運行資源。
在商業應用領域的電商平臺不同于高性能集群,其需求是連續較長時間的用戶請求以及短時間快速響應。因此,面向高性能應用集群的自適應云資源管理模型不僅需要考慮實現可動態調節高性能集群的自適應能力,還需要盡可能提高集群的利用率以滿足用戶的快速響應。而為了滿足響應需求而購買大量硬件會造成資源的浪費;反之,則會導致用戶請求無法得到迅速響應。高性能云計算集群通過實時地獲取當前負載的變化情況,采用平衡資源調度策略提高集群的性能和可靠性。文獻[4]提出了一種自適應混合云應用集群,采用動態監測手段監測集群資源使用情況,可利用本地和云端的資源,動態地增減集群的計算節點,實現彈性的資源共享。文獻[5]提出動態彈性Web集群方法,該集群基于計算節點的會話使用情況,動態地調整計算節點的資源,但是該方案依賴于活躍的對話鏈接數量。文獻[6]將資源調度問題劃分到存儲層、計算層、網絡層三個層面,根據每一層的具體資源調度請求進行細粒度資源調度。
3 基于多負載均衡的自適應云資源管理模型研究
負載均衡的主要作用是將用戶的請求分攤到不同的服務器上,從而避免集群中某些服務器由于用戶請求過于集中而處于高負荷狀態,而其他服務器卻處于低負荷狀態。因此可以通過對服務器集群設置不同策略的負載均衡,實現用戶資源分流,使得服務器集群整體使用效率最大化。當前主流的負載均衡方法有基于權重隨機算法的、基于最少活躍調用數算法以及基于加權輪詢算法。三種算法的調度策略有所側重,要根據系統評估的結果,對三種算法的運行效率進行評估,選擇最好的負載均衡策略。接下來對三種負載均衡算法進行詳細解釋:
(1)基于權重隨機的負載均衡算法
該算法的關鍵在于隨機數生成器,隨機數生成器是一個可生成[0,10)之間隨機數的算法。然后將所有服務器依次用[0,10)之間不同的權重劃分區間,隨機數落在某個區間時,屬于該區間的服務器則被選中。多次加權后,被選擇次數最多的服務器則是該次算法的輸出結果。算法的流程圖如圖2所示。
該算法的關鍵在于隨機數生成器的分布性,如果隨機數生成器產生的數字分布處于正偏差或者負偏差情況,則會導致某一部分服務器長期處于高負荷狀態,不利于提升整體服務器集群的使用效率。而平均分布隨機數的方式雖然簡單易于實現,但是沒有考慮每部服務器當前負載情況以及服務器的硬件性能差異。因此該算法通常用于集群初始分配資源。
(2)基于最小活躍數的負載均衡算法
該算法的原理是,每個服務器在初始時設定活躍數為0,當分配一個用戶請求到該服務器后,該服務器的活躍數+1,當完成該用戶請求并退出后,將該服務器的活躍數-1。分配服務器時,則根據當前集群內所有服務器的活躍數,選擇最小活躍數的服務器分配給用戶,當有多個服務器的活躍數相等時,采用隨機分配的形式。算法的流程圖如圖3所示。
該算法的關鍵在于活躍數與當前服務器負載有關,可以動態地根據服務器負載調整用戶請求的分配。但是該算法仍然沒有考慮到服務器的硬件性能差異。
(3)基于加權輪詢的負載均衡算法
輪詢算法是不考慮服務器實時負載的一種算法,即將用戶請求輪流平均分配給每個服務器,而不考慮當前服務器的負載現狀。由于服務器的實時負載和性能不一,直接使用輪詢算法進行負載均衡無法滿足用戶的要求。因此,在輪詢算法的基礎上,根據服務器的負載和性能設計權重,形成加權輪詢算法。
4 結論及未來工作
本文提出的基于多種負載均衡的自適應云計算資源管理機制,通過采用多種負載均衡實現算法,并動態地根據現有任務分配來評估,最終由評估結果使用最優負載均衡,使得等待作業可以高效地均衡分布在不同的資源上運行,實現按需增加或減少某類計算特性的計算節點,有效地提高集群的吞吐率及處理能力。
參考文獻:
[1] 郭星光.基于SPB技術的云計算數據中心互聯實現[D].南京:南京理工大學,2014.
[2]? Lin W C , Liao C H , Kuo K T , et al. Flow-and-VM Migration for Optimizing Throughput and Energy in SDN-Based Cloud Datacenter[C]// IEEE International Conference on Cloud Computing Technology & Science. IEEE, 2013.
[3]? Al-Dhuraibi Y , Paraiso F , Djarallah N , et al. Elasticity in Cloud Computing: State of the Art and Research Challenges[J]. IEEE Transactions on Services Computing, 2018, 11(99):430-447.
[4]? Huang T C , Shieh C K , Chilamkurti N , et al. Architecture for speeding up program execution with cloud technology[J]. Journal of Supercomputing, 2016, 72(9):3601-3618.
[5]? Lavanya S , Paul D W , Kumar N M S . Secure agent based resource matching and virtual grouping of cloud resources - An integrated approach[J]. International Journal of Pure and Applied Mathematics, 2018, 119(12):1083-1095.
[6]? Qian L , Wang L , Xu M , et al. Research on Resource Scheduling Based on Optimized Particle Swarm Optimization Algorithm in Cloud Computing Environment[J]. Iop Conference, 2018, 452.
【通聯編輯:梁書】