云平台仿真框架CloudSim
2017-03-19 13:17
1176 查看
一、实验名称
云平台仿真框架CloudSim应用
二、云平台仿真框架CloudSim介绍
CloudSim是在离散事件模拟包SimJava上开发的函数库
1.功能及组件
CloudSim 独特功能有:一是提供虚拟化引擎,旨在数据中心节点上帮助建立和管理多重的、独立的、协同的的虚拟化服务;二是在对虚拟化服务分配处理核心时能够在时间共享和空间共享之间灵活切换。
CloudSim平台有助于加快云计算的算法、方法和规范的发展。CloudSim的组件工具均为开源的。CloudSim的软件结构框架和体系结构组件包括SimJava、GridSim、CloudSim、UserCode四个层次。
云计算与网格计算的一个显著区别是云计算采用了成熟的虚拟化技术,将数据中心的资源虚拟化为资源池,打包对外向用户提供服务,Cloudsim体现了此特点,扩展部分实现了一系列接口,提供基于数据中心的虚拟化技术、虚拟化云的建模和仿真功能。通常,数据中心的一台主机的资源可以根据用户的需求映射到多台虚拟机上,因此,虚拟机之间存在对主机资源的竞争关系。Cloudsim提供了资源的监测、主机到虚拟机的映射功能。
2.CloudSim特点
(1)实体的停用(保持)。
(2)不同状态下实体上下文切换(如等待激活)。模拟过程的停用和恢复。
(3)在运行时创建新的实体。
(4)在运行时终止和重新启动模拟运行。可在Windows和Linux系统上跨平台运行,CloudSim继承了GridSim的编程模型,支持云计算的研究和开发,并提供了以下新的特点:
a:支持大型云计算的基础设施的建模与仿真;b:一个自足的支持数据中心、服务代理人、调度和分配策略的平台。
三、CloudSim配置
1.JDK环境搭建
安装JDK 1.8(CloudSim-4.0平台要求JDK版本1.8及以上),设置环境变量Path和ClassPath
JAVA_HOME
E:\jdk1.8\jdk
JRE_HOME
E:\jdk1.8\jre
CLASSPATH
.;%JAVA_HOME%\lib;%JRE_HOME%;D:\Project\CloudSim;
Path
%JAVA_HOME%\bin;
2.CloudSim配置
下载CloudSim-4.0JAR包,设置ClassPath,将所下载JAR包的路径添加至ClassPath
3.在Eclipse中创建工程
点击finish按钮,创建工程。
4.使用CloudSim仿真的一般步骤
(1) 初始化GridSim 库
CloudSim.init(num_user, calendar, trace_flag);
(2) 创建数据中心,在CloudSim仿真平台中,一个数据中心由一个或多个Machine组成,一个Machine是由一个或多个PEs或CPUs组成。
Datacenter datacenter0 =createDatacenter("Datacenter_0");
(3) 创建代理Broker
DatacenterBroker broker = createBroker();
int brokerId = broker.getId();
(4) 创建虚拟机
//创建虚拟机列表
vmlist = new ArrayList<Vm>();
//创建时为虚拟机指定Broker
Vm vm = new Vm(vmid, brokerId, mips, pesNumber, ram, bw, size, vmm,
newCloudletSchedulerTimeShared());
//将虚拟机加入虚拟机列表
vmlist.add(vm);
//向相应代理Broker提交虚拟机列表
broker.submitVMList(vmlist);
(5) 创建云任务
cloudletList = newArrayList<Cloudlet>();
//创建时指定任务的用户ID,BrokerID
Cloudlet cloudlet = new Cloudlet(id, length, pesNumber, fileSize, outputSize, utilizationModel, utilizationModel,utilizationModel);
cloudlet.setUserId(brokerId);
cloudlet.setVmId(vmid);
//将任务加入任务列表
cloudletList.add(cloudlet );
//向代理Broker提交任务列表
broker.submitCloudletList(cloudletList);
(6) 启动仿真
CloudSim.startSimulation();
(7) 结束仿真
CloudSim.stopSimulation()
(8) 在仿真结束后统计结果
List<Cloudlet> newList =broker.getCloudletReceivedList();
printCloudletList(newList);
5.在Eclipse中使用CloudSim进行仿真
云平台仿真框架CloudSim应用
二、云平台仿真框架CloudSim介绍
CloudSim是在离散事件模拟包SimJava上开发的函数库
1.功能及组件
CloudSim 独特功能有:一是提供虚拟化引擎,旨在数据中心节点上帮助建立和管理多重的、独立的、协同的的虚拟化服务;二是在对虚拟化服务分配处理核心时能够在时间共享和空间共享之间灵活切换。
CloudSim平台有助于加快云计算的算法、方法和规范的发展。CloudSim的组件工具均为开源的。CloudSim的软件结构框架和体系结构组件包括SimJava、GridSim、CloudSim、UserCode四个层次。
云计算与网格计算的一个显著区别是云计算采用了成熟的虚拟化技术,将数据中心的资源虚拟化为资源池,打包对外向用户提供服务,Cloudsim体现了此特点,扩展部分实现了一系列接口,提供基于数据中心的虚拟化技术、虚拟化云的建模和仿真功能。通常,数据中心的一台主机的资源可以根据用户的需求映射到多台虚拟机上,因此,虚拟机之间存在对主机资源的竞争关系。Cloudsim提供了资源的监测、主机到虚拟机的映射功能。
2.CloudSim特点
(1)实体的停用(保持)。
(2)不同状态下实体上下文切换(如等待激活)。模拟过程的停用和恢复。
(3)在运行时创建新的实体。
(4)在运行时终止和重新启动模拟运行。可在Windows和Linux系统上跨平台运行,CloudSim继承了GridSim的编程模型,支持云计算的研究和开发,并提供了以下新的特点:
a:支持大型云计算的基础设施的建模与仿真;b:一个自足的支持数据中心、服务代理人、调度和分配策略的平台。
三、CloudSim配置
1.JDK环境搭建
安装JDK 1.8(CloudSim-4.0平台要求JDK版本1.8及以上),设置环境变量Path和ClassPath
JAVA_HOME
E:\jdk1.8\jdk
JRE_HOME
E:\jdk1.8\jre
CLASSPATH
.;%JAVA_HOME%\lib;%JRE_HOME%;D:\Project\CloudSim;
Path
%JAVA_HOME%\bin;
2.CloudSim配置
下载CloudSim-4.0JAR包,设置ClassPath,将所下载JAR包的路径添加至ClassPath
3.在Eclipse中创建工程
点击finish按钮,创建工程。
4.使用CloudSim仿真的一般步骤
(1) 初始化GridSim 库
CloudSim.init(num_user, calendar, trace_flag);
(2) 创建数据中心,在CloudSim仿真平台中,一个数据中心由一个或多个Machine组成,一个Machine是由一个或多个PEs或CPUs组成。
Datacenter datacenter0 =createDatacenter("Datacenter_0");
(3) 创建代理Broker
DatacenterBroker broker = createBroker();
int brokerId = broker.getId();
(4) 创建虚拟机
//创建虚拟机列表
vmlist = new ArrayList<Vm>();
//创建时为虚拟机指定Broker
Vm vm = new Vm(vmid, brokerId, mips, pesNumber, ram, bw, size, vmm,
newCloudletSchedulerTimeShared());
//将虚拟机加入虚拟机列表
vmlist.add(vm);
//向相应代理Broker提交虚拟机列表
broker.submitVMList(vmlist);
(5) 创建云任务
cloudletList = newArrayList<Cloudlet>();
//创建时指定任务的用户ID,BrokerID
Cloudlet cloudlet = new Cloudlet(id, length, pesNumber, fileSize, outputSize, utilizationModel, utilizationModel,utilizationModel);
cloudlet.setUserId(brokerId);
cloudlet.setVmId(vmid);
//将任务加入任务列表
cloudletList.add(cloudlet );
//向代理Broker提交任务列表
broker.submitCloudletList(cloudletList);
(6) 启动仿真
CloudSim.startSimulation();
(7) 结束仿真
CloudSim.stopSimulation()
(8) 在仿真结束后统计结果
List<Cloudlet> newList =broker.getCloudletReceivedList();
printCloudletList(newList);
5.在Eclipse中使用CloudSim进行仿真
相关文章推荐
- 云平台仿真框架cloudsim介绍
- 云平台仿真框架cloudsim介绍
- CloudSim内核仿真框架
- 传感器仿真平台——通用框架定制(一)
- 云计算仿真框架CloudSim介绍
- 到底如何区分什么是架构、框架、模式和平台 ?
- iOS 9 平台上 AFNetworking 框架 3.0 版本解决的问题和问题解决
- CI框架整合微信公共平台接口
- 土木建筑仿真实验平台
- 云计算仿真工具中文注释CloudSim.java
- [转]SkyEye硬件模拟平台,第三部分: 硬件仿真实现之三
- 基于.NET平台的Ocelot网关框架教程汇总
- 基于.NET平台常用的框架整理
- 基于.Net(C#开发)平台的三层框架架构软件的设计与实现
- 全志平台boot框架中增加设备驱动过程分析
- Android学习笔记 -- 平台框架
- .net 平台的C#实现Ajax——无需任何框架。
- 深入浅出 - Android系统移植与平台开发(十一) - Sensor HAL框架分析之一
- Net平台下的B/S开发框架
- laravel 框架接入第三方扫码支付(万众云平台)