当前位置: 首页 > 范文大全 > 公文范文 >

Cloudsim3.0仿真流程分析

时间:2022-03-24 09:14:07  浏览次数:

大学的学者开发了云仿真平台CloudSim[3],用以实现云计算系统和应用资源调度的模拟与仿真。

1CloudSim简介

CloudSim是澳大利亚墨尔本大学开发的云计算仿真软件。CloudSim是在GridSim模型基础上发展而来,提供了云计算的特性,支持云计算的资源管理和调度模拟。CloudSim是开源项目,可以在windows和linux上运行。CloudSim的扩展部分实现了一系列接口,提供基于数据中心的虚拟化技术、虚拟化云的建模和仿真功能。利用CloudSim仿真软件,用户可以反复测试自己的服务,在组成、配置和部署软件前评估模拟软件,调节性能瓶颈,减少资金耗费‘4]。

CloudSim具有多个版本,本文的研究对象是CloudSim3.0。CloudSim3.0采用分层的体系结构。仿真层为云计算的虚拟数据中心环境的配置和仿真提供支持,包括虚拟机、内存、容量及带宽的接口,该层用于主机分配到虚拟机的策略研究,并通过扩展核心的虚拟机调度函数实现。最上层是用户代码层,该层提供一些基本的实体,如主机、应用、虚拟机,用户数据和应用类型,以及代理调度策略等‘2]。CloudSim3.0提供虚拟化引擎,可在数据中心节点上建立和管理多重的虚拟化任务,并在虚拟化服务分配时在时间共享及空间共享策略之间灵活切换。Cloudsim3.0是开源的,用户可以通过扩展接口扩展开源代码,实现自己的调度策略,并基于特定环境和配置进行测试,验证相应功能。

2CloudSim3.O仿真流程及事件响应机制分析

2.1CloudSim3.0仿真流程

不论初始条件以及调度策略是否有所不同,CloudSim的仿真流程总是不变的。CloudSim的仿真流程分为三个阶段:初始化仿真环境,执行仿真,结束仿真。其仿真流程图如图1所示。

在图1中,每一个方框代表一个事件,也就是CloudSim执行仿真过程中所要做的事情,每一个菱形框表示事件执行的条件,在执行下一次事件之前,先根据菱形图中所示的条件进行判断,从而决定下一步执行何种事件。CIS是指CloudInformationService,提供实体资源注册的功能,每产生一个新的实体,必须向CIS进行注册,实体是能进行事件处理的数据中心,注册实体资源,是为了管理实体;future队列是指未来事件队列,维护着所有新产生的事件队列,这些事件都是将要被处理的,每处理一件事件,可能会产生新的事件,此时,新的事件将被加入到此队列,等待处理;deferred队列是延时事件队列,所有事件必须经过从future队列移除,加入到deferred队列中,才能被各个实体进行处理来完成相应的任务,实体资源处理事件时,是处理从deferred队列中弹出的事件,每一个具体的任务是由多个事件组成,事件都有先后顺序,根据其状态保存到相应队列中。

如上所述,仿真过程分为三个阶段:初始化仿真环境,执行仿真,结束仿真。在第一阶段初始化仿真环境时,先初始化CloudSim核心仿真引擎,这标志着仿真已经开始,然后创建数据中心,再创建数据中心代理,这是上一级的实体资源,接下来创建虚拟机,虚拟机是下一级的实体资源,所以要将虚拟机列表提交给数据中心代理,然后创建云任务,将云任务列表要提交给数据中心代理。初始化完成后,正式启动仿真,在这一阶段,主要是按照相应的调度策略处理仿真运转过程中产生的各个事件,在软件源码中,调度策略有时间共享策略和空间共享策略,研究人员还可以根据具体应用进行扩展,开发出其它调度策略,因所有事件都要经过future队列,所以若此队列中没有任何事件,则可停止仿真,如有事件,则加入到deferred队列中,等待下一步处理。在执行仿真阶段,可以暂停仿真,需要继续运行时,可唤醒仿真,继续运行。如果所有事件处理完毕,则预示着仿真运行阶段的结束,如此,则可以结束仿真,在仿真结束阶段,主要是设置实体为不可运行状态,标识实体关闭,结束仿真。

