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

2022-03-24 09:20:44 | 浏览次数:

摘 要:分析云计算仿真工具CloudSim的体系结构、核心类库和仿真流程,通过在扩展后的CloudSim平台上对云任务调度算法进行仿真实验,验证了CloudSim进行云计算仿真实验的可行性。

关键词:云计算 仿真工具 CloudSim

中图分类号:TP302 文献标识码:A 文章编号:1672-3791(2016)01(b)-0000-00

随着云计算技术和云服务的迅猛发展,急需寻求一种云计算环境下分布式系统模拟器实现云计算试验的模拟。

本文在分析云计算仿真工具CloudSim体系结构、核心类和仿真流程的基础上,对扩展和重编译的CloudSim进行了云任务调度算法的测试,并对结果进行了记录和分析,验证了CloudSim进行云计算仿真实验的可行性[1]。

1 CloudSim简介

CloudSim是云计算技术出现后推出的一种通用性和可扩展性较好的云计算仿真软件,主要是对云环境下的资源分配以及服务调度来进行性能的测试和优化等研究,它的出现对云计算算法、方法和服务的发展都是十分有利的。CloudSim体现了云计算中虚拟化技术,在扩展部分通过一系列接口来提供基于数据中心的虚拟化技术和虚拟化云的建模及仿真,同时还提供了资源的监测以及主机到虚拟机的映射 [2]。CloudSim是一款开源软件,可运行在Windows系统和Linux系统上,还可以根据需要进行扩展,以满足不同用户的不同需求。

1.1 CloudSim体系结构

CloudSim采用的是分层体系结构,CloudSim发展到今天的版本,主要由CloudSim核心模拟引擎、CloudSim和UserCode三层组成。

(1)CloudSim核心模拟引擎

CloudSim模拟引擎包含以下一些类:CloudSim类、FutureQueueq类、DeferredQueue类、SimEvent类、SimEntity类、CloudSimTags类、CloudInformationService(CIS) 类、CloudSimShutdown类.。

(2)CloudSim

Cloudsim层提供了基于数据中心的虚拟化技术以及虚拟云的建模与仿真,Cloudsim层需要对应用执行的状态进行管理、对动态系统的状态进行监测、对主机租用的情况进行监测。概括起来,Cloudsim层从低到高包括网络层、云资源层、云服务层、虚拟机服务层和用户接口结构层这五部分。[3]

(3)UserCode

用户代码(UserCode)层提供了一些基本的实体,如虚拟机、主机和应用,还提供了用户的数量、应用类型和调度策略等。云技术方面的应用开发人员可以在UserCode层通过测试场景的设置,并根据场景来测试各种功能。用户可以对该层进行扩展,以实现一些特有功能来满足特定需求。

1.2 CloudSim类设计

云计算仿真器CloudSim是在原有版本的GridSim层上新增了一些类来体现云计算的特点的,其中最主要的9个类如下:

(1)Datecenter类,这个是数据中心类,云计算中虚拟化网络资源的提供者,查询虚拟机的相关信息,以及虚拟机对资源的分配策略等都是通过Datecenter类实现的。

(2)Cloudlet类,构建云环境下的任务,对应用服务进行建模[3]。

(3)Host类,该类是主机类,对虚拟机的一些相关参数的分配策略进行了扩展,其中不包括虚拟机的处理单元,一台主机可以与多台虚拟机相对应,即一对多的关系。

(4)VirtualMachine类,这个类是虚拟机类,它是在主机之上运行的,主机的资源是供它和其余的虚拟机共享的,这里的共享资源包括时间和空间资源。每一个拥有虚拟机的用户都可以提交任务,同时这个虚拟机的调度策略可以由VMscheduler类实现。[3]

(5)VMCharateristics类,主要是用来描述虚拟机的相关参数信息。

(6)VMScheduler类,这个类是用来描述虚拟机调度策略的,主要是对任务的执行情况进行管理,同时任务之间的接口也是依靠VMScheduler类实现的。

(7)VMProvisioner类,这个类主要是用来实现主机和虚拟机相互之间的映射关系。

(8)VMMAllocationPolicy类,这个类是虚拟机监视器策略类,主要是用来刻画同一个主机上的多台虚拟机之间用来共享资源所采用的策略。

(9)DatecenterBroker类,该层的主要任务是实现虚拟机管理的隐藏,包括虚拟机的创建、任务的提交和虚拟机销毁等工作[4]。

2 CloudSim环境配置和仿真流程

Cloudsim环境配置分为三步:DK安装和配置、CloudSim安装和配置、CloudSim项目导入。

在CloudSim上进行算法仿真的流程是:(1)创建一个数据中心,包括数据中心的CPU、内存和带宽等一些相关资源;(2)向CIS注册,这是通过发送注册消息到云信息服务-CIS来实现的。CloudSim的仿真过程可以概括如下:

3 CloudSim仿真实验与结果分析

3.1 仿真实验的实现

本文对云计算仿真工具CloudSim进行扩展,即对CloudSim平台的DatacenterBroker类扩展,写一个新方法bindCloudletToVM()用于实现自己所需算法,然后在扩展后的平台上进行模拟实验和相关性能的测试。

本文创建一组8个任务和存在性能差异及偏好的4个虚拟机,其他条件不变的情况下通过改变任务参数和虚拟机参数对云计算中Min-Min调度算法、遗传调度算法(GA)和改进遗传调度算法(IGOA)进行模拟,共运行10次,并记录数据,同时对算法执行时间进行对比。

3.2 结果分析

根据上述实验方法对任务调度算法进行仿真实验,对实验结果的相关数据进行记录。通过对实验结果的数据进行分析,验证了CloudSim进行云计算相关实验的可行性。

4 结论

本文在分析云计算仿真工具CloudSim的体系机构、技术实现和仿真流程等的基础上,通过云计算中任务调度算法的仿真实验验证了CloudSim的效率在一定程度上是比较优异的。

参考文献

[1] 王霞俊,CloudSim云计算仿真工具研究及应用[J].微型电脑应用,2013,29(8):59-61.

[2] 樊雪梅.关于云服务技术发展的研究与综述[N].中国新闻技术工作者联合会2011年学术年会论文集.

[3] 何婧媛.云服务中任务调度和结果回收策略研究[D].西安工业大学,2013,3.

[4] 赵春艳.云环境下作业调度算法研究与实现[D].北京交通大学,2009,6.

推荐访问: 仿真 工具 计算 研究 CloudSim