博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CloudSim学习
阅读量:6425 次
发布时间:2019-06-23

本文共 1662 字,大约阅读时间需要 5 分钟。

CloudSim

  • CloudSim是墨尔本大学云计算和分布式系统实验室推出的云计算模拟软件。它可以使研究者规避实际部署的诸多不便(比如说资金缺乏等因素),在单机上即可实现对大规模云集群的模拟和相应算法的测试。好了,闲话少说。下面,我将分节对CloudSim的使用和学习心得进行一个简单的介绍。

CloudSim入门

下面介绍的例子以cloudSim中的示例程序为主,cloudSim版本为3.0.3.

1. 重点介绍的几个基础类:
  • Cloudlet
    对应的是云端的应用
  • Vm
    对应的是虚拟机,封装了虚拟机的属性和行为
  • Broker
    对应的是用户代理,是云端用户的代表.包括虚拟机和云应用在内的资源都要绑定到Broker.
  • Host
    对应的是物理主机
  • Datacenter
    对应的是数据中心,所有的物理主机资源必须绑定到数据中心.数据中心至少要创建1个.
2. 进行模拟编程的基本步骤:
  • 初始化CloudSim
  • 创建数据中心Datacenter
  • 创建用户代理Broker
  • 创建虚拟机Vm
  • 创建应用Cloudlet
  • 将云端应用绑定到指定的虚拟机
  • 开启模拟仿真
  • 结束模拟仿真
  • 打印输出
3. 物理主机的创建

需要的参数 @parameter :

  1. 主机编号;
  2. 内存;
  3. 网络带宽;
  4. 外存容量;
  5. cpu列表;
  6. 虚拟机调度策略(主机上的)

    new Host(         hostId,         new RamProvisionerSimple(ram),         new BwProvisionerSimple(bw),         storage,         peList,         new VmSchedulerTimeShared(peList)         );
4. 数据中心的创建

首先创建数据中心特性:

需要的参数 @parameter :

  1. 主机架构
  2. 操作系统
  3. 虚拟机监视器种类
  4. 时区
  5. cpu的使用费用
  6. 内存的使用费用
  7. 外存的使用费用
  8. 带宽的使用费用

    new DatacenterCharacteristics(         arch, os, vmm, hostList, time_zone, cost, costPerMem,         costPerStorage, costPerBw);

创建数据中心:

  1. 数据中心的名字
  2. 数据中心特性
  3. 虚拟机的创建策略
  4. 存储设备列表

    new Datacenter(name, characteristics, new VmAllocationPolicySimple(hostList), storageList, 0);
5. 虚拟机的创建

需要的参数 @parameter:

  1. 虚拟机编号
  2. 用户
  3. MIPS(Tips:CPU是由MIPS来标定其计算能力的)
  4. 镜像大小(MB)
  5. 内存大小(MB)
  6. 网络带宽
  7. cpu数量
  8. 虚拟机监视器类型
  9. 应用调度策略(虚拟机上的)

    new Vm(vmid, brokerId, mips, pesNumber, ram, bw, size, vmm, new CloudletSchedulerTimeShared());
6. 应用的创建

需要的参数 @parameter :

  1. 应用编号
  2. 执行时的应用长度(MI)
  3. 要使用到的处理器数量
  4. 提交应用前的文件大小(byte)
  5. 应用执行完成后的文件大小(byte)
  6. cpu的使用模型/策略
  7. ram的使用模型/策略
  8. 网络带宽的使用模型/策略

    new Cloudlet(id, length, pesNumber, fileSize, outputSize, utilizationModel, utilizationModel, utilizationModel);
7. 用户的创建

一般情况下,Broker的创建需要自定义以适应不同的用户策略.

转载于:https://www.cnblogs.com/litengyao/p/4650783.html

你可能感兴趣的文章
在Cacti上实现MSN报警机制
查看>>
如何对C++虚基类构造函数
查看>>
XFire WebService开发快速起步
查看>>
JavaScript 函数replace揭秘
查看>>
QTP解决内嵌IE窗体方法2
查看>>
“王子”的演讲:N828印象
查看>>
判断JS字符串中是否包含某些字符
查看>>
Phalanger---PHP的.NET编译器
查看>>
Scanner----java控制台和文件读取的利器(java 5新增)
查看>>
如何安全设定和检测你的密码安全性?
查看>>
一例HP ADG数据恢复成功(8×73GB SCSI)
查看>>
虚拟化系列-Citrix XenServer 6.1 XenMotion与HA
查看>>
TFS创建团队项目(三)
查看>>
对发展的一点小感想
查看>>
示例化讲解RIP路由更新机制
查看>>
eclipse不能自动编译工程的解决方法
查看>>
Powershell管理系列(九)删除Exchange用户邮箱中多余的电子邮件地址
查看>>
Swt/Jface进度条
查看>>
.NET建议使用的大小写命名原则
查看>>
Git:错误:error:src refspec master does not match any
查看>>