How to pause the cloudlet running in a VM

  • To pause and resume the cloudlets running in a VM, in Cloudlet scheduler class in “updateVmsProcessing()” method, the cloudlet chosen to pause its execution is first removed from the execution list and added in the paused list.
  • public double updateVmProcessing (double currentTime, List<Double> mipsShare) {
    …..;
    …….;
    for (ResCloudlet rcl : getCloudletExecList()) { //Cloudlet Execution list;
    ** Let the ID of the cloudlet chosen to pause is
    int cloudletId=/any id of the cloudlet to pause;
    if ( (getCloudletExecList().get(i).getCloudletId()== cloudletId) ){
    found = true;
    break;
    }
    position++;
    }
    if (found) {
    // remove cloudlet from the exec list and put it in the paused list
    ResCloudlet rcl = getCloudletExecList().remove(position);
    if (rcl.getRemainingCloudletLength() == 0) {
    cloudletFinish(rcl);
    } else {
    rcl.setCloudletStatus(Cloudlet.PAUSED);
    getCloudletPausedList().add(rcl);
    }
    }