cloudsim介绍与配置

因为做毕设打算做IaaS层调度算法的实现类似的东西,所以在看论文的时候发现大家在做云平台的调度算法在实验的时候都是用的cloudsim仿真平台。

cloudsim简介

2009年4月8日,澳大利亚墨尔本大学的网格实验室和Gridbus项目宣布推出云计算仿真软件,称为CloudSim。它是在离散事件模拟包SimJava上开发的函数库,可在Windows和Linux系统上跨平台运行,CloudSim继承了GridSim的编程模型,支持云计算的研究和开发,并提供了以下新的特点: (1)支持大型云计算的基础设施的建模与仿真;(2)一个自足的支持数据中心、服务代理人、调度和分配策略的平台。其中CloudSim 独特功能有:一是提供虚拟化引擎,旨在数据中心节点上帮助建立和管理多重的、独立的、协同的的虚拟化服务;二是在对虚拟化服务分配处理核心时能够在时间共享和空间共享之间灵活切换。CloudSim平台有助于加快云计算的算法、方法和规范的发展。CloudSim的组件工具均为开源的。CloudSim的软件结构框架和体系结构组件包括SimJava、GridSim、CloudSim、UserCode四个层次。

CloudSim是在GridSim模型基础上发展而来,提供了云计算的特性,支持云计算的资源管理和调度模拟。云计算与网格计算的一个显著区别是云计算采用了成熟的虚拟化技术,将数据中心的资源虚拟化为资源池,打包对外向用户提供服务,CloudSim体现了此特点,扩展部分实现了一系列接口,提供基于数据中心的虚拟化技术、虚拟化云的建模和仿真功能。通常,数据中心的一台主机的资源可以根据用户的需求映射到多台虚拟机上,因此,虚拟机之间存在对主机资源的竞争关系。CloudSim提供了资源的监测、主机到虚拟机的映射功能。CloudSim的CIS(Cloud Information Service)和DataCenterBroker实现资源发现和信息交互,是模拟调度的核心。用户自行开发的调度算法可在DataCenterBroker的方法中实现,从而实现调度算法的模拟。依据CloudSim源代码介绍几个核心类:

  • (1)Cloudlet类:构建云环境下的任务。
  • (2)DataCenter类:数据中心,提供虚拟化的网格资源,处理虚拟机信息的查询,包含虚拟机对资源的分配策略,云计算采用VMProvisioner处理虚拟机。
  • (3)DataCenterBroker类:隐藏了虚拟机的管理,如创建、任务提交、虚拟机的销毁等。
  • (4)Host类:扩展了机器对虚拟机除处理单元(PE)之外的参数分配策略,如带宽、存储空间、内存等,一台Host可对应多台虚拟机。
  • (5)VirtualMachine类:虚拟机类,运行在Host上,与其它虚拟机共享资源,每台虚拟机由一个拥有者所有,可提交任务,并由VMScheduler类定制该虚拟机的调度策略。
  • (6)VMScheduler类:虚拟机的调度策略,用来管理执行任务,实现了任务接口。
  • (7)VMCharacteristics类:提供虚拟机描述。
  • (8)VMMAllocationPolicy类:虚拟机监视器策略类,描述同一Host上的多台虚拟机共享资源的策略。
  • (9)VMProvisioner类:实现数据中心的主机到虚拟机的映射。

cloudsim配置

我是在Windows环境下配置的cloudsim,首先需要在Windows环境下配置java环境,之后下载cloudsim安装包,可以点击这里下载cloudsim-3.0.2的安装包,下载完成后解压到相应的目录下面就可以配置cloudsim了。
将这些包的路径添加到系统变量path中。

1
C:\cloudsim-3.0.2\jars\cloudsim-3.0.2.jar;C:\cloudsim-3.0.2\jars\cloudsim-3.0.2-sources.jar;C:\cloudsim-3.0.2\jars\cloudsim-examples-3.0.2-sources.jar;C:\cloudsim-3.0.2\jars\cloudsim-examples-3.0.2.jar;

之后在命令行界面下进入到cloudsim的根目录中,执行:

1
mvn eclipse:eclipse

将cloudsim项目由maven项目转换成eclipse项目方便导入到eclipse中进行编辑。进入到eclipse中,选择导入->导入已经存在的项目,选中cloudsim文件夹,导入到eclipse中。

报错以及解决

在导入到eclipse中可能会有报错:

1
2
import flanagan.analysis.Regression;
import flanagan.analysis.Stat

提示缺少一个flanagan的jar包。下载地址http://www.ee.ucl.ac.uk/~mflanaga/java/flanagan.jar。下载加入进去就可以了。
导入方法:右击项目名称:
buid path -> libiry->extern jar ;
然后refresh 一下就ok 了。

本文作者:Qiu Qingyu
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 CN许可协议。转载请注明出处!
本文永久链接:http://qiuqingyu.cn/2015/12/18/cloudsim介绍与配置/