`
mintelong
  • 浏览: 396177 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

云计算仿真工具CloudSim介绍和使用

阅读更多

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类:实现数据中心的主机到虚拟机的映射。

2、CloudSim环境配置
(1)JDK安装和配置
http://java.sun.com/ 下载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配置
http://www.gridbus.org/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,加入自己的代码后,需要重新编译并发布平台。下面给出编译和生成平台的方法:
    从http://ant.apache.org/ 下载Ant工具,解压到目录D:\apache-ant-1.7.1,设置环境变量,在PATH中加入:D:\apache-ant-1.7.1\bin;。将命令行切换到扩展的CloudSim路径(build.xml所在目录),在命令行下键入命令D:\CloudSim>ant,批量编译CloudSim源文件,生成的文件按照build.xml的设置存储到指定位置,编译成功后在命令行下键入D:\CloudSim>ant 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) 创建代理Broker
DatacenterBroker broker = createBroker();
int brokerId = broker.get_id();
(4) 创建虚拟机
vmlist = new VirtualMachineList();
//创建时为虚拟机指定Broker
VirtualMachine 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();
    若是根据自己研究对平台进行了扩展,平台重生成后,就可以在仿真程序中调用自己编写的类、方法、成员变量等。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/rolinzcy12/archive/2009/07/21/4367631.aspx

分享到:
评论
1 楼 fed-russ-dyl2009 2010-11-20  
看了您的介绍,觉得CloudSim在任务调度的仿真这一块好像比较有优势,让我疑惑的是能否用CloudSim对云计算平台的存储性能进行仿真?或者是能否用于云存储平台的仿真?若有相关资料还请不吝分享,Thanks(=many thank~) U~

相关推荐

    云计算仿真工具cloudsim介绍和使用

    ### 云计算仿真工具CloudSim介绍和使用 #### CloudSim概述 CloudSim是一款专门用于云计算环境仿真的开源软件工具,由澳大利亚墨尔本大学的网格实验室和Gridbus项目于2009年4月8日联合发布。这款工具基于离散事件...

    云计算仿真工具CloudSim介绍和使用.doc

    CloudSim 是一款强大的云计算仿真工具,由澳大利亚墨尔本大学的网格实验室和 Gridbus 项目于2009年4月8日推出。它是基于 SimJava 的离散事件模拟库,具备跨平台特性,可在 Windows 和 Linux 系统上运行。CloudSim 的...

    云计算仿真工具cloudsim介绍

    云计算仿真工具CloudSim介绍 CloudSim 是一种云计算仿真工具,由澳大利亚墨尔本大学的网格实验室和 Gridbus 项目于 2009 年 4 月 8 日推出。它是在离散事件模拟包 SimJava 上开发的函数库,具有跨平台运行能力,...

    云计算仿真器cloudSim

    ### 云计算仿真器CloudSim详解 #### 一、CloudSim简介及特点 CloudSim是一款用于云计算基础设施建模与仿真的工具,由澳大利亚墨尔本大学的网格实验室和Gridbus项目团队于2009年4月8日联合推出。这款仿真软件基于...

    云计算仿真工具CloudSim的研究与应用.pdf

    云计算仿真工具CloudSim的研究与应用涉及到了云计算领域中的关键技术和工具,特别是针对虚拟化环境下的资源分配和服务调度等问题。CloudSim作为一种仿真平台,它具有开源、可扩展和通用性的特点,为云计算的理论研究...

    云计算仿真器CloudSim.doc

    CloudSim不仅是一个仿真工具,还具有高度的可扩展性,允许研究人员和开发者根据需要修改或扩展其功能,以满足各种云计算场景的模拟需求。这一特性使得CloudSim成为了云计算研究领域的强大工具。通过使用CloudSim,...

    云计算仿真工具cloudsim 3.0.3 【无错误,带例子!】

    看看压缩包大小你就知道怎么样!完美运行后从eclipse导出来的项目...它的首要目标是在云基础设施(软件、硬件、服务)上,对不同应用和服务模型的调度和分配策略的性能进行量化和比较,达到控制使用云计算资源的目的。

    [PPT]《云计算》教材配套课件12-云计算仿真器CloudSim

    【云计算仿真器CloudSim】是《云计算》教材中介绍的重要工具,由电子工业出版社出版,刘鹏教授主编。CloudSim是一个通用且可扩展的模拟框架,专门设计用于模拟云计算基础设施和管理服务。它具备以下主要功能: 1. *...

    一篇关于云计算仿真器CloudSim论文的翻译稿

    - **复杂性与动态性**:云计算环境的动态性和复杂性(如多变的需求、供应模式、系统规模和资源)使得性能评估困难,CloudSim 提供了应对这些问题的仿真工具。 - **QoS 保障**:在满足用户服务质量要求的同时,确保...

    examples.rar_cloudsim_cloudsim examples_云计算仿真

    Buyya领导开发的云计算,云计算仿真工具cloudsim里的实例

    基于CloudSim云计算仿真方法研究.pdf

    2. 云仿真平台CloudSim:CloudSim是一个专业的云计算仿真工具,提供了一个可伸缩的仿真环境,能模拟云计算系统的各种组件,如数据中心、虚拟机、资源调度策略等。它支持复杂的应用调度技术,并且可以模拟单一网络和...

    云计算中基于cloudsim的蚁群调度算法研究.pdf

    总之,云计算仿真工具CloudSim结合蚁群算法为云计算调度策略的研究提供了一个有效的平台。通过模拟实际的云计算场景,研究人员可以深入探索蚁群算法在处理云计算资源分配和任务调度问题中的应用潜力,进而推动云计算...

    云计算仿真工具

    云计算仿真工具,如CloudSim,是研究和设计云计算系统的关键技术。它允许研究人员模拟复杂的云计算环境,测试并优化各种算法,而无需实际部署昂贵的硬件设备。CloudSim提供了一个全面的框架,支持对资源调度、服务...

    云计算第二版教材

    这本书不仅更新了第一版的内容,还引入了许多新的知识点,包括高性能计算算法和当前云计算领域的前沿趋势。作为一本学习材料,它非常适合希望在云计算领域深化理解或准备相关认证考试的学生和专业人士。 云计算是一...

    cloudsim云计算仿真软件

    这个工具包,标记为"cloudsim-3云计算仿真工具",代表的是CloudSim的第三个主要版本,即3.0.3。这个版本包含了对云计算环境进行深入研究所需的各种组件和功能。 CloudSim的核心是其模块化架构,它允许研究人员和...

    cloudsim2.1.1 云计算仿真

    CloudSim是一款强大的云计算仿真工具,基于先前的GridSim框架进行了扩展和优化,专门针对云计算环境中的资源管理和调度问题。这个工具允许研究人员模拟和分析不同云计算架构的行为,以及各种资源分配和调度策略的...

    云计算平台cloudsim 翻译稿

    CloudSim作为一种强大的云计算仿真工具,不仅为学术研究提供了有力的支持,也为云计算技术的实际应用开辟了广阔的空间。随着技术的不断发展,CloudSim将在未来的云计算领域发挥更加重要的作用。

    第10章-云计算大数据仿真技术46.pptx

    10.2 云计算仿真系统CloudSim是本章重点介绍的工具,它是云计算仿真领域的主流框架,由澳大利亚墨尔本大学开发。CloudSim提供了一套全面的类库,支持对数据中心、虚拟机、应用程序、用户行为以及各种管理策略的描述...

    Cloudsim的介绍与使用

    CloudSim 是一种云计算仿真软件,由墨尔本大学的网格实验室和 Gridbus 项目于 2009 年推出。它是在离散事件模拟包 SimJava 上开发的函数库,可以在 Windows 和 Linux 系统上跨平台运行。CloudSim 继承了 GridSim 的...

    CloudSim云仿真框架介绍

    CloudSim 是一个模拟与仿真云计算环境和评估资源调度算法的工具集。该框架可以模拟云计算系统和应用供应环境,支持云计算系统组件的系统和行为建模,例如数据中心、虚拟机和资源调度策略等。CloudSim 都支持单一网络...

Global site tag (gtag.js) - Google Analytics