云计算及其仿真环境cloudsim

上传人:第*** 文档编号:54401219 上传时间:2018-09-12 格式:PPT 页数:35 大小:3.76MB
返回 下载 相关 举报
云计算及其仿真环境cloudsim_第1页
第1页 / 共35页
云计算及其仿真环境cloudsim_第2页
第2页 / 共35页
云计算及其仿真环境cloudsim_第3页
第3页 / 共35页
云计算及其仿真环境cloudsim_第4页
第4页 / 共35页
云计算及其仿真环境cloudsim_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《云计算及其仿真环境cloudsim》由会员分享,可在线阅读,更多相关《云计算及其仿真环境cloudsim(35页珍藏版)》请在金锄头文库上搜索。

1、云计算及其仿真环境CloudSim,四川 . 成都,2013 年 5 月,2/35,小型机 1980s,大型机 1960s,分布式计算 1990s,个人电脑 1990s,NEXT,云计算 2010s,2/34,3/34,平台即服务(PaaS),基础设施即服务(IaaS),节点服务器,软件即服务(SaaS),4/34,(文P10-12),5/34,(文P13),提 纲, CloudSim简介 CloudSim体系结构 CloudSim技术实现 CloudSim的使用方法 CloudSim的扩展,CloudSim简介,CloudSim -澳大利亚墨尔本大学Rajkumar Buyya教授领导团队开

2、发的云计算仿真器,它的首要目标是在云基础设施(软件、硬件、服务)上,对不同应用和服务模型的调度和分配策略的性能进行量化和比较,达到控制使用云计算资源的目的 仿真框架有特性 (1)支持在单个物理计算节点上进行大规模云计算基础设施的仿真和实例化 (2)提供一个独立的平台,供数据中心、服务代理、调度和分配策略进行建模 (3)提供虚拟化引擎,可在一个数据中心节点创建和管理多个独立、协同的虚拟化服务 (4)可以在共享空间和共享时间的处理核心分配策略之间灵活地切换虚拟化服务,提 纲, CloudSim简介 CloudSim体系结构 CloudSim技术实现 CloudSim的使用方法 CloudSim的扩

3、展,CloudSim体系结构,CloudSim核心模拟引擎,1)CloudSim 主类,负责管理事件队列和控制仿真事件的顺序执行。这些事件按照它们的时间参数构成有序队列 (1)支持实体失活操作 (2)支持不同状态实体的上下文切换,暂停或继续仿真流程 (3)支持运行中创建新实体 (4)支持运行中终止或重启仿真流程,CloudSim核心模拟引擎,2)DeferredQueue 实现CloudSim使用的延时事件队列 3)FutureQueue 实现CloudSim使用的未来事件队列 4)CloudInformationService(CIS) 提供资源注册、索引和发现能力的实体。支持两个基本操作:

4、publish()允许实体使用CIS进行注册;search()允许类似于CloudCoordinator和Brokers的实体发现其他实体的状态和位置,该实体也会在仿真结束时通知其他实体 5)SimEntity 代表一个仿真实体,该实体既能向其他实体发送消息,也能处理接收到的消息。所有的实体必须扩展该类并重写其中的三个核心方法:startEntity()、processEvent()和shutdownEntity(),它们分别定义了实体初始化、事件处理和实体销毁的行为,CloudSim核心模拟引擎,6)CloudSimTags 包含多个静态的时间或命令标签,CloudSim实体在接收和发送事件

5、时使用这些标签决定要采取的操作类型 7)SimEvent 给出了在两个或多个实体间传递仿真事件的过程。SimEvent存储了关于事件的信息,包括事件的类型、初始化时间、事件发生的时间、结束时间、事件转发到目标实体的时间、资源标识、目标实体、事件标签及需要传输到目标实体的数据 8)CloudSimShutdown 用于结束所有终端用户和代理实体,然后向CIS发送仿真结束信号 9)Predicate 抽象类且必须被扩展,用于从延时队列中选择事件,CloudSim核心模拟引擎,10)PredicateAny 表示匹配延时队列中任何一个事件。在CloudSim的类中有个可以公开访问的实例CloudSi

