王 準
?
基于CloudSim云計算仿真方法研究
王 準
廣州工商學院,廣東 廣州510850
隨著云計算技術飛速發(fā)展,云計算模式下的應用服務需要復雜的組成、配置和部署條件。當系統(tǒng)和用戶配置和需求產(chǎn)生變化時,評估云供應政策、應用工作負載模式和資源性能模式的性能將變得難以實現(xiàn)。云仿真平臺Cloudsim:一個可伸縮的仿真工具集,可實現(xiàn)云計算系統(tǒng)和應用供應環(huán)境的模擬與仿真。通過一個案例,研究了基于Cloudsim平臺證明了任務調度算法的正確性和動態(tài)調用的有效性。
CloudSim;云計算;仿真方法
Cloudsim都支持云計算系統(tǒng)組件的系統(tǒng)和行為建模,例如數(shù)據(jù)中心,虛擬機和資源調度策略等。它可以快速簡易的實現(xiàn)一般的應用調度技術。目前,cloudsim都支持單一網(wǎng)絡和交互網(wǎng)絡組成的云計算環(huán)境的建模與仿真。此外,還實現(xiàn)了為基于交互網(wǎng)絡云計算場景分配虛擬資源的政策和調度提供了通用接口。許多諸如來自USA的HP Lab組織的研究者都使用cloudsim用于對云資源調度和數(shù)據(jù)中心節(jié)能管理的研究[1]。
1.1 CloudSim概述
CloudSim,云計算仿真工具是澳大利亞墨爾本大學Rajkumar Buyya教授領導的網(wǎng)格實驗室和Gridbus項目推出的云計算仿真軟件。CloudSim平臺有助于加快云計算的算法、方法和規(guī)范的發(fā)展。CloudSim的組件工具均為開源的。CloudSim的軟件結構框架和體系結構組件自底向上由SimJava,GridSim,CloudSim,UserCode四個層次組成。
圖1 CloudSim的軟件結構框架和體系結構組件
CloudSim最底層是SimJava離散事件仿引擎,實現(xiàn)核心功能需要更高級仿真的框架,如排隊和事件處理、建立服務,主機,虛擬機等系統(tǒng)組件、組件間的通信等。GridSim層支持高層次軟件組件用于多重網(wǎng)格基礎設施。在CloudSim層,通過編程擴展GridSim層暴露的核心功能,并提供新的支持以虛擬云為基礎的數(shù)據(jù)中心環(huán)境。用戶層中,開發(fā)人員可以開發(fā)各種需求、應用的配置和云可用性場景,并執(zhí)行以定義云配置的Robust測試。[2]CloudSim源代碼中有幾個核心類:Cloudlet、DataCenter、DataCenterBroker、Host、VirtualMachine、VMScheduler、VMCharacteristics、VMMAllocationPolicy、VMProvisioner。
1.2 Cloudsim環(huán)境配置
1.2.1 JDK安裝和配置
從http://java.sun.com/ 下載JDK最新版本jdk1.7,CloudSim3.0需要運行在JDK1.7版本以上。安裝下載的JDK,設置環(huán)境變量。在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包,解壓壓縮包即可。設置環(huán)境變量,在ClassPath中加入路徑:C:CLOUDSIMjarscloudsim.jar; C:CLOUDSIMjarsgridsim.jar; C:CLOUDSIMjarssimjava2.jar。[4]
1.2.2 CloudSim技術實現(xiàn)
(1)CloudSim類設計圖
圖2 CloudSim類設計圖
BwProvisioner:用于模擬虛擬機的帶寬分配策略??梢酝ㄟ^擴展這個類反映其應用需求的變化,實現(xiàn)自己的策略(基于優(yōu)先級或服務質量)。
CloudCoordinator:整合了云數(shù)據(jù)中心,負責周期性地監(jiān)控數(shù)據(jù)中心資源的內部狀態(tài)和執(zhí)行動態(tài)負載均衡的決策。
Cloudlet:模擬了云應用服務(如內容分發(fā)、社區(qū)網(wǎng)絡和業(yè)務工作流等)。每一個應用服務都會擁有一個預分配的指令長度和其生命周期內所需的數(shù)據(jù)傳輸開銷。[3]
CloudletScheduler:擴展實現(xiàn)了多種策略,用于決定虛擬機內的應用服務如何共享處理器能力。支持兩種調度策略:空間共享(CloudletSchedulerSpaceShared)和時間共享(CloudletSchedulerTimeShared)策略。
Datacente:模擬了云提供商提供的核心基礎設施級服務(硬件)。它封裝了一系列的主機,且這些主機都支持同構和異構的資源(內存、內核、容量和存儲)配置。
DatacenterBroker:模擬了一個代理,負責根據(jù)服務質量需求協(xié)調SaaS提供商和云提供商。該代理代表SaaS提供商,它通過查詢云信息服務(Cloud Information Service)找到合適的云服務提供者,并根據(jù)服務質量的需求在線協(xié)商資源和服務的分配策略。
DatacenterCharacteristics:包含了數(shù)據(jù)中心資源的配置信息。
Host:模擬如計算機、存儲服務器等物理資源。它封裝了一些重要信息,如內存/存儲器的容量、處理器內核列表及類型(多核機器)、虛擬機之間共享處理能力的分配策略、為虛擬機分配內存和帶寬的策略等。
NetworkTopology:包含模擬網(wǎng)絡行為(延時)的信息。它里面保存了網(wǎng)絡拓撲信息,該信息由BRITE拓撲生成器生成[5]。
RamProvisioner:代表為虛擬機分配主存的策略。
1.2.3 使用CloudSim仿真的一般步驟
(1)初始化CloudSim包;(2)創(chuàng)建數(shù)據(jù)中心Datacenter;(3)創(chuàng)建代理Broker;(4)創(chuàng)建虛擬機Virtual Machine
(5)創(chuàng)建云任務Cloudlet;(6)開始仿真;(7)打印仿真結果。
2.1 CloudSim樣例的運行
(1)啟動MyEclipse進入主界面。選擇File->New->Java Project命令,打開“New JavaProject”窗口,新建一個工程,單擊“Next”,創(chuàng)建一個Java工程。
(2)選擇CloudSimExample4為例,其含義是:創(chuàng)建兩個數(shù)據(jù)中心,每個數(shù)據(jù)中心一臺主機,并在其上運行兩個云任務,如圖3。
(3)程序運行結果,如圖4。
圖3 運行樣例
圖4 程序運行結果
2.2 CloundSim模擬作業(yè)調度
在云計算環(huán)境下的作業(yè)調度算法中,Min-Min算法是目前調度算法的研究中最多的一種算法。本次仿真設置兩臺主機,產(chǎn)生一個數(shù)據(jù)中心和數(shù)據(jù)中心代理,Min-Min算法在任務數(shù)分別為300,600的情況下,并隨著虛擬機數(shù)量的變化,任務的平均完成時間的統(tǒng)計數(shù)據(jù)如表1所示:
表1 平均完成時間的統(tǒng)計數(shù)據(jù)
在虛擬機數(shù)增加時,任務的平均完成時間值隨之減少,而在任務數(shù)增加時任務的平均完成時間值增加,顯然同Min-Min算法相一致,說明模擬實現(xiàn)任務調度算法的正確性[6]。
CloudSim是云計算環(huán)境的模擬與仿真工具,它允許擴展和定義軟件棧組件策略,通過對已有的基本函數(shù)進行擴展,能夠在特殊場景和配置環(huán)境下對核心算法和應用標準進行相關研究,對科研工作者以及企業(yè)在云基礎設施建設、商業(yè)產(chǎn)品的測試和部署等都有著重要的作用。
[1]陳小嬌,陳世平,方芳.云計算中虛擬機資源分配算法[J].計算機應用研究,2014(9):2584-2587.
[2]王霞俊. CloudSim云計算仿真工具研究及應用[J].微型電腦應用,2013(8):59-61.
[3]劉馳.云仿真工具CloudSim在虛擬機放置中的應用[J].計算機與數(shù)字工程,2015(4):746-748.
[4]熊智, 陸紅燕, 曾勝濤. 一種基于CloudSim的Web集群節(jié)能部署仿真方案[J]. 系統(tǒng)仿真學報, 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—),男,漢族,湖南長沙人,講師,碩士,研究領域為云計算,網(wǎng)絡安全等。
廣東省青年創(chuàng)新人才類項目(No.2015KQNCX196)。
廣東省高等教育學會高職高專云計算與大數(shù)據(jù)專業(yè)委員會課題(No:GDYJSKT16-06)。