第10章CloudSim系统设计与实现解说.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CloudSim系统设计与实现简析 目录 什么是CloudSim? CloudSim是做什么的? CloudSim做了什么? 怎么使用CloudSim? 什么是CloudSim? 云模拟器 模拟对象:云系统组件、其中的行为 作用:一个研究、开发、测试的工具 前身:GridSim、SimGridOptorSim、GangSim CloudSim是在以上基础上开发和改进 CloudSim是做什么的? 一个帮助研究、开发、测试的工具 如虚拟机资源分配算法、节能算法 比真实的云环境有很多优势 加快了算法设计与测试的速度 降低了开发成本 CloudSim做了什么? 对云系统中的各种组件进行模拟 (1)云数据中心(Datacenter) (2)物理机(Host) (3)虚拟机(VM) (4)服务代理商(DatacenterBroker) (5)任务单元(Cloudlet) (6)云信息服务(CIS) CloudSim做了什么? 对云系统中的各种行为(event)进行模拟 (1)创建VM( VM_CREATE ) (2)删除VM的数据( VM_DATA_DEL ) (3)迁移VM(VM_MIGRATE ) (4)任务提交( CLOUDLET_SUMIT ) (5)任务取消( CLOUDLET_CANCEL ) (6)....... CloudSim做了什么? 对云系统中的资源分配策略进行模拟 (1)虚拟机的主机分配( VmAllocationPolicy ) (2)带宽分配( BwProvisioner ) (3)内存资源分配( RamProvisioner ) (4)总线时间分配( PeProvisioner ) 这是与程序员距离很近的一部分 继承这些类,实现自己的分配策略 对云系统的模拟 云系统中有以下实体 Datacenter:提供基础的硬件资源 CIS:提供资源信息的注册服务 DatacenterBroker:代理商 对云系统的模拟 实体之间可以互相传递event 如: Broker Datacenter event VM_CREATE + data processEvent(event) 对云系统的模拟——实体 对云系统的模拟—Datacenter 管理了一组物理机(Host) 做为实体与其他实体进行通信方式的定义 一些基本的操作,如虚拟机的创建、删除,发送资源注册请求 虚拟机的资源分配策略 对云系统的模拟—Datacenter 对云系统的模拟—Datacenter 对云系统的模拟—Datacenter 对云系统的模拟—Datacenter 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 CloudSimTags.VM_CREATE: processVmCreate(ev, false); break; ... } } 对云系统的模拟—CIS 提供资源注册功能 资源的索引 对云系统的模拟—CIS 对云系统的模拟—Broker 模拟的是云服务的代理商 它与云服务的用户直接交互,充当用户与数据中心的中间人 屏蔽了云数据中心的内部操作 如虚拟机的创建、管理 任务单元在虚拟机上的分配 用户只需要提交自己的服务请求即可 它定义了一组操作,用于和用户与数据中心的交互 对云系统的模拟—Broker public void submitVmList(List? extends Vm list) { getVmList().addAll(list); } public void submitCloudletList(List? extends Cloudlet list){ getCloudletList().addAll(list); } public void bindCloudletToVm(int cloudletId, int vmId){ CloudletList.getById(getCloudletList(), cloudletId).setVmId(vmId); } 对云系统的模拟—Broker 对云行为的模拟—event

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档