6、m.SIM_ANY,因此不需要为该类创建新的实例 11)PredicateFrom 表示选择被特定实体放弃的事件 12)PredicateNone 表示不匹配延时队列中的任何事件。在CloudSim中有个可以公开访问的静态实体CloudSim.SIM_NONE,因此用户不需要为该类创建任何新的实体 13)PredicateNotFrom 选择已经被特定对象发送的事件 14)PredicateType 根据特定标签选择事件 15)PredicateNotType 选择不满足特定标签的事件,CloudSim层,CloudSim仿真层 -为云数据中心环境的建模和仿真提供支持,包括虚拟机、内存、存储器

7、和带宽的专用管理接口。该层主要负责处理一些基本问题,如主机到虚拟机的调度、管理应用程序的执行、监控动态变化的系统状态 网络层 -模拟真实网络拓扑,延时矩阵中存储的信息模拟一个消息从一个CloudSim实体(如主机)到另一个实体(如云代理)过程中产生的网络延时,CloudSim层,2.云资源层 -与云相关的核心硬件基础设施均由该层数据中心组件来模拟。数据中心实体由一系列主机组成,主机负责管理虚拟机在其生命周期内的一系列操作。每个主机都代表云中的一个物理计算节点,它会被预先配置一些参数,如处理器能力(用MIPS表示)、内存、存储器及为虚拟机分配处理核的策略等 -为了整合多朵云,需要对云协调器(Cl

8、oudCoordinator)实体进行建模。该实体不仅负责和其他数据中心及终端用户的通信,还负责监控和管理数据中心实体的内部状态。在监控过程中收到的信息将会活跃于整个仿真过程中,并被作为云交互时进行调度决策的依据,CloudSim层,3.云服务层 -虚拟机分配是主机创建虚拟机实例的一个过程 ,在云数据中心,将特定应用的虚拟机分配给主机是由虚拟机分配控制器(VmAllocationPolicy)完成 -考虑情况:一台拥有两个CPU内核的主机要运行两个虚拟机,每个虚拟机需要两个内核并要运行4个任务单元。更具体来说,VM1上将运行任务t1、t2、t3、t4,而VM2上将运行任务t5、t6、t7、t8

9、,(a)中虚拟机和任务单元均采用空间共享策略。由于采用空间共享模式,且每个虚拟机需要两个内核,所以在特定时间段内只能运行一个虚拟机。因此,VM2只能在VM1执行完任务单元才会被分配内核。VM1中的任务调度也是一样的,由于每个任务单元只需要一个内核,所以t1和t2可以同时执行,t3、t4则在执行队列中等待t1、t2完成后再执行,(b)虚拟机采用空间共享策略,任务单元采用时间共享策略。因此,在虚拟机的生命周期内,所有分配给虚拟机的任务单元在其生命周期内动态地切换上下文环境,(c)虚拟机采用时间共享策略,任务单元使用空间共享策略。这种情况下,每个虚拟机都会收到内核分配的时间片,然后这些时间片以空间共

10、享的方式分配给任务单元。由于任务单元基于空间共享策略,这就意味着对于一台虚拟机,在任何一个时间段内,内核只会执行一个任务,(d)虚拟机和任务单元均采用时间共享策略。所有虚拟机共享处理器能力,且每个虚拟机同时将共享的能力分给其任务单元。这种情况下,任务单元不存在排队延时,CloudSim层,4. 虚拟机服务层 -提供了对虚拟机生命周期的管理,如将主机分配给虚拟机、虚拟机创建、虚拟机销毁以及虚拟机的迁移等,以及对任务单元的操作 5. 用户接口结构层 -提供了任务单元和虚拟机实体的创建接口,用户代码层,CloudSim的最高层是用户代码层,该层提供了一些基本的实体,如主机(机器的数量、特征等)、应用

