Class CloudletSchedulerSpaceShared
java.lang.Object
org.cloudsimplus.schedulers.cloudlet.CloudletSchedulerAbstract
org.cloudsimplus.schedulers.cloudlet.CloudletSchedulerSpaceShared
- All Implemented Interfaces:
Serializable,CloudletScheduler
Implements a policy of scheduling performed by a
Vm to run its Cloudlets. It considers there
will be only one Cloudlet per VM. Other Cloudlets will be in a waiting list.
It also considers that the time to transfer Cloudlets to the Vm happens
before the Cloudlets start executing. That is, even though Cloudlets must wait for
CPU, data transfer happens as soon as Cloudlets are submitted.
This scheduler does not consider Cloudlets priorities to define execution
order. If actual priorities are defined for Cloudlets, they are just ignored
by the scheduler.
Check CloudletSchedulerCompletelyFair for a more realistic, priority-aware scheduler,
but also more computationally complex.
- Since:
- CloudSim Toolkit 1.0
- Author:
- Rodrigo N. Calheiros, Anton Beloglazov, Manoel Campos da Silva Filho
- See Also:
-
Field Summary
Fields inherited from interface org.cloudsimplus.schedulers.cloudlet.CloudletScheduler
LOGGER, NULL -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanThe space-shared scheduler does not share the CPU time between executing cloudlets.doublecloudletResume(Cloudlet cloudlet) Resumes execution of a paused cloudlet.Methods inherited from class org.cloudsimplus.schedulers.cloudlet.CloudletSchedulerAbstract
addCloudletToExecList, addCloudletToReturnedList, addCloudletToWaitingList, addOnCloudletResourceAllocationFail, addWaitingCloudletToExecList, clear, cloudletCancel, cloudletEstimatedFinishTime, cloudletFail, cloudletFinish, cloudletPause, cloudletReady, cloudletSubmit, cloudletSubmit, cloudletSubmitInternal, deallocatePesFromVm, enableCloudletSubmittedList, findCloudletInAllLists, findCloudletInList, findSuitableWaitingCloudlet, getAllocatedCpuPercent, getAllocatedMipsForCloudlet, getAllocatedMipsForCloudlet, getAvailableMipsByPe, getCloudletExecList, getCloudletList, getCloudletReturnedList, getCloudletSubmittedList, getCloudletWaitingList, getCurrentRequestedBwPercentUtilization, getCurrentRequestedRamPercentUtilization, getFreePes, getRequestedCpuPercent, getRequestedMipsForCloudlet, getUsedPes, hasFinishedCloudlets, isEmpty, isThereEnoughFreePesForCloudlet, isThereTaskScheduler, moveNextCloudletsFromWaitingToExecList, removeCloudletFromExecList, removeOnCloudletResourceAllocationFail, setCurrentMipsShare, setPreviousTime, setTaskScheduler, setVm, sortCloudletWaitingList, updateCloudletProcessing, updateProcessingMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.cloudsimplus.schedulers.cloudlet.CloudletScheduler
getCloudletFinishedList, getPreviousTime, getTaskScheduler, getVm, isCloudletSubmittedListEnabled
-
Constructor Details
-
CloudletSchedulerSpaceShared
public CloudletSchedulerSpaceShared()
-
-
Method Details
-
cloudletResume
Description copied from interface:CloudletSchedulerResumes execution of a paused cloudlet.- Parameters:
cloudlet- the cloudlet being resumed- Returns:
- expected finish time of the cloudlet, 0.0 if queued or not found in the paused list
-
canExecuteCloudletInternal
The space-shared scheduler does not share the CPU time between executing cloudlets. Each CPU (Pe) is used by another Cloudlet just when the previous Cloudlet using it has finished executing completely. By this way, if there are more Cloudlets than PEs, some Cloudlet will not be allowed to start executing immediately.- Specified by:
canExecuteCloudletInternalin classCloudletSchedulerAbstract- Parameters:
cle-- Returns:
- See Also:
-