CloudSim Plus任务调度策略对比
顺序调度策略
描述: 将一组任务顺序分配给一组虚拟机
实现代码:
private void bindCloudletToVmsRoundRobin(){int vmNumber = vmList.size();int index = 0;for (Cloudlet cloudlet : cloudletList) {cloudlet.setVm(vmList.get(index));index = (index + 1) % vmNumber;}}
贪心调度策略
描述: 定义一个矩阵time[i][j]
,表示任务i
在虚拟机j
所需的执行时间,显然time[i][j] = MI[i] / MIPS[j]
。在初始化矩阵time
前,首先将任务按MI
的大小降序排序,将虚拟机按MIPS
的大小升序排列。注意,重新排序后矩阵time
的行号和任务ID
不再一一对应,列号和虚拟机ID
的对应关系也相应改变。初始化后,矩阵time
的每一行、每一列的元素值都是降序排列的,然后对time
做贪心。选用的贪心策略是:从矩阵中行号为0的任务开始,每次都尝试分配给最后一列对应的虚拟机,如果该选择相对于其他选择是最优的,就完成分配,否则将任务分配给运行任务最少的虚拟机,实现一种简单的负载均衡。这种方式反映了越复杂的任务需要更快的虚拟机来处理,以解决复杂任务造成的瓶颈,降低所有任务的总执行时间。
实现代码:
private void bindCloudletToVmsTimeAwared(){int vmNum = vmList.size();int cloudletNum = cloudletList.size();double[][] time = new double[cloudletNum][vmNum];vmList.sort(Comparator.comparing(Vm::getTotalMipsCapacity));cloudletList.sort(Comparator.comparing(Cloudlet::getTotalLength).reversed());for (int i = 0; i < cloudletNum; i++) {for (int j = 0; j < vmNum; j++) {time[i][j] = cloudletList.get(i).getTotalLength() / vmList.get(j).getTotalMipsCapacity();}}double[] vmLoad = new double[vmNum];int[] vmTask = new int[vmNum];double minLoad = 0;int index = 0;vmLoad[vmNum-1] = time[0][vmNum-1];vmTask[vmNum-1] = 1;cloudletList.get(0).setVm(vmList.get(vmNum-1));for (int i = 0; i < cloudletNum; i++) {minLoad = vmLoad[vmNum-1] + time[i][vmNum-1];index = vmNum - 1;for (int j = vmNum -2; j >= 0; j--) {if (vmLoad[j] == 0) {if (minLoad >= time[i][j]){index = j;}break;}if (minLoad > vmLoad[j] + time[i][j]){minLoad = vmLoad[j] + time[i][j];index = j;} else if (minLoad == vmLoad[j] + time[i][j] && vmTask[j] < vmTask[index]){index = j;}}vmLoad[index] += time[i][index];vmTask[index]++;cloudletList.get(i).setVm(vmList.get(index));}}
仿真实验结果
顺序策略
INFO
================== Starting CloudSim Plus 6.3.7 ==================INFO 0.00: DatacenterSimple1 is starting...
INFO DatacenterBrokerSimple2 is starting...
INFO Entities started.
INFO 0.00: DatacenterBrokerSimple2: List of 1 datacenters(s) received.
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 0 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 1 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 2 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 3 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 4 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 5 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 6 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 7 in DatacenterSimple1
INFO 0.00: VmAllocationPolicySimple: Vm 0 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 1 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 2 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 3 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 4 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 5 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 6 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 7 has been allocated to Host 0/DC 1
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 0 to Vm 0 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 1 to Vm 1 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 2 to Vm 2 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 3 to Vm 3 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 4 to Vm 4 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 5 to Vm 5 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 6 to Vm 6 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 7 to Vm 7 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 8 to Vm 0 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 9 to Vm 1 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 10 to Vm 2 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 11 to Vm 3 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 12 to Vm 4 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 13 to Vm 5 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 14 to Vm 6 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 15 to Vm 7 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 16 to Vm 0 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 17 to Vm 1 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 18 to Vm 2 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 19 to Vm 3 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: All waiting Cloudlets submitted to some VM.
INFO 0.61: DatacenterBrokerSimple2: Cloudlet 6 finished in Vm 6 and returned to broker.
INFO 0.96: DatacenterBrokerSimple2: Cloudlet 7 finished in Vm 7 and returned to broker.
INFO 1.75: DatacenterBrokerSimple2: Cloudlet 1 finished in Vm 1 and returned to broker.
INFO 2.89: DatacenterBrokerSimple2: Cloudlet 14 finished in Vm 6 and returned to broker.
INFO 3.18: DatacenterBrokerSimple2: Cloudlet 0 finished in Vm 0 and returned to broker.
INFO 3.60: DatacenterBrokerSimple2: Cloudlet 15 finished in Vm 7 and returned to broker.
INFO 4.37: DatacenterBrokerSimple2: Cloudlet 5 finished in Vm 5 and returned to broker.
INFO 4.92: DatacenterBrokerSimple2: Cloudlet 2 finished in Vm 2 and returned to broker.
INFO 6.12: DatacenterBrokerSimple2: Cloudlet 9 finished in Vm 1 and returned to broker.
INFO 6.34: DatacenterBrokerSimple2: Cloudlet 8 finished in Vm 0 and returned to broker.
INFO 6.78: DatacenterBrokerSimple2: Cloudlet 3 finished in Vm 3 and returned to broker.
INFO 7.33: DatacenterBrokerSimple2: Cloudlet 13 finished in Vm 5 and returned to broker.
INFO 9.44: DatacenterBrokerSimple2: Cloudlet 16 finished in Vm 0 and returned to broker.
INFO 10.78: DatacenterBrokerSimple2: Cloudlet 11 finished in Vm 3 and returned to broker.
INFO 12.78: DatacenterBrokerSimple2: Cloudlet 4 finished in Vm 4 and returned to broker.
INFO 13.31: DatacenterBrokerSimple2: Cloudlet 17 finished in Vm 1 and returned to broker.
INFO 14.98: DatacenterBrokerSimple2: Cloudlet 10 finished in Vm 2 and returned to broker.
INFO 19.20: DatacenterBrokerSimple2: Cloudlet 19 finished in Vm 3 and returned to broker.
INFO 19.95: DatacenterBrokerSimple2: Cloudlet 18 finished in Vm 2 and returned to broker.
INFO 30.11: DatacenterBrokerSimple2: Cloudlet 12 finished in Vm 4 and returned to broker.
INFO 30.12: Processing last events before simulation shutdown.
INFO 30.12: DatacenterBrokerSimple2 is shutting down...
INFO 30.12: DatacenterBrokerSimple2: Requesting Vm 7 destruction.
INFO 30.12: DatacenterBrokerSimple2: Requesting Vm 6 destruction.
INFO 30.12: DatacenterBrokerSimple2: Requesting Vm 5 destruction.
INFO 30.12: DatacenterBrokerSimple2: Requesting Vm 4 destruction.
INFO 30.12: DatacenterBrokerSimple2: Requesting Vm 3 destruction.
INFO 30.12: DatacenterBrokerSimple2: Requesting Vm 2 destruction.
INFO 30.12: DatacenterBrokerSimple2: Requesting Vm 1 destruction.
INFO 30.12: DatacenterBrokerSimple2: Requesting Vm 0 destruction.
INFO 30.12: DatacenterSimple: Vm 7 destroyed on Host 0/DC 1.
INFO 30.12: DatacenterSimple: Vm 6 destroyed on Host 0/DC 1.
INFO 30.12: DatacenterSimple: Vm 5 destroyed on Host 0/DC 1.
INFO 30.12: DatacenterSimple: Vm 4 destroyed on Host 0/DC 1.
INFO 30.12: DatacenterSimple: Vm 3 destroyed on Host 0/DC 1.
INFO 30.12: DatacenterSimple: Vm 2 destroyed on Host 0/DC 1.
INFO 30.12: DatacenterSimple: Vm 1 destroyed on Host 0/DC 1.
INFO 30.12: DatacenterSimple: Vm 0 destroyed on Host 0/DC 1.
INFO Simulation: No more future eventsINFO CloudInformationService0: Notify all CloudSim Plus entities to shutdown.INFO
================== Simulation finished at time 30.12 ==================DEBUG DeferredQueue >> max size: 19 added to middle: 0 added to tail: 200SIMULATION RESULTSCloudlet|Status |DC|Host|Host PEs |VM|VM PEs |VM PEs |CloudletLen|CloudletPEs|StartTime|FinishTime|ExecTimeID| |ID| ID|CPU cores|ID|CPU cores| MIPS| MI| CPU cores| Seconds| Seconds| Seconds
---------------------------------------------------------------------------------------------------------------6|SUCCESS| 1| 0| 8| 6| 1| 8238.0| 5007| 1| 0.00| 0.61| 0.617|SUCCESS| 1| 0| 8| 7| 1| 8942.0| 8531| 1| 0.00| 0.96| 0.961|SUCCESS| 1| 0| 8| 1| 1| 2985.0| 5187| 1| 0.00| 1.75| 1.7514|SUCCESS| 1| 0| 8| 6| 1| 8238.0| 18623| 1| 0.62| 2.89| 2.270|SUCCESS| 1| 0| 8| 0| 1| 6739.0| 21330| 1| 0.00| 3.18| 3.1815|SUCCESS| 1| 0| 8| 7| 1| 8942.0| 23437| 1| 0.96| 3.60| 2.635|SUCCESS| 1| 0| 8| 5| 1| 8236.0| 35912| 1| 0.00| 4.37| 4.372|SUCCESS| 1| 0| 8| 2| 1| 3513.0| 17247| 1| 0.00| 4.92| 4.929|SUCCESS| 1| 0| 8| 1| 1| 2985.0| 13010| 1| 1.75| 6.12| 4.378|SUCCESS| 1| 0| 8| 0| 1| 6739.0| 21281| 1| 3.18| 6.34| 3.173|SUCCESS| 1| 0| 8| 3| 1| 4704.0| 31823| 1| 0.00| 6.78| 6.7813|SUCCESS| 1| 0| 8| 5| 1| 8236.0| 24262| 1| 4.37| 7.33| 2.9616|SUCCESS| 1| 0| 8| 0| 1| 6739.0| 20712| 1| 6.35| 9.44| 3.0811|SUCCESS| 1| 0| 8| 3| 1| 4704.0| 18801| 1| 6.78| 10.78| 4.014|SUCCESS| 1| 0| 8| 4| 1| 1638.0| 20894| 1| 0.00| 12.78| 12.7817|SUCCESS| 1| 0| 8| 1| 1| 2985.0| 21426| 1| 6.13| 13.31| 7.1910|SUCCESS| 1| 0| 8| 2| 1| 3513.0| 35315| 1| 4.92| 14.98| 10.0619|SUCCESS| 1| 0| 8| 3| 1| 4704.0| 39488| 1| 10.79| 19.20| 8.4018|SUCCESS| 1| 0| 8| 2| 1| 3513.0| 17378| 1| 14.99| 19.95| 4.9612|SUCCESS| 1| 0| 8| 4| 1| 1638.0| 28379| 1| 12.78| 30.11| 17.33
---------------------------------------------------------------------------------------------------------------
贪心策略
INFO
================== Starting CloudSim Plus 6.3.7 ==================INFO 0.00: DatacenterSimple1 is starting...
INFO DatacenterBrokerSimple2 is starting...
INFO Entities started.
INFO 0.00: DatacenterBrokerSimple2: List of 1 datacenters(s) received.
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 0 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 1 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 2 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 3 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 4 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 5 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 6 in DatacenterSimple1
INFO 0.00: DatacenterBrokerSimple2: Trying to create Vm 7 in DatacenterSimple1
INFO 0.00: VmAllocationPolicySimple: Vm 0 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 1 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 2 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 3 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 4 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 5 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 6 has been allocated to Host 0/DC 1
INFO 0.00: VmAllocationPolicySimple: Vm 7 has been allocated to Host 0/DC 1
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 0 to Vm 6 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 1 to Vm 5 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 2 to Vm 4 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 3 to Vm 7 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 4 to Vm 6 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 5 to Vm 3 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 6 to Vm 2 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 7 to Vm 1 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 8 to Vm 0 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 9 to Vm 4 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 10 to Vm 5 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 11 to Vm 7 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 12 to Vm 6 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 13 to Vm 2 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 14 to Vm 3 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 15 to Vm 5 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 16 to Vm 4 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 17 to Vm 1 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 18 to Vm 5 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: Sending Cloudlet 19 to Vm 0 in Host 0/DC 1.
INFO 0.00: DatacenterBrokerSimple2: All waiting Cloudlets submitted to some VM.
INFO 5.65: DatacenterBrokerSimple2: Cloudlet 3 finished in Vm 7 and returned to broker.
INFO 6.19: DatacenterBrokerSimple2: Cloudlet 0 finished in Vm 6 and returned to broker.
INFO 7.83: DatacenterBrokerSimple2: Cloudlet 2 finished in Vm 4 and returned to broker.
INFO 7.95: DatacenterBrokerSimple2: Cloudlet 1 finished in Vm 5 and returned to broker.
INFO 8.45: DatacenterBrokerSimple2: Cloudlet 11 finished in Vm 7 and returned to broker.
INFO 10.21: DatacenterBrokerSimple2: Cloudlet 6 finished in Vm 2 and returned to broker.
INFO 10.40: DatacenterBrokerSimple2: Cloudlet 5 finished in Vm 3 and returned to broker.
INFO 11.77: DatacenterBrokerSimple2: Cloudlet 7 finished in Vm 1 and returned to broker.
INFO 11.86: DatacenterBrokerSimple2: Cloudlet 10 finished in Vm 5 and returned to broker.
INFO 11.86: DatacenterBrokerSimple2: Cloudlet 4 finished in Vm 6 and returned to broker.
INFO 11.90: DatacenterBrokerSimple2: Cloudlet 9 finished in Vm 4 and returned to broker.
INFO 12.40: DatacenterBrokerSimple2: Cloudlet 8 finished in Vm 0 and returned to broker.
INFO 13.34: DatacenterBrokerSimple2: Cloudlet 14 finished in Vm 3 and returned to broker.
INFO 13.51: DatacenterBrokerSimple2: Cloudlet 15 finished in Vm 5 and returned to broker.
INFO 13.57: DatacenterBrokerSimple2: Cloudlet 16 finished in Vm 4 and returned to broker.
INFO 13.90: DatacenterBrokerSimple2: Cloudlet 12 finished in Vm 6 and returned to broker.
INFO 14.20: DatacenterBrokerSimple2: Cloudlet 13 finished in Vm 2 and returned to broker.
INFO 14.48: DatacenterBrokerSimple2: Cloudlet 17 finished in Vm 1 and returned to broker.
INFO 14.56: DatacenterBrokerSimple2: Cloudlet 19 finished in Vm 0 and returned to broker.
INFO 14.79: DatacenterBrokerSimple2: Cloudlet 18 finished in Vm 5 and returned to broker.
INFO 14.80: Processing last events before simulation shutdown.
INFO 14.80: DatacenterBrokerSimple2 is shutting down...
INFO 14.80: DatacenterBrokerSimple2: Requesting Vm 7 destruction.
INFO 14.80: DatacenterBrokerSimple2: Requesting Vm 6 destruction.
INFO 14.80: DatacenterBrokerSimple2: Requesting Vm 5 destruction.
INFO 14.80: DatacenterBrokerSimple2: Requesting Vm 4 destruction.
INFO 14.80: DatacenterBrokerSimple2: Requesting Vm 3 destruction.
INFO 14.80: DatacenterBrokerSimple2: Requesting Vm 2 destruction.
INFO 14.80: DatacenterBrokerSimple2: Requesting Vm 1 destruction.
INFO 14.80: DatacenterBrokerSimple2: Requesting Vm 0 destruction.
INFO 14.80: DatacenterSimple: Vm 7 destroyed on Host 0/DC 1.
INFO 14.80: DatacenterSimple: Vm 6 destroyed on Host 0/DC 1.
INFO 14.80: DatacenterSimple: Vm 5 destroyed on Host 0/DC 1.
INFO 14.80: DatacenterSimple: Vm 4 destroyed on Host 0/DC 1.
INFO 14.80: DatacenterSimple: Vm 3 destroyed on Host 0/DC 1.
INFO 14.80: DatacenterSimple: Vm 2 destroyed on Host 0/DC 1.
INFO 14.80: DatacenterSimple: Vm 1 destroyed on Host 0/DC 1.
INFO 14.80: DatacenterSimple: Vm 0 destroyed on Host 0/DC 1.
INFO Simulation: No more future eventsINFO CloudInformationService0: Notify all CloudSim Plus entities to shutdown.INFO
================== Simulation finished at time 14.80 ==================DEBUG DeferredQueue >> max size: 19 added to middle: 0 added to tail: 222SIMULATION RESULTSCloudlet|Status |DC|Host|Host PEs |VM|VM PEs |VM PEs |CloudletLen|CloudletPEs|StartTime|FinishTime|ExecTimeID| |ID| ID|CPU cores|ID|CPU cores| MIPS| MI| CPU cores| Seconds| Seconds| Seconds
---------------------------------------------------------------------------------------------------------------3|SUCCESS| 1| 0| 8| 7| 1| 8129.0| 45902| 1| 0.00| 5.65| 5.650|SUCCESS| 1| 0| 8| 6| 1| 8051.0| 49760| 1| 0.00| 6.19| 6.192|SUCCESS| 1| 0| 8| 4| 1| 5899.0| 46114| 1| 0.00| 7.83| 7.831|SUCCESS| 1| 0| 8| 5| 1| 6029.0| 47863| 1| 0.00| 7.95| 7.9511|SUCCESS| 1| 0| 8| 7| 1| 8129.0| 22652| 1| 5.66| 8.45| 2.806|SUCCESS| 1| 0| 8| 2| 1| 3770.0| 38452| 1| 0.00| 10.21| 10.215|SUCCESS| 1| 0| 8| 3| 1| 3794.0| 39416| 1| 0.00| 10.40| 10.407|SUCCESS| 1| 0| 8| 1| 1| 3244.0| 38160| 1| 0.00| 11.77| 11.7710|SUCCESS| 1| 0| 8| 5| 1| 6029.0| 23515| 1| 7.95| 11.86| 3.914|SUCCESS| 1| 0| 8| 6| 1| 8051.0| 45564| 1| 6.19| 11.86| 5.679|SUCCESS| 1| 0| 8| 4| 1| 5899.0| 23958| 1| 7.83| 11.90| 4.078|SUCCESS| 1| 0| 8| 0| 1| 2873.0| 35583| 1| 0.00| 12.40| 12.4014|SUCCESS| 1| 0| 8| 3| 1| 3794.0| 11134| 1| 10.40| 13.34| 2.9415|SUCCESS| 1| 0| 8| 5| 1| 6029.0| 9909| 1| 11.86| 13.51| 1.6516|SUCCESS| 1| 0| 8| 4| 1| 5899.0| 9796| 1| 11.90| 13.57| 1.6712|SUCCESS| 1| 0| 8| 6| 1| 8051.0| 16374| 1| 11.86| 13.90| 2.0413|SUCCESS| 1| 0| 8| 2| 1| 3770.0| 14989| 1| 10.21| 14.20| 3.9917|SUCCESS| 1| 0| 8| 1| 1| 3244.0| 8727| 1| 11.77| 14.48| 2.7119|SUCCESS| 1| 0| 8| 0| 1| 2873.0| 6194| 1| 12.40| 14.56| 2.1718|SUCCESS| 1| 0| 8| 5| 1| 6029.0| 7622| 1| 13.51| 14.79| 1.27
---------------------------------------------------------------------------------------------------------------
任务的总执行时间
描述: 两种调度方式均重复执行十次实验,取平均值。
结果:
算法\实验ID | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Round Robin | 23.51 | 33.81 | 67.29 | 48.85 | 55.33 | 38.12 | 29.29 | 21.41 | 51.74 | 59.13 |
Greedy | 15.73 | 19.39 | 20.22 | 11.72 | 21.65 | 23.34 | 17.15 | 16.60 | 14.42 | 14.15 |
分析:
顺序调度策略的平均执行时间:
A v e r a g e R R = 42.45 \text Average_{RR}=\text {42.45} AverageRR=42.45
贪心调度策略的平均执行时间:
A v e r a g e G r e e d y = 17.44 \text Average_{Greedy}=\text {17.44} AverageGreedy=17.44
总结: 贪心策略比顺序策略节省了59%的总执行时间。
参考
《分布式计算、云计算与大数据》林伟伟
CloudSim Plus任务调度策略对比相关推荐
- CloudSim云任务调度策略扩展实验
想和大家交流一下实验结果是否有问题,谢谢! 基于CloudSim平台,实现循环调度算法.遗传调度算法.Max-min和Min-min算法不同的分配策略,对比不同策略下,任务的完成时间.虚拟机负载均衡度 ...
- Yarn三种调度策略对比
理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分 ...
- 用遗传算法GA改进CloudSim自带的资源调度策略
首先理解云计算里,资源调度的含义: 看了很多云计算资源调度和任务调度方面的论文,发现很多情况下这两者的意义是相同的,不知道这两者是同一件事的不同表述还是我没分清吧,任务调度或者资源调度大概就是讲这样一 ...
- Cloudsim 3.0.3中VM调度策略系列类解析(带迁移的策略)
Cloudsim 3.0.3中VM调度策略系列类解析(带迁移的策略) 注:本文为旧文的markdown重制版 Cloudsim中VM调度策略类在DataCenter(或PowerDataCenter) ...
- linux进程调度算法:分时调度策略、FIFO调度策略、RR调度策略
原文链接:https://www.cnblogs.com/zhouhbing/p/3904827.html Linux内核的三种调度策略 一 Linux内核的三种调度策略: 1,SCHED_OTHER ...
- cloudsim中时间共享调度策略和空间共享调度策略
Cloudsim支持两个层次的vm分配:第一个层次是主机级别,即指定将为每个vm分配每个核的总处理能力:第二个层次是虚拟机级别,即虚拟机将固定数量的可用处理能力分配给在其执行引擎内托管的每个任务单元. ...
- 线程调度策略SCHED_RR(轮转法)和SCHED_FIFO(先进先出)之对比
我们在用pthread创建线程时,可以指定调度策略policy--SCHED_OTHER(默认).SCHED_RR和SCHED_FIFO.这里TALK一下两个实时策略--SCHED_RR和SCHED_ ...
- 云计算仿真框架CloudSim介绍
幻灯片1 云计算仿真框架CloudSim介绍 jiangzw#ihep.ac.cn (以下为本人某次报告做的调研的PPT及其它一些实践记录,为保证清晰度,一些插入的图片较大,可在新标签页中打开) ( ...
- CloudSim 4.0源码阅读笔记(功耗实例)
文章目录 一.NonPowerAware案例 1.1 基本概述 1.2 云任务/虚机/主机/功耗模型参数设置 1.3 初始化云任务(CloudletList)-如何载入自定义真实数据集中的CPU利用率 ...
最新文章
- Java项目:CRM客户管理系统(java+SSM+jsp+mysql+maven)
- cell 滑动实现旋转动画效果
- 设备文件的创建mknod
- C:\Python27\python.exe: can't open file '2.py': [Errno 2] No such file or directory
- Cordova入门系列(三)Cordova插件调用 转发 https://www.cnblogs.com/lishuxue/p/6018416.html...
- 自定义view实现水波纹效果
- 阿里要拆分“大中台”模式?王欣马桶 MT 更名“好记”;苹果支付高通 47 亿美元和解金 | 极客头条...
- FFmpeg源代码简单分析:avcodec_close()
- 贺利坚老师汇编课程28笔记:在代码段使用数据加个标号start
- emacs+cedet解析源码定义位置
- 长春会展中心11月5日招聘会部分信息
- effective python pdf下载-《Effective Python》电子书pdf下载百度网盘
- 软件项目管理六要素分别是什么?
- 人生成绩单97php,2020年国际国内正赛男乒成绩单,樊振东冠军最多。
- Rust REPL Jupyter notebook
- 有价值项目分享,缺项目可直接搜索(持续更新中)
- 【p4】perforce命令笔记
- CAN总线接口静电保护及ESD二极管选型
- 天嵌科技携手爱板网推出年终活动
- 博图在线升级 gsd_美生在线消费全返张鹏海外大举收割国内韭菜。
热门文章
- Python知道cos值求角度_机械臂正运动学-DH参数-Python快速实现
- mysql 合并函数_MySQL GROUP_CONCAT()函数 -- 字段合并查询
- 搜集网络上比较好的中文语料库
- 绝世舞姬计算机弹音乐,绝世舞姬(伴奏)
- 自制jlink-ob
- Android开发未来的出路何在,android学习路线图
- 固定资产管理系统如何简化固定资产管理和盘点工作?
- 链接下载(在线链接下载)
- centos7.x 搭建php运行环境
- GitHub新手用法详解【适合新手入门-建议收藏!!!】