王 準
?
基于CloudSim云計算仿真方法研究
王 準
廣州工商學院,廣東 廣州510850
隨著云計算技術飛速發展,云計算模式下的應用服務需要復雜的組成、配置和部署條件。當系統和用戶配置和需求產生變化時,評估云供應政策、應用工作負載模式和資源性能模式的性能將變得難以實現。云仿真平臺Cloudsim:一個可伸縮的仿真工具集,可實現云計算系統和應用供應環境的模擬與仿真。通過一個案例,研究了基于Cloudsim平臺證明了任務調度算法的正確性和動態調用的有效性。
CloudSim;云計算;仿真方法
Cloudsim都支持云計算系統組件的系統和行為建模,例如數據中心,虛擬機和資源調度策略等。它可以快速簡易的實現一般的應用調度技術。目前,cloudsim都支持單一網絡和交互網絡組成的云計算環境的建模與仿真。此外,還實現了為基于交互網絡云計算場景分配虛擬資源的政策和調度提供了通用接口。許多諸如來自USA的HP Lab組織的研究者都使用cloudsim用于對云資源調度和數據中心節能管理的研究[1]。
1.1 CloudSim概述
CloudSim,云計算仿真工具是澳大利亞墨爾本大學Rajkumar Buyya教授領導的網格實驗室和Gridbus項目推出的云計算仿真軟件。CloudSim平臺有助于加快云計算的算法、方法和規范的發展。CloudSim的組件工具均為開源的。CloudSim的軟件結構框架和體系結構組件自底向上由SimJava,GridSim,CloudSim,UserCode四個層次組成。

圖1 CloudSim的軟件結構框架和體系結構組件
CloudSim最底層是SimJava離散事件仿引擎,實現核心功能需要更高級仿真的框架,如排隊和事件處理、建立服務,主機,虛擬機等系統組件、組件間的通信等。GridSim層支持高層次軟件組件用于多重網格基礎設施。在CloudSim層,通過編程擴展GridSim層暴露的核心功能,并提供新的支持以虛擬云為基礎的數據中心環境。用戶層中,開發人員可以開發各種需求、應用的配置和云可用性場景,并執行以定義云配置的Robust測試。[2]CloudSim源代碼中有幾個核心類:Cloudlet、DataCenter、DataCenterBroker、Host、VirtualMachine、VMScheduler、VMCharacteristics、VMMAllocationPolicy、VMProvisioner。
1.2 Cloudsim環境配置
1.2.1 JDK安裝和配置
從http://java.sun.com/ 下載JDK最新版本jdk1.7,CloudSim3.0需要運行在JDK1.7版本以上。安裝下載的JDK,設置環境變量。在Path中加入路徑:C:Program FilesJavajdk1.7in; ClassPath中加入路徑:C:Program FilesJavajdk1.7libdt.jar; C:Program FilesJavajdk1.7lib ools.jar;。
1.2.2 CloudSim配置
從http://www.gridbus.org/cloudsim/ 下載CloudSim 3.0 版,下載的是一個Zip包,解壓壓縮包即可。設置環境變量,在ClassPath中加入路徑:C:CLOUDSIMjarscloudsim.jar; C:CLOUDSIMjarsgridsim.jar; C:CLOUDSIMjarssimjava2.jar。[4]
1.2.2 CloudSim技術實現
(1)CloudSim類設計圖
圖2 CloudSim類設計圖
BwProvisioner:用于模擬虛擬機的帶寬分配策略。可以通過擴展這個類反映其應用需求的變化,實現自己的策略(基于優先級或服務質量)。
CloudCoordinator:整合了云數據中心,負責周期性地監控數據中心資源的內部狀態和執行動態負載均衡的決策。
Cloudlet:模擬了云應用服務(如內容分發、社區網絡和業務工作流等)。每一個應用服務都會擁有一個預分配的指令長度和其生命周期內所需的數據傳輸開銷。[3]
CloudletScheduler:擴展實現了多種策略,用于決定虛擬機內的應用服務如何共享處理器能力。支持兩種調度策略:空間共享(CloudletSchedulerSpaceShared)和時間共享(CloudletSchedulerTimeShared)策略。
Datacente:模擬了云提供商提供的核心基礎設施級服務(硬件)。它封裝了一系列的主機,且這些主機都支持同構和異構的資源(內存、內核、容量和存儲)配置。
DatacenterBroker:模擬了一個代理,負責根據服務質量需求協調SaaS提供商和云提供商。該代理代表SaaS提供商,它通過查詢云信息服務(Cloud Information Service)找到合適的云服務提供者,并根據服務質量的需求在線協商資源和服務的分配策略。
DatacenterCharacteristics:包含了數據中心資源的配置信息。
Host:模擬如計算機、存儲服務器等物理資源。它封裝了一些重要信息,如內存/存儲器的容量、處理器內核列表及類型(多核機器)、虛擬機之間共享處理能力的分配策略、為虛擬機分配內存和帶寬的策略等。
NetworkTopology:包含模擬網絡行為(延時)的信息。它里面保存了網絡拓撲信息,該信息由BRITE拓撲生成器生成[5]。
RamProvisioner:代表為虛擬機分配主存的策略。
1.2.3 使用CloudSim仿真的一般步驟
(1)初始化CloudSim包;(2)創建數據中心Datacenter;(3)創建代理Broker;(4)創建虛擬機Virtual Machine
(5)創建云任務Cloudlet;(6)開始仿真;(7)打印仿真結果。
2.1 CloudSim樣例的運行
(1)啟動MyEclipse進入主界面。選擇File->New->Java Project命令,打開“New JavaProject”窗口,新建一個工程,單擊“Next”,創建一個Java工程。
(2)選擇CloudSimExample4為例,其含義是:創建兩個數據中心,每個數據中心一臺主機,并在其上運行兩個云任務,如圖3。
(3)程序運行結果,如圖4。