11、(任务数和需求)、虚拟机,还有用户数量和应用类型,以及代理调度策略等。通过扩展这一层提供的基本实体,云应用开发人员能够进行以下活动 (1)生成工作负载分配请求和应用配置请求 (2)模拟云可用性场景,并基于自定义配置进行稳健性测试 (3)为云及联合云实现了自定义的应用调度技术,提 纲, CloudSim简介 CloudSim体系结构 CloudSim技术实现 CloudSim的使用方法 CloudSim的扩展,CloudSim云模拟器的类设计图,CloudSim技术实现,1)BwProvisioner 用于模拟虚拟机的带宽分配策略。可以通过扩展这个类反映其应用需求的变化,实现自己的策略(基于优先

12、级或服务质量) 2)CloudCoordinator 整合了云数据中心,负责周期性地监控数据中心资源的内部状态和执行动态负载均衡的决策 3)Cloudlet 模拟了云应用服务(如内容分发、社区网络和业务工作流等)。每一个应用服务都会拥有一个预分配的指令长度和其生命周期内所需的数据传输开销 4)CloudletScheduler 扩展实现了多种策略,用于决定虚拟机内的应用服务如何共享处理器能力。支持两种调度策略:空间共享(CloudletSchedulerSpaceShared)和时间共享(CloudletSchedulerTimeShared)策略,CloudSim技术实现,5)Datacen

13、ter 模拟了云提供商提供的核心基础设施级服务(硬件)。它封装了一系列的主机,且这些主机都支持同构和异构的资源(内存、内核、容量和存储)配置 6)DatacenterBroker 模拟了一个代理,负责根据服务质量需求协调SaaS提供商和云提供商。该代理代表SaaS提供商,它通过查询云信息服务(Cloud Information Service)找到合适的云服务提供者,并根据服务质量的需求在线协商资源和服务的分配策略,CloudSim技术实现,7)DatacenterCharacteristics 包含了数据中心资源的配置信息 8)Host 模拟如计算机、存储服务器等物理资源。它封装了一些重要信

14、息,如内存/存储器的容量、处理器内核列表及类型(多核机器)、虚拟机之间共享处理能力的分配策略、为虚拟机分配内存和带宽的策略等 9)NetworkTopology 包含模拟网络行为(延时)的信息。它里面保存了网络拓扑信息,该信息由BRITE拓扑生成器生成 10)RamProvisioner 代表为虚拟机分配主存的策略 11)SanStorage 模拟了云数据中心的存储区域网,主要用于存储大量数据,类似于Amazon S3、Azure blob storage等,CloudSim技术实现,12)Sensor 该接口的实现必须通过实例化一个能够被云协调器使用的传感器组件,用于监控特定的性能参数(能量

15、消耗、资源利用)。该接口定义了如下方法: (1)为性能参数设置最小值和最大值。 (2)周期性地更新测量值。 (3)该类能够用于模拟由主流云提供商提供的真实服务 13)Vm 模拟由主机组件托管和管理的虚拟机 14)VmAllocationPolicy 代表虚拟机监视器使用的调度策略,该策略用于将虚拟机分配给主机 15)VmSheduler 由一个主机组件实现,模拟为虚拟机分配处理核所用的策略(空间共享和时间共享),提 纲, CloudSim简介 CloudSim体系结构 CloudSim技术实现 CloudSim的使用方法 CloudSim的扩展,环境配置,1)JDK安装和配置 http:/ F

16、ilesJavajdk1.6.0_24。设置环境变量:新建系统变量JAVA_HOME,变量值设为JDK安装目录,即C:Program FilesJavajdk1.6.0_24;在Path中加入路径%JAVA_HOME%bin;在ClassPath中加入路径%JAVA_HOME%libdt.jar; %JAVA_HOME%libtools.jar 2)CloudSim安装和配置 从http:/www.cloudbus.org/cloudsim/下载CloudSim,本书以CloudSim2.1.1为例。将其解压到磁盘,例如C:cloudsim-2.1.1。设置环境变量:在ClassPath中加入路径C:cloudsim-2.1.1jarscloudsim-2.1.1.jar; C:cloudsim-2.1.1jarscloudsim-examples-2.1.1.jar,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号