云计算仿真器CloudSim_第1页
云计算仿真器CloudSim_第2页
云计算仿真器CloudSim_第3页
云计算仿真器CloudSim_第4页
云计算仿真器CloudSim_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云计算仿真器CloudSim2009年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(CloudInformationService)和DataCenterBroker实现资源发现和信息交互,是模拟调度的核心。用户自行开发的调度算法可在DataCenterBroker的方法中实现,从而实现调度算法的模拟。依据CloudSim源代码介绍几个核心类:Cloudlet类:构建云环境下的任务。DataCenter类:数据中心,提供虚拟化的网格资源,处理虚拟机信息的查询,包含虚拟机对资源的分配策略,云计算采用VMProvisioner处理虚拟机。DataCenterBroker类:隐藏了虚拟机的管理,如创建、任务提交、虚拟机的销毁等。Host类:扩展了机器对虚拟机除处理单元(PE)之外的参数分配策略,如带宽、存储空间、内存等,一台Host可对应多台虚拟机。VirtualMachine类:虚拟机类,运行在Host上,与其它虚拟机共享资源,每台虚拟机由一个拥有者所有,可提交任务,并由VMScheduler类定制该虚拟机的调度策略。VMScheduler类:虚拟机的调度策略,用来管理执行任务,实现了任务接口。VMCharacteristics类:提供虚拟机描述。VMMAllocationPolicy类:虚拟机监视器策略类,描述同一Host上的多台虚拟机共享资源的策略。VMProvisioner类:实现数据中心的主机到虚拟机的映射。2、CloudSim环境配置JDK安装和配置从/下载JDK最新版本jdk1.6.0_13,CloudSim需要运行在JDK1.6版本以上。安装下载的JDK,设置环境变量。在Path中加入路径:C:\ProgramFiles\Java\jdk1.6.0_13\bin;ClassPath中加入路径:C:\ProgramFiles\Java\jdk1.6.0_13\lib\dt.jar;C:\ProgramFiles\Java\jdk1.6.0_13\lib\tools.jar;。CloudSim配置从/cloudsim/下载CloudSim1.0beta版,下载的是一个Zip包,解压压缩包即可。设置环境变量,在ClassPath中加入路径:C:\CLOUDSIM\jars\cloudsim.jar;C:\CLOUDSIM\jars\gridsim.jar;C:\CLOUDSIM\jars\simjava2.jar;。3、CloudSim的扩展可以根据自己的研究内容自行扩展CloudSim,加入自己的代码后,需要重新编译并发布平台。下面给出编译和生成平台的方法:从/下载Ant工具,解压到目录D:\apache-ant-1.7.1,设置环境变量,在PATH中加入:D:\apache-antT.7.1\bin;。将命令行切换到扩展的CloudSim路径(build.xml所在目录),在命令行下键入命令D:\CloudSim>ant,批量编译CloudSim源文件,生成的文件按照build.xml的设置存储到指定位置,编译成功后在命令行下键入D:\CloudSim>antmakejar命令打包生成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组成。DataCenterdatacenter0=createDatacenter(〃Datacenter_0〃);创建代理BrokerDatacenterBrokerbroker=createBroker();intbrokerId=broker.get_id();创建虚拟机vmlist=newVirtualMachineList();//创建时为虚拟机指定BrokerVirtualMachinevm1=newVirtualMachine(newVMCharacteristics(vmid,brokerId,size,memory,bw,vcpus,priority,vmm,newTimeSharedVMScheduler()));//将虚拟机加入虚拟机列表vmlist.add(vm1);//向相应代理Broker提交虚拟机列表broker.submitVMList(vmlist);创建云任务cloudletList=newCloudletList();//创建时指定任务的用户ID,BrokerIDCloudletcloudlet1=newCloudlet(id,length,file_size,output_size);cloudletl.setUserlD(brokerld);//将任务加入任务列表cloudletList.add(cloudletl);//向代理Broker提交任务列表broker.submitCloudletList(cloudletList);启动仿真GridSim.startGridSimulation();在仿真结束后统计结果CloudletListn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论