clousim学习笔记----关于cloudlet从生到死

1 cloudlet 什么意思

首先cloulet  并不继承cloudsim 中的simEntity ,所以他只是作为在不同的实体之间传递任务信息的用途。他作为一个任务的载体,需要记录的信息有:brokerId 


2 cloudlet  的生命周期:

Created 初始化创建 
Ready  已经获取了资源
InExec 在执行中,还没有执行结束
 Queued  没有足够的pe,进入队列等候
FAILED  执行失败,但在工程中,并没有用到貌似
CANCELED 在数据中心进行强制关闭cancel 的时候
 PAUSED  执行迁移
 Resumed 重新启动,从暂停唤醒
 Failed_resource_unavailable  一个在所有条件以外的以外


3 ResCloudlet  

他不是对cloudlet的简单继承,而是对cloudlet的封装,并且加入了到达和结束时间,和当前完成的cloudlet的长度等属性。


4 cloudletScheduler 什么的干活 :

cloudsim自带了这么几个:

CloudletSchedulerDynamicWorkload ,CloudletSchedulerDynamicWorkload ,CloudletSchedulerTimeShared ,NetworkCloudletSpaceSharedScheduler ,CloudletSchedulerDynamicWorkload

用途:

被vm 调用,用来维护这么几rescloudlet个队列:等待,在等待,在暂停,已完成,失败的这么几个队列 .然后在这几个队列中选择合适的任务,分配mips 等资源

5 基本属性

cloudletLength 在虚拟机计算资源上执行的依据,每次判断当前执行的长度和这个长度的大小,进而判断是不是任务完成
vm.getCloudletScheduler().updateVmProcessing(currentTime, mipsShare);
rescloudlet.updateCloudletFinishedSoFar((long) (getCapacity(mipsShare) * timeSpam * rcl.getNumberOfPes() * Consts.MILLION))
cloudletFileSize 在计算带宽花销的时候用来计算,和单位带宽费用相乘,
cloudletOutputSize 在计算贷款花费的时候,会用来进行计算,
和单位带宽费用相乘


5 cloudlet事件: submit 和return 

broker.submit ,将输入的任务,提交到broker ,和vm进行绑定,在改vm当中进行执行,然后broker 在将这些vm映射到相应的云计算中心的主机上,进行放置到物理机上


return:将数据中心已经处理好的cloudlet列表给打broker的receiveList 列表当中,接着做一些数据中心和模拟的停止和清理工作。数据中心在每次执行cloudlet执行的时候,都要判断本数据中心,所有的host上的所有虚拟机当中的所有的cloudlet都执行完成,如果一个cloudlet执行完成就,发给broker 一个已经执行完成的cloudlet,因为提到的datacenter,broekr 都是simEntity , 所以他们之间的消息传递,都是用send()函数,制定收信息的模拟实体,然后cloudsim 会将该消息压入一个消息队列,每个调度周期,都会从future队列当中取消息进行知心,没有更多future消息,那么模拟结束。


你可能感兴趣的:(CloudSim)