cloudsim模拟云计算
Cloudsim是墨尔本大学开发的模拟云计算的工具,相信你在论文中已经读到不少了,这里不多说了按照cloudSim程序中给出的例子,这里列举一下进行模拟的步骤。1、第一步初始化CloudSim,这一步在每次模拟之前都要被执行直接调用Cloudsim.init()函数,是个静态方法2、第二步创建数据中心(发现创建之后不需要调用,后续继续研究) 1)创建一
Cloudsim是墨尔本大学开发的模拟云计算的工具,相信你在论文中已经读到不少了,这里不多说了
按照cloudSim程序中给出的例子,这里列举一下进行模拟的步骤。
1、第一步
初始化CloudSim,这一步在每次模拟之前都要被执行
直接调用Cloudsim.init()函数,是个静态方法,有三个参数,不需要考虑很多
2、第二步
创建数据中心(发现创建之后不需要调用,后续继续研究)
1)创建一个主机列表 List<Host>
2)创建Pe(CPU)列表,一个Host含有一个List<Pe>, Pe需要指定计算能力,用MIPS来表示
3)创建Pe并添加到List<Pe>
4)用List<Pe>创建一个Host,并添加到List<Host>。Host的构造函数为:
new Host(
hostId,
new RamProvisionerSimple(ram),
new BwProvisionerSimple(bw),
storage,
peList,
new VmSchedulerTimeShared(peList)
)
VmSchedulerTimeShared表示虚拟机使用时分方式共享物理机CPU。
5)创建DatacenterCharacteristics,跟物理机架构相关,不怎么重要
6)创建datacenter.代码为:
Datacenter datacenter = null;
try {
datacenter = new Datacenter(name, characteristics, new VmAllocationPolicySimple(hostList), storageList, 0);
} catch (Exception e) {
e.printStackTrace();
}
VmAllocationPolicySimple表示将VM分配到已经使用Pe最少的物理机中,
这个是需要重点实现的类。
3、第三步
创建用户代理DatacenterBroker,DatacenterBroker代表一个用户,用来提交List<Vm>,List<CloudLet>等。
4、第四步
创建虚拟机Vm,指定计算能力(用MIPS表示)、内存、硬盘、带宽、CPU数。添加到List<Vm>,并让代理提交。
5、第五步
创建Cloudlet,Cloudlet是基于云计算的任务,可以认为是应用。需要指定length,length就是MIPS数(准确的说是指令数),添加到List<CloudLet>,并让代理提交。
Cloudlet可以设置用户ID(Broker的ID)表示拥有这个Cloudlet的用户,或者设置Vm ID,表示运行这个Cloudlet的VM.
6、第六步
开始模拟,并打印结果
更多推荐
所有评论(0)