2.2仿真事件生命周期

CloudSim仿真软件是离散事件驱动的[3],使用白带的离散事件模拟链接库来进行事件处理和内部事件消息传送。仿真进行的过程就是对每一个仿真事件进行处理的过程,仿真事件贯穿着仿真过程的始终,所以仿真事件的生命周期是整个仿真过程的核心,所以,为了研究仿真过程如何运行,则必须研究仿真事件的来龙去脉,仿真事件是怎样产生的,将要做怎样的处理,仿真事件某时某刻是怎样的状态,在何种条件下,仿真事件将会消亡。总之,仿真事件的生命周期就是产生、运转、消亡。

如图2是代表着事件的属性表,用etype、time、entSrc等一些变量可以表征仿真事件的特征,以此来描述仿真事件。不同事件,变量值不同,相应的处理方法则不同。

如图3所示为仿真事件的生命周期示意图,方形框表示实体或cloudsim进行了某种动作行为,椭圆表示仿真事件当时处于何种状态下。在图3中,cloudsim表示的仿真核心引擎,实体l表示发起事件的实体,对应事件的entSrc属性,实体2表示处理事件的实体,对应事件的entDst属性。如图2所示,事件经由某个实体发起,cloudsim组织产生,然后被加入到future队列中,时间条件满足,即从future队列中移人到deferred队列中,如果处理此事件的实体具备处理此事件的条件,则从deferred队列中取出此事件,然后处理,则事件消亡,至此就是一个仿真事件的生命周期。

3实例分析

下面以仿真软件白带的实例l为例来阐述CloudSim3.0的仿真流程。

实例1演示创建包含一台主机的一个数据中心,运行一个云任务的仿真过程。在仿真环境初始化阶段,创建了一个数据中心、一个数据中心代理,创建了一个虚拟机、一个云任务,并将此虚拟机和云任务都提交给数据中心代理。所以在实例1中,有四个实体,CloudSimShutDown、CloudSimInformationService、Datacenter0(数据中心)、Broker(数据中心代理)。仿真环境初始化完成后开始启动仿真。仿真运行阶段,首先启动四个实体,在启动实体Datacenter0时,产生了第一个仿真事件一一向CloudSimInformationService注册,在事件驱动机制下,处理事件的过程中,可能会产生新的事件,如此仿真过程就一直进行下去。在时钟为0.0时,云资源列表收到一个资源,并且准备在数据中心创建一个虚拟机,在时钟0.1时,虚拟机已经创建完成,数据中心代理准备将云任务发送到虚拟机,在时钟400.1时,云任务已经被接收,并且处理完毕,终结了虚拟机后,所有仿真事件都已处理完毕,CloudSimInformationService通知关闭各个实体,至此整个仿真过程结束。如图4为仿真结果。

4结束语

在云计算研究如火如荼的今天,云计算仿真器无疑具有重要的研究价值。各研究者在研究分析CloudSim的同时,也可在CloudSim的基础上进行扩展,开发出适合各自应用特点的功能[5],促进云计算仿真器软件的成熟。

参考文献

[1]查应华,杨静丽.云计算仿真平台Cloudsim在资源分配平台中的应用[J].软件导刊,2012,11(11):57-59.

[2]王霞俊.Cloudsim云计算仿真T具研究及应用[J].微型电脑应用,2013,8:59-61.

[3]RodrigoN.Calheiros,RajivRanjan,AntonBeloglazon,et.al.CloudSim:AToolkitforModelingandSimulationofCloudComputingEnviromentsandEvaluationofResourceProvisioningAlgorithms,Software:PracticeandExperience(SPE),[J]Volume41,Numver1,Pages:23-50.

[4]刘鹏.云计算[M].北京:电子工业出版社,2011.

[5]汪俭华,冯锡炜,冯瑶,等.云计算仿真平台的改进研究[J].科学技术与工程,2013,19(3):5543-5548.

推荐访问: 仿真 流程 分析 Cloudsim3