(1) 初始化GridSim 库
CloudSim.init(num_user, calendar, trace_flag);
(2) 创建数据中心,在CloudSim仿真平台中,一个数据中心由一个或多个Machine组成,一个Machine是由一个或多个PEs或CPUs组成。
Datacenter datacenter0 =createDatacenter("Datacenter_0");
(3) 创建代理Broker
DatacenterBroker broker = createBroker();
int brokerId = broker.getId();
(4) 创建虚拟机
//创建虚拟机列表
vmlist = new ArrayList<Vm>();
//创建时为虚拟机指定Broker
Vm vm = new Vm(vmid, brokerId, mips, pesNumber, ram, bw, size, vmm,
newCloudletSchedulerTimeShared());
//将虚拟机加入虚拟机列表
vmlist.add(vm);
//向相应代理Broker提交虚拟机列表
broker.submitVMList(vmlist);
(5) 创建云任务
cloudletList = newArrayList<Cloudlet>();
//创建时指定任务的用户ID,BrokerID
Cloudlet cloudlet = new Cloudlet(id, length, pesNumber, fileSize, outputSize, utilizationModel, utilizationModel,utilizationModel);
cloudlet.setUserId(brokerId);
cloudlet.setVmId(vmid);
//将任务加入任务列表
cloudletList.add(cloudlet );
//向代理Broker提交任务列表
broker.submitCloudletList(cloudletList);
(6) 启动仿真
CloudSim.startSimulation();
(7) 结束仿真
CloudSim.stopSimulation()
(8) 在仿真结束后统计结果
List<Cloudlet> newList =broker.getCloudletReceivedList();
printCloudletList(newList);
4、cloudsim仿真步骤
于 2023-01-09 22:08:05 首次发布