




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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类:实现数据中心的主机到虚拟机的映射。2、CloudSim环境配置(1)JDK安装和配置从/ 下载JDK最新版本jdk1.6.0_13,CloudSim需要运行在JDK1.6版本以上。安装下载的JDK,设置环境变量。在Path中加入路径:C:/Program Files/Java/jdk1.6.0_13/bin; ClassPath中加入路径:C:/Program Files/Java/jdk1.6.0_13/lib/dt.jar; C:/Program Files/Java/jdk1.6.0_13/lib/tools.jar; 。(2)CloudSim配置从/cloudsim/ 下载CloudSim 1.0 beta版,下载的是一个Zip包,解压压缩包即可。设置环境变量,在ClassPath中加入路径:C:/CLOUDSIM/jars/cloudsim.jar; C:/CLOUDSIM/jars/gridsim.jar; C:/CLOUDSIM/jars/simjava2.jar; 。3、CloudSim的扩展 CloudSim是开源的,可以在windows Xp和linux上运行,用户可以根据自己的研究内容自行扩展CloudSim,加入自己的代码后,需要重新编译并发布平台。下面给出编译和生成平台的方法: 从/ 下载Ant工具,解压到目录D:/apache-ant-1.7.1,设置环境变量,在PATH中加入:D:/apache-ant-1.7.1/bin;。将命令行切换到扩展的CloudSim路径(build.xml所在目录),在命令行下键入命令D:/CloudSimant,批量编译CloudSim源文件,生成的文件按照build.xml的设置存储到指定位置,编译成功后在命令行下键入D:/CloudSimant makejar命令打包生成new_cloudsim.jar。扩展的CloudSim平台生成成功。重设环境变量,在ClassPath中增加路径:D:/CloudSim/jars/new_cloudsim.jar;D:/CloudSim/jars/cloudsim.jar;D:/CloudSim/jars/g-ridsim.jar; D:/CloudSim/jars/simjava2.jar;,下一步在新的平台下编写自己的仿真验证程序。4、使用CloudSim仿真的一般步骤(1) 初始化GridSim 库GridSim.init(num_user, calendar, trace_flag, exclude_from_file,exclude_from_processing, report_name);(2) 创建数据中心,在CloudSim仿真平台中,一个数据中心由一个或多个Machine组成,一个Machine是由一个或多个PEs或CPUs组成。DataCenter datacenter0 = createDatacenter(Datacenter_0);(3) 创建代理BrokerDatacenterBroker broker = createBroker();int brokerId = broker.get_id();(4) 创建虚拟机vmlist = new VirtualMachineList();/创建时为虚拟机指定BrokerVirtualMachine vm1 = new VirtualMachine(new VMCharacteristics(vmid,brokerId,size,memory,bw,vcpus,priority,vmm,new TimeSharedVMScheduler();/将虚拟机加入虚拟机列表vmlist.add(vm1);/向相应代理Broker提交虚拟机列表broker.submitVMList(vmlist);(5) 创建云任务cloudletList = new CloudletList();/创建时指定任务的用户ID,BrokerID Cloudlet cloudlet1 = new Cloudlet(id, length, file_size, output_size); cloudlet1.setUserID(brokerId);/将任务加入任务列表cloudletList.add(cloudlet1);/向代理Broker提交任务列表broker.submitCloudletList(cloudletList);(6) 启动仿真GridSim.startGridSimulation();(7) 在仿真结束后统计结果CloudletList newList = broker.getCloudletList();GridSim.stopGridSimulation();printCloudletList(newList);datacenter0.printDebts(); 若是根据自己研究对平台进行了扩展,平台重生成后,就可以在仿真程序中调用自己编写的类、方法、成员变量等。 (1)JDK安装和配置从/ 下载JDK最新版本jdk1.6.0_13,CloudSim需要运行在JDK1.6版本以上。安装下载的JDK,设置环境变量。在Path中加入路径:C:Program FilesJavajdk1.6.0_13bin; ClassPath中加入路径:C:Program FilesJavajdk1.6.0_13libdt.jar; C:Program FilesJavajdk1.6.0_13libtools.jar; 。(2)CloudSim配置从/cloudsim/ 下载CloudSim 2.1 beta版,下载的是一个Zip包,解压压缩包即可。设置环境变量,在ClassPath中加入路径:C:CLOUDSIMjarscloudsim.jar; C:CLOUDSIMjarsgridsim.jar; C:CLOUDSIMjarssimjava2.jar; 。(3)将cloudsim package加入到myeclipse6.0项目中去。 在cloudsim_eclipse.pdf中介绍的很好。How to Use Cludsim with Eclipse.比较关键的是 在选择Create project from existing source ,directory 选择cloudsim包的路径。(4)可能会遇到 override 报错的问题,那是用5.0编译的,改成6.0编译就好使了。JDK是Java Development Kit(java开发套件)的简称, 它本身包含着JRE;其主要是被开发人员使用。而JRE是JavaRuntime Environment(Java运行时环境)的简称,是PC端运行java程序必须的。而我们通常所说的你要运行java类软件需要安装Java。这里的“Java”指的是JRE。在SUN的官方网站上就是图1中红圈中的Java。注意:新的网站为/zh_CN/download/index.jspJDK的下载:对于非Java开发人员可以只下载JRE就可以了。对于学习Java或者Java开发人员需要下载JDK,下载链接/javase/downloads/index.jsp#needJDK的安装和环境变量的配置。点击下载后的文件进行安装,默认情况下的安装路径为 C:Program FilesJavajdk1.6.0_16目录下。我们安照默认进行安装。安装完成后进行环境变量的配置,这一部分很容易但是有些人又会出错。方法1:右键我的电脑-属性-高级系统设置-高级-环境变量-系统变量中的path中加入默认的安装路径,如图在最后填入:;C:Program FilesJavajdk1.6.0_16bin注意前面的分号也要加上。其中蓝色部分可以根据你安装的路径和版本的不同进行调整。这种方法一直保存变量。(注:环境变量中填入的路径就是javac.exe所在的路径。)方法二:命令行窗口中敲入下面一行就可以了。set Path=C:Program FilesJavajdk1.6.0_16bin;%Path% (注:在dos窗口中以命令行方式对环境变量的操作只对当前窗口的应用有效)其中蓝色部分可以根据你安装的路径和版本的不同进行调整。以上两种方式根据不同需要设置。至于以前那种还要设置Classpath等的都没有必要了。如果你在开发中遇到使用SUN之外的类库的情况下,有时需要增加类库的配置,估计那时候开发时用Java IDE就可以。很方便配置相应的类库的。JDK的安装方法的官方英文说明地址/javase/6/webnotes/install/jdk/install-windows.html测试jsdk是否安装成功 写一个简单的java程序来测试J2SDK是否已安装成功: public class Test public static void main(String args) System.out.println(This is a java program.); 将上面的这段程序保存为文件名为Test.java的文件,注意大小写。Java中是分大小写的。 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令javac Test.java /这句是把Java程序文件编译成字节码文件Test.classjava Test /执行类文件此时如果能看到打印出来This is a java program.的话说明安装成功了,否则,你需要仔细检查一下你的配置情况或者程序的编译等。-.CloudSim介绍2009年,墨尔本大学的网格实验室和Gridbus项目宣布推出云计算仿真软件,称为CloudSim。它是在离散事件模拟包SimJava上开发的函数库,可在Windows和Linux系统上跨平台运行,CloudSim继承了GridSim的编程模型,支持云计算的研究和开发,并提供了以下新的特点: (1)支持大型云计算的基础设施的建模与仿真;(2)一个自足的支持数据中心、服务代理人、调度和分配策略的平台。其中CloudSim 独特功能有:一是提供虚拟化引擎,旨在数据中心节点上帮助建立和管理多重的、独立的、协同的的虚拟化服务;二是在对虚拟化服务分配处理核心时能够在时间共享和空间共享之间灵活切换。CloudSim平台有助于加快云计算的算法、方法和规范的发展。CloudSim的组件工具均为开源的。CloudSim的软件结构框架和体系结构组件包括SimJava、GridSim、CloudSim、UserCode四个层次。2、CloudSim环境配置(1)JDK安装和配置从/下载JDK最新版本jdk1.6.0_13,CloudSim需要运行在JDK1.6版本以上。安装下载的JDK,设置环境变量。在Path中加入路径:C:Program FilesJavajdk1.6.0_13bin; ClassPath中加入路径:C:Program FilesJavajdk1.6.0_13libdt.jar; C:Program FilesJavajdk1.6.0_13libtools.jar; 。(2)CloudSim配置从/cloudsim/下载CloudSim 2.1 beta版,下载的是一个Zip包,解压压缩包即可。以下是查cloudsim的examples.txt文件中的内容To run the CloudSim examples you need to do the following steps.In Windows:1. cd jars2. java -classpath cloudsim-.jar;cloudsim-examples-.jar org.cloudbus.cloudsim.examples.CloudSimExampleIn Unix/Linux:1. cd /jars2. java -classpath cloudsim-.jar:cloudsim-examples-.jar org.cloudbus.cloudsim.examples.CloudSimExampleWhere you need to replace: - by the path to a directory where you have unpacked the CloudSim package - by the version of the downloaded CloudSim package - by the of number of the example you want to runCloudSim examples source code-You can find the source code of the examples in /examples/org/cloudbus/cloudsim/examples/Compiling and running examples-To compile and run an example (lets say org.cloudbus.cloudsim.examples.CloudSimExample1) you need to do the following steps:In Windows:1. cd 2. javac -classpath jarscloudsim-.jar examplesorgcloudbuscloudsimexamplesCloudSimExample1.java3. java -classpath jarscloudsim-.jar;examples org.cloudbus.cloudsim.examples.CloudSimExample1In Unix/Linux:1. cd 2. javac -classpath jars/cloudsim-.jar examples/org/cloudbus/cloudsim/examples/CloudSimExample1.java3. java -classpath jars/cloudsim-.jar:examples org.cloudbus.cloudsim.examples.CloudSimExample13、CloudSim的扩展 CloudSim是开源的,可以在windows Xp和linux上运行,用户可以根据自己的研究内容自行扩展CloudSim,加入自己的代码后,需要重新编译并发布平台。下面给出编译和生成平台的方法: 从/下载Ant工具,解压到目录D:apache-ant-1.7.1,设置环境变量,在PATH中加入:D:apache-ant-1.7.1bin;。将命令行切换到扩展的CloudSim路径(build.xml所在目录),在命令行下键入命令D:CloudSimant,批量编译CloudSim源文件,生成的文件按照build.xml的设置存储到指定位置,编译成功后在命令行下键入D:CloudSimant makejar命令打包生成new_cloudsim.jar。扩展的CloudSim平台生成成功。重设环境变量,在ClassPath中增加路径:D:CloudSimjarsnew_cloudsim.jar;D:CloudSimjarscloudsim.jar;D:CloudSimjarsg-ridsim.jar; D:CloudSimjarssimjava2.jar;,下一步在新的平台下编写自己的仿真验证程序。4、使用CloudSim仿真的一般步骤(1) 初始化GridSim 库GridSim.init(num_user, calendar, trace_flag, exclude_from_file,exclude_from_processing, report_name);(2) 创建数据中心,在CloudSim仿真平台中,一个数据中心由一个或多个Machine组成,一个Machine是由一个或多个PEs或CPUs组成。DataCenter datacenter0 = createDatacenter(Datacenter_0);(3) 创建代理BrokerDatacenterBroker broker = createBroker();int brokerId = broker.get_id();(4) 创建虚拟机vmlist = new VirtualMachineList();/创建时为虚拟机指定BrokerVirtualMachine vm1 = new VirtualMachine(new VMCharacteristics(vmid,brokerId,size,memory,bw,vcpus,priority,vmm,new TimeSharedVMScheduler();/将虚拟机加入虚拟机列表vmlist.add(vm1);/向相应代理Broker提交虚拟机列表broker.submitVMList(vmlist);(5) 创建云任务cloudletList = new CloudletList();/创建时指定任务的用户ID,BrokerID Cloudlet cloudlet1 = new Cloudlet(id, length, file_size, output_size); cloudlet1.setUserID(brokerId);/将任务加入任务列表cloudletList.add(cloudlet1);/向代理Broker提交任务列表broker.submitCloudletList(cloudletList);(6) 启动仿真GridSim.startGridSimulation();(7) 在仿真结束后统计结果CloudletList newList = broker.getCloudletList();GridSim.stopGridSimulation();printCloudletList(newList);datacenter0.printDebts(); 若是根据自己研究对平台进行了扩展,平台重生成后,就可以在仿真程序中调用自己编写的类、方法、成员变量等。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上的多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购员综合考核试卷及答案
- 道路危险货物运输员内部技能考核试卷及答案
- 梁式窑石灰煅烧工岗前考核试卷及答案
- 电子数据取证分析师适应性考核试卷及答案
- 2025年基肯孔雅热知识问答试题含答案
- 2025年光伏电站运维管理实操考试题库(附答案)
- 2025年新版银行从业资格题库及答案
- 2025年反洗钱培训的试题及答案
- 2025年4月护理三基复习题含答案(附解析)
- 2025年江西省中小学教师招聘考试真题及答案
- 2025年学校少先队知识应知应会题库(含答案)
- (2025)企业首席质量官培训考核试题(附含答案)
- DB31∕T 1545-2025 卫生健康数据分类分级要求
- 起重机指挥Q1练习测试题附答案
- 《网络与新媒体概论》教学课件合集
- 2023类器官技术与行业研究报告-复刻结构重现功能 构建组织器官替身
- 国有资产交易法律实务与疑难问题
- 中华人民共和国基本医疗卫生与健康促进法课件
- 初中毕业证在哪里查询
- 九宫格智力数独200题(题答案)版
- GB/T 5796.4-2022梯形螺纹第4部分:公差
评论
0/150
提交评论