ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

调研--仿真--CloudSim

2021-05-16 13:04:34  阅读:159  来源: 互联网

标签:仿真 数据中心 策略 -- 创建 虚拟机 CloudSim 方法


 

 

 

  • CloudSim层提供对虚拟基于云的数据中心诸如VM,内存,存储和带宽等管理接口。
  • CloudSim层在模拟阶段管理核心实体(比如VM,客户端,数据中心,应用)的实例和执行。
  • 这一层能够并发地实例化和透明地管理大规模云基础设施包括数以千计的系统组件。

 

——————————————————————————————————————————————————————————————————

(1)Cloudlet类:构建云环境下的任务。

(2)DataCenter类:数据中心,提供虚拟化的网格资源,处理虚拟机信息的查询,包含虚拟机对资源的分配策略,云计算采用VMProvisioner处理虚拟机。

(3)DataCenterBroker类:隐藏了虚拟机的管理,如创建、任务提交、虚拟机的销毁等,实现资源发现和信息交互,是模拟调度的核心。

(4)Host类:扩展了机器对虚拟机除处理单元(PE)之外的参数分配策略,如带宽、存储空间、内存等,一台Host可对应多台虚拟机。

(5)VirtualMachine类:虚拟机类,运行在Host上,与其它虚拟机共享资源,每台虚拟机由一个拥有者所有,可提交任务,并由VMScheduler类定制该虚拟机的调度策略

(6)VMScheduler类:虚拟机的调度策略,用来管理执行任务,实现了任务接口。

(7)VMCharacteristics类:提供虚拟机描述。

(8)VMMAllocationPolicy类:虚拟机监视器策略类,描述同一Host上的多台虚拟机共享资源的策略。

(9)VMProvisioner类:实现数据中心的主机到虚拟机的映射。

 

——————————————————————————————————————————————————————————————————

CloudSim共享策略

  • CloudSim提供的虚拟化引擎可以帮助用户建立和管理数据中心节点。
  • 虚拟机对主机资源存在竞争,以及各个任务单元对虚拟机资源同样存在竞争
  • CloudSim对创建的虚拟机和提交的任务单元提供了灵活的时间和空间共享策略
  • 用户可以根据不同的共享策略组合来开发相应的调度算法,从而实现调度算法的模拟

 

——————————————————————————————————————————————————————————————————

CloudSim仿真步骤

  • 第一步:初始化CloudSim的工具包;
  • 第二步:创建数据中心DataCenter;
  • 第三步:创建代理DataCenterBroker;
  • 第四步:创建虚拟机列表VmList,然后将虚拟机列表提交到数据中心代理;
  • 第五步:创建云任务列表CloudletList,然后将云任务列表提交给数据中心代理;
  • 第六步:开始模拟StartSimulation;
  • 第七步:结束模拟StopSimulation,输出结果

 

 

 

 

 

 

 

2、当initialize()执行完成后,在initCommonVariable方法中就会创建一个CloudSimShutdown(从SimEntity派生而来)实例,然后将这个实例添加到模拟中。

3、当添加到模拟中时,它的id变为0(从前面的-1)。 两个集合 entities 和 entitiesByName 使用此SimEntity更新。此时, initCommonVariable方法执行完成。

4、现在转到init方法中,就会创建一个 CloudInformationService(它也派生自SimEntity)实例,然后这个新实体也被添加到模拟中。当被添加到模拟中时,SimEntity的id被改为1,初始化时为-1,再根据SimEntity更新entities和entitiesByName。

 

 

CloudSim应用——createDatacenter()方法补充

方法createDatacenter()用于创建云数据中心框架及其中的物理主机。该方法不是CloudSim提供的官方方法,而是需要我们根据自己的需求进行定义,下面,我们提供一个创建数据中心的实例。

 

 

 

 

CloudSim应用——主机资源分配相关策略补充

  • 主机资源主要是指处理能力、带宽和内存
  • PeProvisioner、RamProvisioner、BwProvisioner。这三个都是抽象类只提供了最基本的实现,用户可以通过继承这些类实现自定义的分配策略。
  • PeProvisionerSimple 、RamProvisionerSimple、BwProvisionerSimple分别继承了上面三个类
  • 三种资源分配策略默认都使用 a best-effort policy策略
  • 以PeProvisionerSimple为例,主要方法是allocateMipsForVm:该方法共有三种重载模式,用于将处理器能力(用mips表示)分配给虚拟机。
  • 分配策略:将处理器能力量化,每为一台虚拟机成功分配后,处理器能力就相应的减少,如果当前可用处理器能力低于要分配的值,则分配失败,同时以列表的形式记录了同一台虚拟机多次分配的结果

 

 

createBroker()方法补充

代理指的是代理模式,意味着我们不需要深入CloudSim的底层细节,只要需用通过代理即可对CloudSim进行操作。代理类DatacenterBroker继承了SimEntity类,并实现了其中的processEvent()方法。

 

  • processEvent()方法用来处理与其自身逻辑相关的事件,比如与DatacenterBroker相关的事件有:请求数据中心特征事件,虚拟机创建情况反馈事件,任务完成返回事件,仿真结束事件等。
  • 方法接受SimEvent对象,simEvent.getTag()方法返回int值

processResourceCharacteristics方法详解

 

 

 

 

 

标签:仿真,数据中心,策略,--,创建,虚拟机,CloudSim,方法
来源: https://blog.csdn.net/sinat_33211329/article/details/116888639

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有