Cloudslab / cloudsim

CloudSim: A Framework For Modeling And Simulation Of Cloud Computing Infrastructures And Services
http://www.cloudbus.org/cloudsim/
810 stars 492 forks source link

NetworkCloudletSpaceSharedScheduler and DataCenter exchange problem #84

Open wmedali opened 7 years ago

wmedali commented 7 years ago

Hello, i think it might be a probleme in the exchange between the scheduler and datacenter of networkcloudsim.

when a cloudlet is submitted by the broker, it is processed by the datacenter's method processCloudletSubmit. if the cloudlet hasn't finished execution yet, it is sent to the scheduler by the instruction

double estimatedFinishTime = scheduler.cloudletSubmit(cl, fileTransferTime);

if the VM is not currently available to process the cloudlet, the value returned by the method cloudletSubmit of NetworkCloudletSpaceSharedScheduler must be > 0 so the datacenter cand process it again if (estimatedFinishTime > 0.0 && !Double.isInfinite(estimatedFinishTime)) { estimatedFinishTime += fileTransferTime; send(getId(), estimatedFinishTime, CloudSimTags.VM_DATACENTER_EVENT); }

The issue here is that the method cloudletSubmit returns 0.0 in case of there not enough pes and the cloudlet goes to the queue list

else { ResCloudlet rcl = new ResCloudlet(cloudlet); rcl.setCloudletStatus(Cloudlet.QUEUED); getCloudletWaitingList().add(rcl); return 0.0; }