圖3 運行樣例

圖4 程序運行結果
2.2 CloundSim模擬作業調度
在云計算環境下的作業調度算法中,Min-Min算法是目前調度算法的研究中最多的一種算法。本次仿真設置兩臺主機,產生一個數據中心和數據中心代理,Min-Min算法在任務數分別為300,600的情況下,并隨著虛擬機數量的變化,任務的平均完成時間的統計數據如表1所示:
表1 平均完成時間的統計數據

在虛擬機數增加時,任務的平均完成時間值隨之減少,而在任務數增加時任務的平均完成時間值增加,顯然同Min-Min算法相一致,說明模擬實現任務調度算法的正確性[6]。
CloudSim是云計算環境的模擬與仿真工具,它允許擴展和定義軟件棧組件策略,通過對已有的基本函數進行擴展,能夠在特殊場景和配置環境下對核心算法和應用標準進行相關研究,對科研工作者以及企業在云基礎設施建設、商業產品的測試和部署等都有著重要的作用。
[1]陳小嬌,陳世平,方芳.云計算中虛擬機資源分配算法[J].計算機應用研究,2014(9):2584-2587.
[2]王霞俊. CloudSim云計算仿真工具研究及應用[J].微型電腦應用,2013(8):59-61.
[3]劉馳.云仿真工具CloudSim在虛擬機放置中的應用[J].計算機與數字工程,2015(4):746-748.
[4]熊智, 陸紅燕, 曾勝濤. 一種基于CloudSim的Web集群節能部署仿真方案[J]. 系統仿真學報, 2014, 26(12):124.
[5]查英華,云計算仿真平臺CloudSim在資源分配研究中的應用[J].軟件導刊,2012(11):57-59.
[6]Wang L Z, Kunze M&Tao J. Cloud Coputing:a Perspective Study[R].Grid Computing Enviroment(GCE) workshop,2008.
CloudSim cloud computing-based simulation method
Wang Zhun
Guangzhou Institute of industry and commerce,Guangdong Guangzhou 510850
with the rapid development of cloud computing technology,cloud computing mode service requires the application of complex composition,configuration, and deployment conditions. When the system and user configuration and demand change,assess supply policies,application workload patterns and resource performance model,the performance will be difficult to achieve. Cloudsim cloud simulation platform:a scalable simulation toolset enables cloud computing system and application serving environment modeling and simulation. Cloudsim platforms is through a case study of task scheduling algorithm is proved correct and the effectiveness of dynamic invocation.
CloudSim;Cloud computing;Simulation method
TP3
A
1009-6434(2016)09-0122-03
王準(1983—),男,漢族,湖南長沙人,講師,碩士,研究領域為云計算,網絡安全等。
廣東省青年創新人才類項目(No.2015KQNCX196)。
廣東省高等教育學會高職高專云計算與大數據專業委員會課題(No:GDYJSKT16-06)。