王 准
基于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)。