校莉



摘要:云計算是一種商業計算模型,云廠商一般都有自己的資源分配和任務調度模式,但并沒有統一的標準和規范。分析云計算系統資源調度,提出一種基于進階的粒子群算法,采取集群動態協作產生優質粒子及對粒子逆向作用平衡局部資源的策略,以達到全局及局部搜索雙向資源最優。經云仿真平臺測試表明,應用該算法的調度策略可行且高效。
關鍵詞:粒子群優化算法;云計算;資源調度
DOIDOI:10.11907/rjdk.161535
中圖分類號:TP301
文獻標識碼:A 文章編號:1672-7800(2016)005-0016-02
0 引言
云計算作為一種并行計算技術實質是網格計算的服務延伸,以滿足海量級信息化計算服務需求。云計算具有安全、可靠、高效的數據處理能力及靈活性和擴展性,可以顯著節省單點計算的時間開銷、降低計算成本。盡管通過VM(virtual machine)等虛擬化協議,可以將多臺服務器資源集群為一個高性能的資源池虛擬體,然而在大規模、多模式的資源系統中,良好的資源調度策略是提高平臺效能的必要條件,也是影響系統服務效能的重要因素。傳統粒子群優化(PSO)算法[1]以其模型結構清晰明了、計算傳參量小、語言實現容易等優勢在數學建模、網格計算等諸多工程科學領域被廣泛應用。但也有其局限性,主要體現在大量局部搜索情況下,系統可能處于局部最優的極端狀況,同時收斂速度變慢。
本文在分析云計算系統的資源調度的基礎上,提出一種基于進階的粒子群算法(Advanced PSO,縮寫為A-PSO),相比傳統PSO算法,其在集群動態協作產生優質粒子及對粒子逆向作用平衡局部資源的兩個方面做出了優化,以達到全局及局部搜索雙向資源最優。將改良后的A-PSO算法應用于系統資源調度,使得云計算系統能夠快速響應應用端的資源請求,實時給出當前優質資源,并考慮資源庫存,盡量規避負載失衡、局部死鎖、資源過早耗盡等風險。
1 云系統資源動態部署
大多數云系統采用計時或計流量付費的營運模式,通過資源共享服務用戶并盈利,應用端開發者僅需考慮軟件自身問題,各類資源占用和調度則均由云計算平臺統一處理。云平臺能根據用戶需求和系統實際負載情況進行動態部署、配置及調度資源。云計算資源調度是指在某個指定的集群中,根據既定規則對終端請求進行動態資源分配。如果制定的調度算法過于簡單,容易造成分配不均;如果算法過于復雜,則由于過多的邏輯處理和關聯操作會造成較大時間開銷和資源消耗,從而降低了整個系統的性能。因此,如何制定一個合理的調度規則,采用合適的算法實現智能、高效的資源調度是各云商亟待解決的難題。
2 粒子群優化算法
粒子群算法是一種基于群體的自適應搜索優化算法[3]。其通過權重因子來調節算法的全局和局部尋優能力,權重因子值高則利于全局尋優;反之,則利于局部尋優,通常權重因子值域一般為(0.4,0.9)。尋優計算公式為:
3 A-PSO 算法下的云計算系統資源調度策略
粒子群優化算法雖然算法設計較為簡單,自適應特性在許多工程應用中具有明顯優勢,但算法隨機性較大,仍有很大優化空間。本文從集群動態協作和粒子逆向作用兩個方面對PSO算法進行改進。
3.1 改進的粒子群優化算法
通過集群中子群的動態協作在一定程度上可以提升收斂速度及求解深度,同時粒子逆向作用效應可以一定程度上沖散密集資源,避免系統陷入局部極優而導致資源過早耗盡的風險,維持系統的負載平衡。基于這種A-PSO算法,對資源申請者,云系統可以給出一個當前資源背景下比較優質的資源。采用動態協作算法,次群重點全局搜索,主群則重點局部搜索。一次循環中,所有次群最優結果傳導給主群,主群則選出最優子群資源粒子,流程如圖1所示。
4 仿真檢驗
根據上述算法,設計一個基于云計算的仿真平臺CS3.0[4],在JDK1.8環境下使用Myeclipse2013工具編碼的仿真檢驗實驗。分別對DataCenter、DataCenterBroker、Cloudlet 等多個類進行重寫并編譯成功。實驗初始設定4個集群,其中主服務集群1個,次群3個,各群體規模固定為100,迭代上限500 次。主群學習因子均設定為4:3,次群學習因子均設定為2:1。實驗比照數據為采用標準PSO算法,在同樣設置條件下的執行時間開銷。結果如圖3所示。
由實驗結果可知,對比采用傳統PSO算法,A-PSO算法調度策略平均時間開銷更小。
5 結語
分析云計算系統資源調度,提出一種基于進階的粒子群算法,相比標準PSO算法而言,改進后的APSO算法能夠更高效處理云系統資源搜索與分配,兼顧了資源分配的公平性和系統負載均衡,系統擴展性更強。后續將研究學習因子和逆向粒子權重等,進一步改進該算法,為云系統開發及管理提供參考借鑒。
參考文獻:
[1]KENNEY J, EBERHART R. Particle swarm optimization[C].Proc. of IEEE International Conf. on Neural Networks. Perth, USA,1995.
[2]虛擬化與云計算小組. 虛擬化與云計算[M]. 北京: 電子工業出版社, 2009.
[3]李麗,牛奔.粒子群優化算法[M]. 北京: 冶金工業出版社,2009.
[4]CLOUDS LAB. A framework for modeling and simulation of cloud computing infrastructures and services introduction[EB/OL]. http://www.buyya.com/gridbus/cloudsim/.
(責任編輯:陳福時)