Cloudsim 3.0.3中任务到VM的映射

本文准备介绍Cloudsim中云任务(Cloudlet)到虚拟机(Vm)的映射的实现方法,为相关扩展实验和二次开发提供启发。


先说两个CloudSim机制上的发现:

1、真实云环境(如IaaS)中,VM和主机是密不可分的,没有host怎么创建VM呢?而且VM的资源(尤其是处理器性能)与主机应该是绑定关系,例如2核的VM在host-A上是2*2.5Ghz,在host-B上可能就是2*3Ghz。但是,在Cloudsim中,VM更加像非常独立的实体,它在实例化时就有确定的内存大小、带宽以及MIPS。

2、真实云环境的VM在空闲时,仅占用少量资源(某些时候可以选择忽略)。但是根据我的实验发现,在CloudSim中,VM一旦submit并分配给某个host,这个host的资源会被立刻占用,即使VM上根本没有Cloudlet运行。比如没有运行任务Cloudlet的VM1分配给host-A,host-A的可用MIPS就减少了2*2.5=5Ghz。


现在回到正题,CloudSim中Cloudlet->VM的映射是由DataCenterBroker对象完成的,DCBroker首先提供了最直接的方法:

public void bindCloudletToVm(int cloudletId, int vmId) {
CloudletList.getById(getCloudletList(), cloudletId).setVmId(vmId);
}

该方法将ID为cloudletId的任务指定分配给ID为vmId的虚拟机(就是调用Cloudlet对象.setVmId(vmId))。该方法需要编程者主动调用,比如example2中就在main方法中主动调用bindCloudletToVm来绑定已提交的两对Cloudlet和Vm(这个提交就是填充列表而已,各种绑定操作是在CloudSim.startSimulation()之后才进行)</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值