Class CloudletSchedulerSpaceShared
java.lang.Object
org.cloudbus.cloudsim.schedulers.cloudlet.CloudletSchedulerAbstract
org.cloudbus.cloudsim.schedulers.cloudlet.CloudletSchedulerSpaceShared
- All Implemented Interfaces:
Serializable
,CloudletScheduler
Implements a policy of scheduling performed by a
virtual machine 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 Cloudlet starts executing. I.e., 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.
- 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.cloudbus.cloudsim.schedulers.cloudlet.CloudletScheduler
LOGGER, NULL
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
The space-shared scheduler does not share the CPU time between executing cloudlets.double
cloudletResume
(Cloudlet cloudlet) Resumes execution of a paused cloudlet.Methods inherited from class org.cloudbus.cloudsim.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, getCloudletFailedList, getCloudletFinishedList, getCloudletList, getCloudletPausedList, getCloudletReturnedList, getCloudletSubmittedList, getCloudletWaitingList, getCurrentMipsShare, getCurrentRequestedBwPercentUtilization, getCurrentRequestedRamPercentUtilization, getFreePes, getPreviousTime, getRequestedCpuPercent, getRequestedMipsForCloudlet, getTaskScheduler, getUsedPes, getVm, hasFinishedCloudlets, isEmpty, isThereEnoughFreePesForCloudlet, isThereTaskScheduler, moveNextCloudletsFromWaitingToExecList, removeCloudletFromExecList, removeOnCloudletResourceAllocationFail, setCurrentMipsShare, setPreviousTime, setTaskScheduler, setVm, sortCloudletWaitingList, timeSpan, updateCloudletProcessing, updateProcessing
-
Constructor Details
-
CloudletSchedulerSpaceShared
public CloudletSchedulerSpaceShared()
-
-
Method Details
-
cloudletResume
Description copied from interface:CloudletScheduler
Resumes 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:
canExecuteCloudletInternal
in classCloudletSchedulerAbstract
- Parameters:
cle
-- Returns:
- See Also:
-
CloudletSchedulerAbstract.canExecuteCloudlet(CloudletExecution)
-