5、Cloudsim基础类

Cloudsim基础类是Cloudsim仿真器的重要组成部分:
**1.BwProvisioner:**这是一个抽象类,它是用来实现虚拟机带宽分配策略,为数据中心中所有存在网络带宽资源竞争的虚拟机集合分配带宽。云提供商或者学者可以根据需求增加带宽的分配策略来拓展该类。Bw ProvisonerSimple 是 Cloudsim 中最简单的带宽分配策略,它根据主机总的可用带宽,为虚拟机分配尽可能多的带宽。路径为:cloudsim/src/main/java/org/cloudbus/cloudsim/Provisioners/BwProvisioner.java

**2.CloudCoordinator:**这个一个用来拓展联合多个数据中心的抽象类。它的主要作用是定时地去监测云数据中心中资源的使用状况,并通过相关决策来平衡数据中心的负载状况。该类的实现主要包括一个专门的传感器和一个平衡分配策略,使用 updateDatacenter()方法发送查询感应器来实现监测数据中心的资源,使用 setDatacenter() 方法实现服务/资源发现。例外,该类还可以拓展云服务的仿真,例如,亚马逊 EC2 的负载均衡系统。云计算开发人员可以通过拓展该类来实现它们自定义的应用服务。cloudsim4.0版本将这种方式进行了改变,后续会提到,这个类已经被删除。

**3.Cloudlet:**这是一个用来模拟云的应用服务的类。由于每一个应用服务都会有一个的预设的指令长度以及在生命周期类所承受的数据传送。开发者可以根据需要扩展该类,使它能够支持如面向数据库应用的事务等相关拓展。也就是说模拟真实用户的应用操作。路径:cloudsim/src/main/java/org/cloudbus/cloudsim/Cloudlet.java

**4.CloudletScheduler:**这是一个可以扩展虚拟机下对云任务集采取不同策略共享虚拟机资源的实现类。目前主要有两种共享方式:空间共享和时间共享。路径:cloudsim/src/main/java/org/cloudbus/cloudsim/CloudletScheduler.java

**5.Datacenter:**这是一个模拟了云供应商核心基础设施等级服务的类。它采取同构或者异构的方式为主机封装了硬件配置,包括内存,核数、磁盘、CPU 等。每实例化一个物理主机或者虚拟机,就为这个实例分配对应的内存、CPU 带宽等资源。路径为:cloudsim/src/main/java/org/cloudbus/cloudsim/Datacenter.java

**6.DatacenterBroker 和 CloudBroker:**这两个都是代理类,它们主要起着中介的作用,在满足 QoS 要求情况下,协调 SaaS 服务与云提供商之间的关系这是代理模拟类。代理类可以根据 CIS(云信息服务)和 QoS 需求来来选择合适的云服务供应商 Broker 通过查询 CIS 为 SaaS供应商寻找合适的云服务供应商,开发人员需要根据需要拓展这个代理类来测试和评估自定义的代理决策。与协调器不同,云代理器主要是为了增加相关用户的性能,它是为用户服务的,而协调器只是为了保证数据中心的性能最大化,而不会去考虑用户的需求问题。路径:cloudsim/src/main/java/org/cloudbus/cloudsim/DatacenterBroker.java

**7.DatacenterCharacteristics:**该类是数据资源相关的配置信息类。路径:cloudsim/src/main/java/org/cloudbus/cloudsim/DatacenterCharacteristics.java

**8.Host:**该类主要模拟了云计算数据中心的物理资源。它封装了真实物理节点相关的配置信息,例如内存、CPU、存储、处理器个数、带宽等信息诸如内存和存储器大小,处理器个数和类型,同时还会存储供应虚拟机的对应内存和带宽等资源的策略等相关信息。路径:cloudsim/src/main/java/org/cloudbus/cloudsim/Host.java

**9.NetworkTopology:**该类主要记录仿真中网络的相关信息。路径:cloudsim/src/main/java/org/cloudbus/cloudsim/NetworkTopology.java

**10.RamProvisioner:**这是一个抽象类,它能够实现对虚拟机集合关于内存的分配策略。只有该类中的方法能够证明某一主机存在空闲内存,该主机才会给对应的虚拟机分配对应内存。RamProvisionerSimple是Cloudsim中最基本的,也是默认的内存分配策略,它没有任何限制,只有当虚拟机对于内存的需求超出了当前物理主机的剩余的可用内存时才不予分配。路径:cloudsim/src/main/java/org/cloudbus/cloudsim/Provisioners/RamProvisioner.java

**11.Vm:**该类就是实现对虚拟机的仿真,它是对云主机中相关设备资源的租用和管理。这些资源包括内存、CPU、存储虚拟机的内部分配策略。这些可以从CloudletScheduler抽象类来进行拓展。路径:cloudsim/src/main/java/org/cloudbus/cloudsim/Vm.java

**12.VmmAllocationPolicy:**这个抽象类主要是来拓展主机中虚拟机的分配策略。它主要实现在数据中心中,选择一个合适的主机来放置虚拟机,以满足它的资源需求。路径:cloudsim/src/main/java/org/cloudbus/cloudsim/VmmAllocationPolicy.java

**13:VmScheduler:**这是一个抽象类,代表了在主机中VM用于在运行的虚拟机之间共享处理能力的策略(空间、时间共享)。路径:cloudsim/src/main/java/org/cloudbus/cloudsim/VmScheduler.java

为了在云数据中心获得更好的能耗与SLA平衡以及负载均衡,将会设计一系列算法,在VmmAllocationPolicy类中增加虚拟机分配策略,可能还要在BwProvisioner类中加上带宽分配策略,以实现更好的能耗与SLA平衡以及负载均衡。

引用链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值