Interface Cloudlet
- All Superinterfaces:
ChangeableId,Comparable<Cloudlet>,CustomerEntity,ExecDelayable,Identifiable,Lifetimed,Startable,SubmissionDelayable,UniquelyIdentifiable
- All Known Implementing Classes:
CloudletAbstract,CloudletSimple,NetworkCloudlet
The interface implements the Null Object Design
Pattern in order to avoid NullPointerException
when using the NULL object instead
of attributing null to Cloudlet variables.
- Since:
- CloudSim Plus 1.0
- Author:
- Rodrigo N. Calheiros, Anton Beloglazov, Manoel Campos da Silva Filho
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final CloudletAn attribute that implements the Null Object Design Pattern forCloudletobjects.Fields inherited from interface org.cloudsimplus.core.Startable
NOT_ASSIGNED -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddFinishedLengthSoFar(long partialFinishedMI) Adds the partial length of this Cloudlet that has executed so far (in MI).addOnFinishListener(EventListener<CloudletVmEventInfo> listener) Adds a Listener object that will be notified when a cloudlet finishes its execution at a givenVm.addOnStartListener(EventListener<CloudletVmEventInfo> listener) Adds a Listener object that will be notified when the Cloudlet starts executing in someVm.Adds a Listener object that will be notified every time the processing of the Cloudlet is updated in itsVm.booleanaddRequiredFile(String fileName) Adds a file to the list or required files.booleanaddRequiredFiles(List<String> fileNames) Adds a list of files to the required files list.booleandeleteRequiredFile(String filename) Deletes the given filename from the list.Gets theDatacenterBrokerthat represents the owner of this Cloudlet.doubleGets the time the Cloudlet arrived at a Datacenter to be executed.longReturns the input file size of this Cloudlet before execution (in bytes).longGets the length of this Cloudlet that has been executed so far from the latest Datacenter (in MI).doubleGets the time when this Cloudlet has completed executing in the latest Datacenter.longgetJobId()Gets the id of the job that this Cloudlet belongs to, if any.longGets the execution length of this Cloudlet (in Million Instructions (MI)) that will be executed in each definedPe.doubleCloudlet Gets lifetime which indicates the maximum execution timeintGets the Type of Service (ToS) of IPv4 for sending Cloudlet over the network.longReturns the output file size of this Cloudlet after execution (in bytes).longGets the number of Processing Elements (Pe)s from the VM, that is required to execute this cloudlet.intGets the priority of this Cloudlet for scheduling inside a Vm.Gets the list of required files to be used by the cloudlet (if any).doubleGets the latest execution start time of this Cloudlet (in seconds).doubleGets the time (in seconds) the cloudlet had to wait before start executing on a Datacenter.doubleGets the time (in seconds) that aDatacenterBrokerwill wait to submit the entity to a Datacenter, in order to request the creation of the object.longGets the total length (across all PEs) of this Cloudlet (in MI).getUtilizationModel(Class<? extends ResourceManageable> resourceClass) Returns the utilization model for a given resource.doubleGets the utilization of Bandwidth at the current simulation time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()set for theBW utilizaton model.doublegetUtilizationOfBw(double time) Gets the utilization of Bandwidth at a given time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()defined for thegetUtilizationModelBw().doubleGets the utilization of CPU at the current simulation time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()set for theCPU utilizaton model.doublegetUtilizationOfCpu(double time) Gets the utilization of CPU at a given time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()defined for thegetUtilizationModelCpu().doubleGets the utilization of RAM at the current simulation time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()set for theRAM utilizaton model.doublegetUtilizationOfRam(double time) Gets the utilization of RAM at a given time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()defined for thegetUtilizationModelRam().getVm()booleanChecks whether this cloudlet requires any files or not.booleanChecks whether the Cloudlet is bounded to a specific Vm, meaning that theDatacenterBrokerdoesn't have to select a VM for it.booleanChecks if the Cloudlet has finished and returned to the broker, so that the broker is aware about the end of execution of the Cloudlet.default booleanChecks whether this Cloudlet is still executing.voidnotifyOnUpdateProcessingListeners(double time) Notifies all registered listeners about the update on Cloudlet processing.doubleRegister the arrival time of this Cloudlet into a Datacenter to the current simulation time and returns this time.booleanRemoves a listener from the onCloudletFinishEventListener ListbooleanRemoves a listener from the onStartListener List.booleanRemoves a listener from the onUpdateCloudletProcessingListener List.reset()Resets the state of the Cloudlet.setBroker(DatacenterBroker broker) Sets aDatacenterBrokerthat represents the owner of this Cloudlet.setFileSize(long fileSize) Sets the input file size of this Cloudlet before execution (in bytes).setJobId(long jobId) Sets the id of the job that this Cloudlet belongs to, if any.setLength(long length) Sets the execution length of this Cloudlet (in Million Instructions (MI)) that will be executed in each defined PE.setLifeTime(double lifeTime) Sets the Cloudlet Sets the lifetime which indicates the maximum execution time.setNetServiceLevel(int netServiceLevel) Sets the Type of Service (ToS) for sending this cloudlet over a network.setOutputSize(long outputSize) Sets the output file size of this Cloudlet after execution (in bytes).setPesNumber(long pesNumber) Sets the number ofPes required to run this Cloudlet.setPriority(int priority) Sets thepriorityof this Cloudlet for scheduling inside a Vm.setShutDownDelay(double delay) Set the time (in seconds) for the entity to finish shutting down.setSizes(long size) Sets the input and output file sizes of this Cloudlet to the same value (in bytes).setStartTime(double clockTime) Sets thelatest execution start timeof this Cloudlet.setStartupDelay(double delay) Set the time (in seconds) for the entity to finish starting up.booleansetStatus(Cloudlet.Status newStatus) Sets the status of this Cloudlet.setUtilizationModel(UtilizationModel utilizationModel) Sets the sameUtilizationModelfor defining the usage of Bandwidth, CPU and RAM.setUtilizationModelBw(UtilizationModel utilizationModelBw) Sets theutilization model of BW.setUtilizationModelCpu(UtilizationModel utilizationModelCpu) Sets theutilization model of CPU.setUtilizationModelRam(UtilizationModel utilizationModelRam) Sets theutilization model of RAM.Sets the id ofVmthat is planned to execute the cloudlet.Methods inherited from interface org.cloudsimplus.core.ChangeableId
setIdMethods inherited from interface java.lang.Comparable
compareToMethods inherited from interface org.cloudsimplus.core.CustomerEntity
getBrokerArrivalTime, getCreationTime, getCreationWaitTime, getLastTriedDatacenter, setBrokerArrivalTime, setLastTriedDatacenterMethods inherited from interface org.cloudsimplus.core.ExecDelayable
getRemainingStartupTime, getShutdownBeginTime, getShutDownDelay, getStartupCompletionTime, getStartupDelay, isShutDownDelayed, isShuttingDown, isStartingUp, isStartupDelayed, setShutdownBeginTime, shutdownMethods inherited from interface org.cloudsimplus.core.Identifiable
getIdMethods inherited from interface org.cloudsimplus.core.Lifetimed
isLifeTimeReachedMethods inherited from interface org.cloudsimplus.core.Startable
getLastBusyTime, getSimulation, getTotalExecutionTime, hasStarted, isFinished, setFinishTime, setLastBusyTimeMethods inherited from interface org.cloudsimplus.core.SubmissionDelayable
isSubmissionDelayed, setSubmissionDelayMethods inherited from interface org.cloudsimplus.core.UniquelyIdentifiable
getUid
-
Field Details
-
NULL
-
-
Method Details
-
addRequiredFile
Adds a file to the list or required files.- Parameters:
fileName- the name of the required file- Returns:
- true if the file was added (it didn't exist in the list of required files); false otherwise (it did already exist)
-
addRequiredFiles
Adds a list of files to the required files list. Just the files that don't exist yet in the current required list will be added.- Parameters:
fileNames- the list of files to be added- Returns:
- true if at least one file was added; false if no file was added (in the case that all given files already exist in the current required list)
-
deleteRequiredFile
Deletes the given filename from the list.- Parameters:
filename- the filename to be deleted- Returns:
- true if the file was found and removed; false if not found
-
hasRequiresFiles
boolean hasRequiresFiles()Checks whether this cloudlet requires any files or not.- Returns:
- true if required, false otherwise
- See Also:
-
getRequiredFiles
-
getDcArrivalTime
double getDcArrivalTime()Gets the time the Cloudlet arrived at a Datacenter to be executed.- Returns:
- the arrival time in seconds.
-
getFileSize
long getFileSize()Returns the input file size of this Cloudlet before execution (in bytes). This size has to be considered the program + input data sizes.- Returns:
- the input file size of this Cloudlet before execution (in bytes)
-
getOutputSize
long getOutputSize()Returns the output file size of this Cloudlet after execution (in bytes). It is the data produced as result of cloudlet execution that needs to be transferred thought the network to simulate sending response data to the user.- Returns:
- the output file size of this Cloudlet after execution (in bytes)
-
getStatus
Cloudlet.Status getStatus()- Returns:
- the execution status of this Cloudlet.
-
getSubmissionDelay
double getSubmissionDelay()Gets the time (in seconds) that aDatacenterBrokerwill wait to submit the entity to a Datacenter, in order to request the creation of the object. This is a relative time from the current simulation time.If the VM where the Cloudlet will run is submitted with some delay, the
DatacenterBrokerwaits the VM creation. Only after the VM is created, the Cloudlet creation is requested with the delay specified here.- Specified by:
getSubmissionDelayin interfaceSubmissionDelayable- Returns:
- the submission delay (in seconds)
-
isReturnedToBroker
boolean isReturnedToBroker()Checks if the Cloudlet has finished and returned to the broker, so that the broker is aware about the end of execution of the Cloudlet.- Returns:
- true if the Cloudlet has finished and returned to the broker, false otherwise
-
registerArrivalInDatacenter
double registerArrivalInDatacenter()Register the arrival time of this Cloudlet into a Datacenter to the current simulation time and returns this time.- Returns:
- the arrived time set (in seconds);
or
Startable.NOT_ASSIGNEDif the cloudlet is not assigned to a Datacenter
-
getStartTime
double getStartTime()Gets the latest execution start time of this Cloudlet (in seconds). This attribute only stores the latest execution time. Previous execution times are ignored. This time represents the simulation second when the cloudlet started.- Specified by:
getStartTimein interfaceStartable- Returns:
- the latest execution start time (in seconds)
-
getFinishTime
double getFinishTime()Gets the time when this Cloudlet has completed executing in the latest Datacenter. This time represents the simulation second when the cloudlet finished.- Specified by:
getFinishTimein interfaceCustomerEntity- Specified by:
getFinishTimein interfaceStartable- Returns:
- the finish time of this Cloudlet (in seconds);
or
Startable.NOT_ASSIGNEDif not finished yet.
-
getJobId
long getJobId()Gets the id of the job that this Cloudlet belongs to, if any. This field is just used for classification. If there is a supposed job that multiple Cloudlets belong to, one can set the job id for all Cloudlets of that job in order to classify them. Besides classification, this field doesn't have any effect.- Returns:
- the job id;
or
Startable.NOT_ASSIGNEDif the Cloudlet doesn't belong to a job
-
setJobId
Sets the id of the job that this Cloudlet belongs to, if any. This field is just used for classification. If there is a supposed job that multiple Cloudlets belong to, one can set the job id for all Cloudlets of that job in order to classify them. Besides classification, this field doesn't have any effect.- Parameters:
jobId- the job id to set- Returns:
- this Cloudlet
-
getPriority
int getPriority()Gets the priority of this Cloudlet for scheduling inside a Vm. EachCloudletSchedulerimplementation can define if it will use this attribute to impose execution priorities or not.WARNING: How the priority is interpreted and what is the range of values it accepts depends on the
CloudletSchedulerthat is being used by the Vm running the Cloudlet.- Returns:
- priority of this cloudlet
- See Also:
-
setPriority
Sets thepriorityof this Cloudlet for scheduling inside a Vm. EachCloudletSchedulerimplementation can define if it will use this attribute to impose execution priorities or not.WARNING: How the priority is interpreted and what is the range of values it accepts depends on the
CloudletSchedulerthat is being used by the Vm running the Cloudlet.- Parameters:
priority- the priority to set- Returns:
- this Cloudlet
- See Also:
-
getNetServiceLevel
int getNetServiceLevel()Gets the Type of Service (ToS) of IPv4 for sending Cloudlet over the network. It is the ToS this cloudlet receives in the network (applicable to selectedCloudletTaskSchedulerclass only).- Returns:
- the network service level
-
getPesNumber
long getPesNumber()Gets the number of Processing Elements (Pe)s from the VM, that is required to execute this cloudlet.- Returns:
- number of PEs
- See Also:
-
getUtilizationModelBw
UtilizationModel getUtilizationModelBw()- Returns:
- the utilization model that defines how the cloudlet will use the VM's bandwidth (bw).
-
getUtilizationModelCpu
UtilizationModel getUtilizationModelCpu()- Returns:
- the utilization model that defines how the cloudlet will use the VM's CPU.
-
getUtilizationModelRam
UtilizationModel getUtilizationModelRam()- Returns:
- the utilization model that defines how the cloudlet will use the VM's RAM.
-
getUtilizationModel
Returns the utilization model for a given resource.- Parameters:
resourceClass- the kind of resource to get itsUtilizationModel- Returns:
- the utilization model for a given resource
-
getUtilizationOfCpu
double getUtilizationOfCpu()Gets the utilization of CPU at the current simulation time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()set for theCPU utilizaton model.- Returns:
- the CPU utilization in percentage or absolute value
- See Also:
-
getUtilizationOfCpu
double getUtilizationOfCpu(double time) Gets the utilization of CPU at a given time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()defined for thegetUtilizationModelCpu().- Parameters:
time- the time to get the utilization- Returns:
- the CPU utilization in percentage or absolute value
- See Also:
-
getUtilizationOfRam
double getUtilizationOfRam()Gets the utilization of RAM at the current simulation time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()set for theRAM utilizaton model.- Returns:
- the RAM utilization in percentage or absolute value
- See Also:
-
getUtilizationOfRam
double getUtilizationOfRam(double time) Gets the utilization of RAM at a given time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()defined for thegetUtilizationModelRam().- Parameters:
time- the time to get the utilization- Returns:
- the RAM utilization in percentage or absolute value
- See Also:
-
getUtilizationOfBw
double getUtilizationOfBw()Gets the utilization of Bandwidth at the current simulation time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()set for theBW utilizaton model.- Returns:
- the BW utilization in percentage or absolute value
- See Also:
-
getUtilizationOfBw
double getUtilizationOfBw(double time) Gets the utilization of Bandwidth at a given time, that is defined in percentage (from [0 to 1]) or absolute values, depending on theUtilizationModel.getUnit()defined for thegetUtilizationModelBw().- Parameters:
time- the time to get the utilization- Returns:
- the BW utilization in percentage or absolute value
- See Also:
-
getVm
-
isBoundToVm
boolean isBoundToVm()Checks whether the Cloudlet is bounded to a specific Vm, meaning that theDatacenterBrokerdoesn't have to select a VM for it. In this case, the Cloudlet was already bounded to a specific VM and must run on it.- Returns:
- true if the Cloudlet is bounded to a specific VM, false otherwise
-
getStartWaitTime
double getStartWaitTime()Gets the time (in seconds) the cloudlet had to wait before start executing on a Datacenter.- Returns:
- the waiting time (in seconds) when the cloudlet waited to execute; or -1 if the cloudlet hasn't started executing yet.
-
isRunning
default boolean isRunning()Checks whether this Cloudlet is still executing.- Returns:
- true if this Cloudlet is running, false otherwise
-
setFileSize
Sets the input file size of this Cloudlet before execution (in bytes). This size has to be considered the program + input data sizes.- Parameters:
fileSize- the size to set (in bytes)- Returns:
- this Cloudlet
- Throws:
IllegalArgumentException- when the given size is lower or equal to zero- See Also:
-
setOutputSize
Sets the output file size of this Cloudlet after execution (in bytes). It is the data produced as result of cloudlet execution that needs to be transferred thought the network to simulate sending response data to the user.- Parameters:
outputSize- the output size to set (in bytes)- Returns:
- this Cloudlet
- Throws:
IllegalArgumentException- when the given size is lower or equal to zero- See Also:
-
setSizes
Sets the input and output file sizes of this Cloudlet to the same value (in bytes).- Parameters:
size- the value to set (in bytes) for input and output size- Returns:
- this Cloudlet
- Throws:
IllegalArgumentException- when the given size is lower or equal to zero- See Also:
-
setStatus
Sets the status of this Cloudlet.WARNING: This method is just used internally by classes such as
CloudletSchedulerto update Cloudlet status. Calling it directly might not get the expected result. You have to use the CloudletScheduler that controls the execution of the Cloudlet to change the Cloudlets status. The method is public due to a design issue.- Parameters:
newStatus- the status of this Cloudlet- Returns:
- true if the cloudlet status was changed, i.e, if the newStatus is different from the current status; false otherwise TODO Move to abstract class
-
setNetServiceLevel
Sets the Type of Service (ToS) for sending this cloudlet over a network.- Parameters:
netServiceLevel- the new type of service (ToS) of this cloudlet- Returns:
- this Cloudlet TODO This attribute is not used and should be removed (we need confirm it is not used)
-
setPesNumber
Sets the number ofPes required to run this Cloudlet.
NOTE: The Cloudlet length is computed only for 1 PE for simplicity.
For example, consider a Cloudlet that has a length of 500 MI and requires 2 PEs. This means each PE will execute 500 MI of this Cloudlet.- Parameters:
pesNumber- number of PEs- Returns:
- this Cloudlet
- Throws:
IllegalArgumentException- when the number of PEs is lower or equal to zero
-
setUtilizationModel
Sets the sameUtilizationModelfor defining the usage of Bandwidth, CPU and RAM. To set different utilization models for each one of these resources, use the respective setters.- Parameters:
utilizationModel- the new utilization model for BW, CPU and RAM- Returns:
- this Cloudlet
- See Also:
-
setUtilizationModelBw
Sets theutilization model of BW.- Parameters:
utilizationModelBw- the new utilization model of BW- Returns:
- this Cloudlet
-
setUtilizationModelCpu
Sets theutilization model of CPU.- Parameters:
utilizationModelCpu- the new utilization model of CPU- Returns:
- this Cloudlet
-
setUtilizationModelRam
Sets theutilization model of RAM.- Parameters:
utilizationModelRam- the new utilization model of RAM- Returns:
- this Cloudlet
-
setVm
-
getLength
long getLength()Gets the execution length of this Cloudlet (in Million Instructions (MI)) that will be executed in each definedPe.In case the length is a negative value, it means the Cloudlet doesn't have a defined length, this way, it keeps running until a
CloudSimTag.CLOUDLET_FINISHmessage is sent to theDatacenterBroker.According to this length and the power of the VM processor (in Million Instruction Per Second - MIPS) where the cloudlet will be run, the cloudlet will take a given time to finish processing. For instance, for a cloudlet of 10000 MI running on a processor of 2000 MIPS, the cloudlet will spend 5 seconds using the processor until completed (that may be uninterrupted or not, depending on the scheduling policy).
- Returns:
- the length of this Cloudlet (in MI)
- See Also:
-
setLength
Sets the execution length of this Cloudlet (in Million Instructions (MI)) that will be executed in each defined PE.A negative length means the Cloudlet in fact doesn't have a defined length. This way, it keeps running until a
CloudSimTag.CLOUDLET_FINISHmessage is sent to theDatacenterBroker.According to this length and the power of the VM processor (in Million Instruction Per Second - MIPS) where the cloudlet will be run, the cloudlet will take a given time to finish processing. For instance, for a cloudlet of 10000 MI running on a processor of 2000 MIPS, the cloudlet will spend 5 seconds using the processor until completed (that may be uninterrupted or not, depending on the scheduling policy).
- Parameters:
length- the length (in MI) of this Cloudlet to be executed in a Vm. A negative value means the Cloudlet in fact doesn't have a defined length.- Returns:
- this Cloudlet
- Throws:
IllegalArgumentException- when the given length is lower or equal to zero- See Also:
-
getTotalLength
long getTotalLength()Gets the total length (across all PEs) of this Cloudlet (in MI). It considers thegetLength()of the cloudlet will be executed in each Pe defined bygetPesNumber().For example, setting the cloudletLength as 10000 MI and
getPesNumber()to 4, each Pe will execute 10000 MI. Thus, the entire Cloudlet has a total length of 40000 MI.- Returns:
- the total length of this Cloudlet (in MI)
- See Also:
-
getFinishedLengthSoFar
long getFinishedLengthSoFar()Gets the length of this Cloudlet that has been executed so far from the latest Datacenter (in MI). This method is useful when trying to move this Cloudlet into a different Datacenter or to cancel it.- Returns:
- the length of a partially executed Cloudlet, or the full Cloudlet length if it is completed (in MI)
-
addFinishedLengthSoFar
boolean addFinishedLengthSoFar(long partialFinishedMI) Adds the partial length of this Cloudlet that has executed so far (in MI).- Parameters:
partialFinishedMI- the partial executed length of this Cloudlet (in MI) from the last time span (the last time the Cloudlet execution was updated)- Returns:
- true if the length is valid and the cloudlet already has assigned to a Datacenter; false otherwise
- See Also:
-
setStartTime
Sets thelatest execution start timeof this Cloudlet.NOTE: The execution start time only holds the latest one. Meaning all previous execution start times are ignored.
- Specified by:
setStartTimein interfaceStartable- Parameters:
clockTime- the latest execution start time- Returns:
-
addOnStartListener
Adds a Listener object that will be notified when the Cloudlet starts executing in someVm.- Parameters:
listener- the listener to add
-
removeOnStartListener
Removes a listener from the onStartListener List.- Parameters:
listener- the listener to remove- Returns:
- true if the listener was found and removed; false otherwise
-
addOnUpdateProcessingListener
Adds a Listener object that will be notified every time the processing of the Cloudlet is updated in itsVm.- Parameters:
listener- the listener to add- See Also:
-
removeOnUpdateProcessingListener
Removes a listener from the onUpdateCloudletProcessingListener List.- Parameters:
listener- the listener to remove- Returns:
- true if the listener was found and removed; false otherwise
-
addOnFinishListener
Adds a Listener object that will be notified when a cloudlet finishes its execution at a givenVm.- Parameters:
listener- the listener to add- Returns:
-
removeOnFinishListener
Removes a listener from the onCloudletFinishEventListener List- Parameters:
listener- the listener to remove- Returns:
- true if the listener was found and removed; false otherwise
- See Also:
-
notifyOnUpdateProcessingListeners
void notifyOnUpdateProcessingListeners(double time) Notifies all registered listeners about the update on Cloudlet processing.This method is used just internally and must not be called directly.
- Parameters:
time- the time the event happened
-
getBroker
DatacenterBroker getBroker()Gets theDatacenterBrokerthat represents the owner of this Cloudlet.- Specified by:
getBrokerin interfaceCustomerEntity- Returns:
- the broker or
DatacenterBroker.NULLif a broker has not been set yet
-
setBroker
Sets aDatacenterBrokerthat represents the owner of this Cloudlet.- Specified by:
setBrokerin interfaceCustomerEntity- Parameters:
broker- theDatacenterBrokerto set
-
reset
-
getLifeTime
double getLifeTime()Cloudlet Gets lifetime which indicates the maximum execution time, regardless of its length (in MI).- Specified by:
getLifeTimein interfaceLifetimed- Returns:
- the lifeTime (in seconds) or
Double.MAX_VALUEindicating no lifeTime is set - See Also:
-
setLifeTime
Sets the Cloudlet Sets the lifetime which indicates the maximum execution time. The lifetime must be larger thanDatacenter.getSchedulingInterval()..The cloudlet will finish execution as soon as possible, after the given lifeTime has passed, since its
Checkexec start time.Vm.setLifeTime(double)for additional details.- Specified by:
setLifeTimein interfaceLifetimed- Parameters:
lifeTime- lifeTime to set (in seconds) orDouble.MAX_VALUEto indicate there is no lifeTime- Returns:
-
setStartupDelay
Set the time (in seconds) for the entity to finish starting up..WARNING: the method currently has no effect on Cloudlets.
- Specified by:
setStartupDelayin interfaceExecDelayable- Parameters:
delay-- Returns:
- See Also:
-
setShutDownDelay
Set the time (in seconds) for the entity to finish shutting down..WARNING: the method currently has no effect on Cloudlets.
- Specified by:
setShutDownDelayin interfaceExecDelayable- Parameters:
delay-- Returns:
- See Also:
-