Я пытаюсь реализовать алгоритм циклического перебора в cloudim.
Принимая среднее значение как квант времени, и каждое облачко должно работать на заданный квант времени в каждом раунде.
В каждом раунде, симуляция должна начинаться и стоп.
С приведенным ниже кодом я получаю ошибку.
Кто-нибудь может мне помочь в этом?
while(round<2)
{
round++;
temp_cloudletList = cloudletList;
sum=0;
for(int i =0;i<total_cloudlets;i++)
{
sum = sum + (int)(cloudletList.get(i).getCloudletLength());
}
mean = (int) Math.ceil(sum/no_of_cloudlets);
for(int i =0;i<total_cloudlets;i++){
cur = (int) cloudletList.get(i).getCloudletLength();
if(cur>0){
if(cur>mean){
temp_cloudletList.get(i).setCloudletLength(mean);
cloudletList.get(i).setCloudletLength(cur-mean);
}
else{
temp_cloudletList.get(i).setCloudletLength(cur);
cloudletList.get(i).setCloudletLength(0);
no_of_cloudlets--;
}
}
}
broker.submitCloudletList(temp_cloudletList);
// Fifth step: Starts the simulation
CloudSim.startSimulation();
// Final step: Print results when simulation is over
List<Cloudlet> newList = broker.getCloudletReceivedList();
printCloudletList(newList);
Log.printLine("Round "+round+" finished! with mean:"+mean);
CloudSim.stopSimulation();
}
Вот ошибка
java .lang.NullPointerException Симуляция была прервана из-за непредвиденной ошибки в org.cloudbus.cloudsim.core.CloudSim.runStart (CloudSim. java: 814) в org.cloudbus.cloudsim.core.CloudSim.run ( CloudSim. java: 879) в org.cloudbus.cloudsim.core.CloudSim.startSimulation (CloudSim. java: 188) в org.cloudbus.cloudsim.examples.CloudSimExample6.main (CloudSimExample6. java: 179).