CloudSim系统设计与实现简析PPT课件_第1页
CloudSim系统设计与实现简析PPT课件_第2页
CloudSim系统设计与实现简析PPT课件_第3页
CloudSim系统设计与实现简析PPT课件_第4页
CloudSim系统设计与实现简析PPT课件_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、闫凤喜 21021065什么是CloudSim?CloudSim是做什么的?CloudSim做了什么?怎么使用CloudSim?云模拟器模拟对象:云系统组件、其中的行为作用:一个研究、开发、测试的工具前身:GridSim、SimGrid OptorSim、GangSimCloudSim是在以上基础上开发和改进一个帮助研究、开发、测试的工具如虚拟机资源分配算法、节能算法比真实的云环境有很多优势加快了算法设计与测试的速度降低了开发成本对云系统中的各种组件组件进行模拟 (1)云数据中心(Datacenter) (2)物理机(Host) (3)虚拟机(VM) (4)服务代理商(DatacenterBr

2、oker) (5)任务单元(Cloudlet) (6)云信息服务(CIS)对云系统中的各种行为行为(event)(event)进行模拟 (1)创建VM( VM_CREATE ) (2)删除VM的数据( VM_DATA_DEL ) (3)迁移VM(VM_MIGRATE ) (4)任务提交( CLOUDLET_SUMIT ) (5)任务取消( CLOUDLET_CANCEL ) (6).对云系统中的资源分配策略资源分配策略进行模拟 (1)虚拟机的主机分配( VmAllocationPolicy ) (2)带宽分配( BwProvisioner ) (3)内存资源分配( RamProvisioner

3、 ) (4)总线时间分配( PeProvisioner )l这是与程序员距离很近的一部分l继承这些类,实现自己的分配策略云系统中有以下实体Datacenter:提供基础的硬件资源CIS:提供资源信息的注册服务DatacenterBroker:代理商实体之间可以互相传递event如:BrokerDatacentereventVM_CREATE + dataprocessEvent(event)对以上实体,抽象为一个基类SimEntity,包含了基本的属性和操作。public abstract class SimEntityprivate String name;private int id;pr

4、ivate SimEvent evbuf;private int state;. public abstract void processEvent(SimEvent ev);.管理了一组物理机(Host)做为实体与其他实体进行通信方式的定义一些基本的操作,如虚拟机的创建、删除,发送资源注册请求虚拟机的资源分配策略public class Datacenter extends SimEntity private DatacenterCharacteristics characteristics;private String regionalCisName;private VmAllocatio

5、nPolicy vmAllocationPolicy;private List vmList;Overridepublic void processEvent(SimEvent ev) .public class DatacenterCharacteristics private int id;private String architecture;private String os;private List hostList;private double costPerSecond;private String vmm;private double costPerMem;private do

6、uble costPerStorage;private double costPerBw;.返回返回public class Host private int id;private long storage;private List peList;private RamProvisioner ramProvisioner;private BwProvisioner bwProvisioner;private VmScheduler vmScheduler;private List vmList;private List peList;public boolean vmCreate(Vm vm)

7、 getVmList().add(vm); vm.setHost(this); return true; 返回返回public void processEvent(SimEvent ev) .switch (ev.getTag() case CloudSimTags.RESOURCE_NUM_PE: srcId = (Integer) ev.getData().intValue(); int numPE = getCharacteristics().getPesNumber(); sendNow(srcId, ev.getTag(), numPE); break;case CloudSimTa

8、gs.VM_CREATE: processVmCreate(ev, false); break;.提供资源注册功能资源的索引public class CloudInformationService extends SimEntity private final List resList;private final List arList;Overridepublic void processEvent(SimEvent ev) int id = -1; / requester id switch ( ev.getTag() ) case CloudSimTags.REGISTER_RESOUR

9、CE: resList.add( (Integer) );break; case CloudSimTags.REGISTER_RESOURCE_AR: resList.add( (Integer) ev.getData() ); arList.add( (Integer) ev.getData() ); break; case CloudSimTags.RESOURCE_LIST: id = ( (Integer) ev.getData() ).intValue(); super.send(id, 0L, ev.getTag(), resList); break; 模拟的是云服务的代理商它与云

10、服务的用户直接交互,充当用户与数据中心的中间人屏蔽了云数据中心的内部操作 如虚拟机的创建、管理 任务单元在虚拟机上的分配 用户只需要提交自己的服务请求即可它定义了一组操作,用于和用户与数据中心的交互public void submitVmList(List list) getVmList().addAll(list);public void submitCloudletList(List list)getCloudletList().addAll(list);public void bindCloudletToVm(int cloudletId, int vmId)CloudletList.g

11、etById(getCloudletList(), cloudletId).setVmId(vmId);public void processEvent(SimEvent ev) switch (ev.getTag()case CloudSimTags.RESOURCE_CHARACTERISTICS_REQUEST:processResourceCharacteristicsRequest(ev);break;case CloudSimTags.RESOURCE_CHARACTERISTICS:processResourceCharacteristics(ev);break;case Clo

12、udSimTags.VM_CREATE_ACK:processVmCreate(ev); break;case CloudSimTags.CLOUDLET_RETURN:processCloudletReturn(ev); break;case CloudSimTags.END_OF_SIMULATION:shutdownEntity(); break;default:processOtherEvent(ev);break;Event有以下几个重要的属性有以下几个重要的属性private final double time; private double endWaitingTime; pri

13、vate int entSrc; private int entDst; private final int tag; private final Object data; Event被创建以后,会被放入待待队列FutureQueque,在每个时钟要被处理的event会从FutureQueque移动到DefferedQueue里处理。这样有一个好处,那就是当一个任务被创建后,在它被处理这前可以随时撤消。Event有以下几个重要的属性有以下几个重要的属性例如例如用户在编程接口向用户在编程接口向broker提交了创建提交了创建vm的请求,就会触发的请求,就会触发broker的一个方法的一个方法pr

14、otected void createVmsInDatacenter(int datacenterId).sendNow(datacenterId, CloudSimTags.VM_CREATE_ACK, vm);.这个任务会被放到这个任务会被放到DefferedQueue中,中,Datacenter搜索搜索DefferedQueue发现了这个事件的目的实体是自己就取出来放到自发现了这个事件的目的实体是自己就取出来放到自己的事件缓存己的事件缓存evbuf中,然后调用processEvent()方法处理这个事件public void processEvent(SimEvent ev) .swit

15、ch (ev.getTag() .case CloudSimTags.VM_CREATE_ACK: processVmCreate(ev, true); break;.l处理单元分配( VmAllocationPolicy )l带宽分配( BwProvisioner )l内存资源分配( RamProvisioner )l总线时间分配( PeProvisioner )l这是与程序员距离很近的一部分l继承这些类,实现自己的分配策略l例如虚拟机的主机分配( VmAllocationPolicy )l这个策略寻找能满足Vm需求的Host,然后把Vm创建到这个Host上。l其核心函数是lpublic abstract boolean allocateHostForVm(Vm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论