public abstract class CloudletAbstract extends Object implements Cloudlet
Cloudlet
implementations.Cloudlet.Status
NO_HISTORY_IS_RECORDED_FOR_CLOUDLET, NOT_ASSIGNED, NULL
Constructor and Description |
---|
CloudletAbstract(int cloudletId,
long length,
long pesNumber)
Creates a Cloudlet with no priority and file size and output size equal to 1.
|
CloudletAbstract(long length,
int pesNumber)
Creates a Cloudlet with no priority or id.
|
CloudletAbstract(long length,
long pesNumber)
Creates a Cloudlet with no priority or id.
|
Modifier and Type | Method and Description |
---|---|
Cloudlet |
addOnFinishListener(EventListener<CloudletVmEventInfo> listener)
Adds a Listener object that will be notified when a cloudlet finishes
its execution at a given
Vm . |
Cloudlet |
addOnUpdateProcessingListener(EventListener<CloudletVmEventInfo> listener)
Adds a Listener object that will be notified every time
the processing of the Cloudlet is updated in its
Vm . |
boolean |
addRequiredFile(String fileName)
Adds a file to the list or required files.
|
boolean |
addRequiredFiles(List<String> fileNames)
Adds a list of files to the required files list.
|
void |
assignToDatacenter(Datacenter datacenter)
Sets the parameters of the Datacenter where the Cloudlet is going to be
executed.
|
boolean |
deleteRequiredFile(String filename)
Deletes the given filename from the list.
|
boolean |
equals(Object o) |
double |
getAccumulatedBwCost()
The total bandwidth (bw) cost for transferring the cloudlet by the
network, according to the
Cloudlet.getFileSize() . |
double |
getActualCpuTime()
Returns the total execution time of the Cloudlet in seconds.
|
double |
getActualCpuTime(Datacenter datacenter)
Gets the total execution time of this Cloudlet in a given Datacenter
ID.
|
double |
getArrivalTime(Datacenter datacenter)
Gets the arrival time of this Cloudlet in the given Datacenter.
|
DatacenterBroker |
getBroker()
Gets the
DatacenterBroker that represents the owner of this Cloudlet. |
double |
getCostPerBw()
Gets the cost of each byte of bandwidth (bw) consumed.
|
double |
getCostPerSec()
Gets the cost/sec of running the Cloudlet in the latest Datacenter.
|
double |
getCostPerSec(Datacenter datacenter)
Gets the cost running this Cloudlet in a given Datacenter.
|
double |
getExecStartTime()
Gets the latest execution start time of this Cloudlet.
|
long |
getFileSize()
Gets the input file size of this Cloudlet before execution (in bytes).
|
long |
getFinishedLengthSoFar()
Gets the length of this Cloudlet that has been executed so far from the
latest Datacenter (in MI).
|
long |
getFinishedLengthSoFar(Datacenter datacenter)
Gets the length of this Cloudlet that has been executed so far (in MI),
according to the
Cloudlet.getLength() . |
double |
getFinishTime()
Gets the time when this Cloudlet has completed executing in the latest Datacenter.
|
String |
getHistory()
Gets the transaction history of this Cloudlet.
|
int |
getId() |
Datacenter |
getLastDatacenter()
Gets the latest
Datacenter where the Cloudlet was processed. |
double |
getLastDatacenterArrivalTime()
Gets the arrival time of this Cloudlet from the latest
Datacenter where it has executed.
|
protected int |
getLastExecutedDatacenterIdx() |
long |
getLength()
Gets the execution length of this Cloudlet (in Million Instructions (MI))
that will be executed in each defined PE.
|
int |
getNetServiceLevel()
Gets the Type of Service (ToS) of IPv4 for sending Cloudlet over the network.
|
long |
getNumberOfPes()
Gets the number of Processing Elements (PEs) from the VM, that is
required to execute this cloudlet.
|
long |
getOutputSize()
Gets the output file size of this Cloudlet after execution (in bytes).
|
int |
getPriority()
Gets the priority of this Cloudlet for scheduling inside a Vm.
|
List<String> |
getRequiredFiles()
Gets the list of required files to be used by the cloudlet (if any).
|
Simulation |
getSimulation()
Gets the CloudSim instance that represents the simulation the Entity is related to.
|
Cloudlet.Status |
getStatus()
Gets the execution status of this Cloudlet.
|
double |
getSubmissionDelay()
Gets the delay (in seconds) that a
DatacenterBroker has to include
when submitting the Cloudlet, in order that it will be assigned
to a VM only after this delay has expired. |
double |
getTotalCost()
Gets the total cost of executing this Cloudlet.
|
long |
getTotalLength()
Gets the total length (across all PEs) of this Cloudlet (in MI).
|
String |
getUid()
Gets the Unique Identifier (UID) for the VM, that is compounded by the id
of a
DatacenterBroker (representing the User)
and the object id. |
UtilizationModel |
getUtilizationModelBw()
Gets the utilization model that defines how the cloudlet will use the VM's
bandwidth (bw).
|
UtilizationModel |
getUtilizationModelCpu()
Gets the utilization model that defines how the cloudlet will use the VM's CPU.
|
UtilizationModel |
getUtilizationModelRam()
Gets the utilization model that defines how the cloudlet will use the VM's RAM.
|
double |
getUtilizationOfBw()
Gets the utilization of Bandwidth at the current simulation time, that is defined in
percentage or absolute values, depending of the
UtilizationModel.getUnit()
set for the BW utilizaton model . |
double |
getUtilizationOfBw(double time)
Gets the utilization of Bandwidth at a given time, that is defined in
percentage or absolute values, depending of the
UtilizationModel.getUnit()
defined for the Cloudlet.getUtilizationModelBw() ()}. |
double |
getUtilizationOfCpu()
Gets the utilization of CPU at the current simulation time, that is defined in
percentage or absolute values, depending of the
UtilizationModel.getUnit()
set for the CPU utilizaton model . |
double |
getUtilizationOfCpu(double time)
Gets the utilization of CPU at a given time, that is defined in
percentage or absolute values, depending of the
UtilizationModel.getUnit()
defined for the Cloudlet.getUtilizationModelCpu() . |
double |
getUtilizationOfRam()
Gets the utilization of RAM at the current simulation time, that is defined in
percentage or absolute values, depending of the
UtilizationModel.getUnit()
set for the RAM utilizaton model . |
double |
getUtilizationOfRam(double time)
Gets the utilization of RAM at a given time, that is defined in
percentage or absolute values, depending of the
UtilizationModel.getUnit()
defined for the Cloudlet.getUtilizationModelRam() ()}. |
Vm |
getVm()
Gets the id of Vm that is planned to execute the cloudlet.
|
double |
getWaitingTime()
Gets the time the cloudlet had to wait before start executing on a
resource.
|
double |
getWallClockTime(Datacenter datacenter)
Gets the time of this Cloudlet resides in a given Datacenter (from
arrival time until departure time).
|
double |
getWallClockTimeInLastExecutedDatacenter()
Gets the time of this Cloudlet resides in the latest Datacenter (from
arrival time until departure time).
|
int |
hashCode() |
boolean |
isAssignedToDatacenter() |
boolean |
isBindToVm()
Indicates if the Cloudlet is bounded to a specific Vm,
meaning that the
DatacenterBroker doesn't have to
select a VM for it. |
boolean |
isFinished()
Checks whether this Cloudlet has finished executing or not.
|
boolean |
isRecordTransactionHistory()
Indicates if Cloudlet transaction history is to be recorded or not.
|
void |
notifyOnUpdateProcessingListeners(double time)
Notifies all registered listeners about the update on Cloudlet processing.
|
double |
registerArrivalInDatacenter()
Register the arrival time of this Cloudlet into a Datacenter to the
current simulation time and returns this time.
|
boolean |
removeOnFinishListener(EventListener<CloudletVmEventInfo> listener)
Removes a listener from the onCloudletFinishEventListener List
|
boolean |
removeOnUpdateProcessingListener(EventListener<CloudletVmEventInfo> listener)
Removes a listener from the onUpdateCloudletProcessingListener List.
|
boolean |
requiresFiles()
Checks whether this cloudlet requires any files or not.
|
protected void |
setAccumulatedBwCost(double accumulatedBwCost)
Sets the
accumulated bw cost . |
Cloudlet |
setBroker(DatacenterBroker broker)
Sets a
DatacenterBroker that represents the owner of this Cloudlet. |
protected void |
setCostPerBw(double costPerBw)
Sets
the cost of each byte of bandwidth (bw) consumed. |
void |
setExecStartTime(double clockTime)
Sets the
latest execution start time of this Cloudlet. |
Cloudlet |
setFileSize(long fileSize)
Sets the input file size of this Cloudlet before execution (in bytes).
|
boolean |
setFinishedLengthSoFar(long length)
Sets the length of this Cloudlet that has been executed so far (in MI),
according to the
Cloudlet.getLength() . |
protected void |
setFinishTime(double finishTime)
Sets the
finish time of this cloudlet in the latest Datacenter. |
void |
setId(int id) |
protected void |
setLastExecutedDatacenterIdx(int lastExecutedDatacenterIdx) |
Cloudlet |
setLength(long length)
Sets the execution length of this Cloudlet (in Million Instructions (MI))
that will be executed in each defined PE.
|
boolean |
setNetServiceLevel(int netServiceLevel)
Sets the Type of Service (ToS) for sending this cloudlet over a
network.
|
Cloudlet |
setNumberOfPes(long numberOfPes)
Sets the number of PEs required to run this Cloudlet.
|
Cloudlet |
setOutputSize(long outputSize)
Sets the output file size of this Cloudlet after execution (in bytes).
|
void |
setPriority(int priority)
Sets the
priority of this Cloudlet for scheduling inside a Vm. |
void |
setRecordTransactionHistory(boolean recordTransactionHistory)
Sets the Cloudlet transaction history writing.
|
void |
setRequiredFiles(List<String> requiredFiles)
Sets the list of
required files . |
boolean |
setStatus(Cloudlet.Status newStatus)
Sets the status of this Cloudlet.
|
void |
setSubmissionDelay(double submissionDelay)
Sets the delay (in seconds) that a
DatacenterBroker has to include
when submitting the Cloudlet, in order that it will be assigned
to a VM only after this delay has expired. |
Cloudlet |
setUtilizationModel(UtilizationModel utilizationModel)
Sets the same utilization model for defining the usage of Bandwidth, CPU and RAM.
|
Cloudlet |
setUtilizationModelBw(UtilizationModel utilizationModelBw)
Sets the
utilization model of bw . |
Cloudlet |
setUtilizationModelCpu(UtilizationModel utilizationModelCpu)
Sets the
utilization model of cpu . |
Cloudlet |
setUtilizationModelRam(UtilizationModel utilizationModelRam)
Sets the
utilization model of ram . |
Cloudlet |
setVm(Vm vm)
Sets the id of
Vm that is planned to execute the cloudlet. |
boolean |
setWallClockTime(double wallTime,
double actualCpuTime)
Sets the wall clock time the cloudlet spent
executing on the current Datacenter.
|
protected void |
write(String str)
Writes a particular history transaction of this Cloudlet into a log.
|
protected void |
write(String format,
Object... args)
Writes a formatted particular history transaction of this Cloudlet into a log.
|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
getUid
compareTo
public CloudletAbstract(int cloudletId, long length, long pesNumber)
cloudletId
- id of the Cloudletlength
- the length or size (in MI) of this cloudlet to be executed in a VMpesNumber
- number of PEs that Cloudlet will requirepublic CloudletAbstract(long length, int pesNumber)
DatacenterBroker
. The file size and output size is defined as 1.length
- the length or size (in MI) of this cloudlet to be executed in a VMpesNumber
- number of PEs that Cloudlet will requirepublic CloudletAbstract(long length, long pesNumber)
DatacenterBroker
. The file size and output size is defined as 1.length
- the length or size (in MI) of this cloudlet to be executed in a VMpesNumber
- number of PEs that Cloudlet will requireprotected int getLastExecutedDatacenterIdx()
protected void setLastExecutedDatacenterIdx(int lastExecutedDatacenterIdx)
public Cloudlet setUtilizationModel(UtilizationModel utilizationModel)
Cloudlet
setUtilizationModel
in interface Cloudlet
utilizationModel
- the new utilization model for BW, CPU and RAMCloudlet.setUtilizationModelBw(UtilizationModel)
,
Cloudlet.setUtilizationModelCpu(UtilizationModel)
,
Cloudlet.setUtilizationModelRam(UtilizationModel)
public Cloudlet addOnUpdateProcessingListener(EventListener<CloudletVmEventInfo> listener)
Cloudlet
Vm
.addOnUpdateProcessingListener
in interface Cloudlet
listener
- the listener to addCloudlet.getFinishedLengthSoFar()
public boolean removeOnUpdateProcessingListener(EventListener<CloudletVmEventInfo> listener)
Cloudlet
removeOnUpdateProcessingListener
in interface Cloudlet
listener
- the listener to removepublic Cloudlet addOnFinishListener(EventListener<CloudletVmEventInfo> listener)
Cloudlet
Vm
.addOnFinishListener
in interface Cloudlet
listener
- the listener to addpublic boolean removeOnFinishListener(EventListener<CloudletVmEventInfo> listener)
Cloudlet
removeOnFinishListener
in interface Cloudlet
listener
- the listener to removeCloudlet.addOnFinishListener(EventListener)
public void notifyOnUpdateProcessingListeners(double time)
Cloudlet
This method is used just internally and must not be called directly.
notifyOnUpdateProcessingListeners
in interface Cloudlet
time
- the time the event happenedpublic final Cloudlet setLength(long length)
Cloudlet
setLength
in interface Cloudlet
length
- the length (in MI) of this Cloudlet to be executed in a VmCloudlet.getLength()
,
Cloudlet.getTotalLength()
public boolean setNetServiceLevel(int netServiceLevel)
Cloudlet
setNetServiceLevel
in interface Cloudlet
netServiceLevel
- the new type of service (ToS) of this cloudlettrue
if the netServiceLevel is valid, false otherwise.public int getNetServiceLevel()
Cloudlet
getNetServiceLevel
in interface Cloudlet
public double getWaitingTime()
Cloudlet
getWaitingTime
in interface Cloudlet
public int getPriority()
Cloudlet
CloudletScheduler
implementation can define if it will
use this attribute to impose execution priorities or not.
How the priority is interpreted and what is the range of values it accepts depends on the CloudletScheduler
that is being used by the Vm running the Cloudlet.getPriority
in interface Cloudlet
public void setPriority(int priority)
Cloudlet
priority
of this Cloudlet for scheduling inside a Vm.
Each CloudletScheduler
implementation can define if it will
use this attribute to impose execution priorities or not.
How the priority is interpreted and what is the range of values it accepts depends on the CloudletScheduler
that is being used by the Vm running the Cloudlet.setPriority
in interface Cloudlet
priority
- priority of this Cloudletpublic final Cloudlet setNumberOfPes(long numberOfPes)
Cloudlet
setNumberOfPes
in interface Cloudlet
numberOfPes
- number of PEspublic long getNumberOfPes()
Cloudlet
getNumberOfPes
in interface Cloudlet
Cloudlet.getTotalLength()
public String getHistory()
Cloudlet
getHistory
in interface Cloudlet
public long getFinishedLengthSoFar(Datacenter datacenter)
Cloudlet
Cloudlet.getLength()
.
This method is useful when trying to move this Cloudlet
into different Datacenters or to cancel it.getFinishedLengthSoFar
in interface Cloudlet
datacenter
- the Datacenter entitypublic long getFinishedLengthSoFar()
Cloudlet
getFinishedLengthSoFar
in interface Cloudlet
public boolean isFinished()
Cloudlet
isFinished
in interface Cloudlet
public boolean setFinishedLengthSoFar(long length)
Cloudlet
Cloudlet.getLength()
.setFinishedLengthSoFar
in interface Cloudlet
length
- executed length of this Cloudlet (in MI)CloudletExecution
public final Cloudlet setBroker(DatacenterBroker broker)
Cloudlet
DatacenterBroker
that represents the owner of this Cloudlet.setBroker
in interface Cloudlet
setBroker
in interface CustomerEntity
broker
- the DatacenterBroker
to setpublic DatacenterBroker getBroker()
Cloudlet
DatacenterBroker
that represents the owner of this Cloudlet.getBroker
in interface Cloudlet
getBroker
in interface CustomerEntity
DatacenterBroker.NULL
if a broker has not been set yetpublic Datacenter getLastDatacenter()
Cloudlet
Datacenter
where the Cloudlet was processed.getLastDatacenter
in interface Cloudlet
Datacenter.NULL
if the Cloudlet
has not being processed yet.public long getFileSize()
Cloudlet
getFileSize
in interface Cloudlet
public long getOutputSize()
Cloudlet
getOutputSize
in interface Cloudlet
public double getExecStartTime()
Cloudlet
getExecStartTime
in interface Cloudlet
public void setExecStartTime(double clockTime)
Cloudlet
latest execution start time
of this Cloudlet.
setExecStartTime
in interface Cloudlet
clockTime
- the latest execution start timepublic boolean setWallClockTime(double wallTime, double actualCpuTime)
Cloudlet
setWallClockTime
in interface Cloudlet
wallTime
- the time of this Cloudlet resides in a Datacenter
(from arrival time until departure time).actualCpuTime
- the total execution time of this Cloudlet in a
Datacenter.public boolean setStatus(Cloudlet.Status newStatus)
Cloudlet
WARNING: This method is just used internally by classes such as
CloudletScheduler
to 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.
public long getLength()
Cloudlet
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 in order to be completed (that may be uninterrupted or not, depending on the scheduling policy).
getLength
in interface Cloudlet
Cloudlet.getTotalLength()
,
Cloudlet.getNumberOfPes()
public long getTotalLength()
Cloudlet
Cloudlet.getLength()
of the cloudlet will be executed in each Pe defined by
Cloudlet.getNumberOfPes()
.
For example, setting the cloudletLenght as 10000 MI and
Cloudlet.getNumberOfPes()
to 4, each Pe will execute 10000 MI.
Thus, the entire Cloudlet has a total length of 40000 MI.
getTotalLength
in interface Cloudlet
Cloudlet.getNumberOfPes()
,
Cloudlet.getLength()
public double getCostPerSec()
Cloudlet
getCostPerSec
in interface Cloudlet
public double getCostPerSec(Datacenter datacenter)
Cloudlet
getCostPerSec
in interface Cloudlet
datacenter
- the Datacenter entitypublic double getWallClockTimeInLastExecutedDatacenter()
Cloudlet
getWallClockTimeInLastExecutedDatacenter
in interface Cloudlet
public double getActualCpuTime(Datacenter datacenter)
Cloudlet
getActualCpuTime
in interface Cloudlet
datacenter
- the Datacenter entitypublic double getActualCpuTime()
Cloudlet
getActualCpuTime
in interface Cloudlet
Cloudlet.NOT_ASSIGNED
if it hasn't finished yetpublic double getArrivalTime(Datacenter datacenter)
Cloudlet
getArrivalTime
in interface Cloudlet
datacenter
- the Datacenter entityCloudlet.NOT_ASSIGNED
if
the cloudlet has never been assigned to a Datacenterpublic double getWallClockTime(Datacenter datacenter)
Cloudlet
getWallClockTime
in interface Cloudlet
datacenter
- a Datacenter entitypublic double getFinishTime()
Cloudlet
getFinishTime
in interface Cloudlet
Cloudlet.NOT_ASSIGNED
if
not finished yet.protected final void setFinishTime(double finishTime)
finish time
of this cloudlet in the latest Datacenter.finishTime
- the finish timeprotected void write(String str)
str
- a history transaction of this Cloudletprotected void write(String format, Object... args)
format
- the format of the Cloudlet's history transaction, according
to the format parameter of String.format(String, Object...)
args
- The list of values to be shown in the history,
that are referenced by the format.write(String)
public Cloudlet.Status getStatus()
Cloudlet
public int getId()
getId
in interface Identificable
public void setId(int id)
setId
in interface ChangeableId
public Vm getVm()
Cloudlet
getVm
in interface Cloudlet
Cloudlet.NOT_ASSIGNED
if the Cloudlet was not assigned to a VM yetpublic final Cloudlet setVm(Vm vm)
Cloudlet
Vm
that is planned to execute the cloudlet.public double getTotalCost()
Cloudlet
getTotalCost
in interface Cloudlet
public List<String> getRequiredFiles()
Cloudlet
getRequiredFiles
in interface Cloudlet
public final void setRequiredFiles(List<String> requiredFiles)
required files
.requiredFiles
- the new list of required filespublic boolean addRequiredFile(String fileName)
Cloudlet
addRequiredFile
in interface Cloudlet
fileName
- the name of the required filepublic boolean addRequiredFiles(List<String> fileNames)
Cloudlet
addRequiredFiles
in interface Cloudlet
fileNames
- the list of files to be addedpublic boolean deleteRequiredFile(String filename)
Cloudlet
deleteRequiredFile
in interface Cloudlet
filename
- the given filename to be deletedpublic boolean requiresFiles()
Cloudlet
requiresFiles
in interface Cloudlet
public UtilizationModel getUtilizationModelCpu()
Cloudlet
getUtilizationModelCpu
in interface Cloudlet
public final Cloudlet setUtilizationModelCpu(UtilizationModel utilizationModelCpu)
Cloudlet
utilization model of cpu
.setUtilizationModelCpu
in interface Cloudlet
utilizationModelCpu
- the new utilization model of cpupublic UtilizationModel getUtilizationModelRam()
Cloudlet
getUtilizationModelRam
in interface Cloudlet
public final Cloudlet setUtilizationModelRam(UtilizationModel utilizationModelRam)
Cloudlet
utilization model of ram
.setUtilizationModelRam
in interface Cloudlet
utilizationModelRam
- the new utilization model of rampublic UtilizationModel getUtilizationModelBw()
Cloudlet
getUtilizationModelBw
in interface Cloudlet
public final Cloudlet setUtilizationModelBw(UtilizationModel utilizationModelBw)
Cloudlet
utilization model of bw
.setUtilizationModelBw
in interface Cloudlet
utilizationModelBw
- the new utilization model of bwpublic double getUtilizationOfCpu()
Cloudlet
UtilizationModel.getUnit()
set for the CPU utilizaton model
.getUtilizationOfCpu
in interface Cloudlet
Cloudlet.getUtilizationModelCpu()
public double getUtilizationOfCpu(double time)
Cloudlet
UtilizationModel.getUnit()
defined for the Cloudlet.getUtilizationModelCpu()
.getUtilizationOfCpu
in interface Cloudlet
time
- the time to get the utilizationCloudlet.getUtilizationModelCpu()
public double getUtilizationOfBw()
Cloudlet
UtilizationModel.getUnit()
set for the BW utilizaton model
.getUtilizationOfBw
in interface Cloudlet
Cloudlet.getUtilizationModelCpu()
public double getUtilizationOfBw(double time)
Cloudlet
UtilizationModel.getUnit()
defined for the Cloudlet.getUtilizationModelBw()
()}.getUtilizationOfBw
in interface Cloudlet
time
- the time to get the utilization()
public double getUtilizationOfRam()
Cloudlet
UtilizationModel.getUnit()
set for the RAM utilizaton model
.getUtilizationOfRam
in interface Cloudlet
Cloudlet.getUtilizationModelRam()
public double getUtilizationOfRam(double time)
Cloudlet
UtilizationModel.getUnit()
defined for the Cloudlet.getUtilizationModelRam()
()}.getUtilizationOfRam
in interface Cloudlet
time
- the time to get the utilization()
public double getCostPerBw()
Cloudlet
getCostPerBw
in interface Cloudlet
protected final void setCostPerBw(double costPerBw)
the cost of each byte of bandwidth (bw)
consumed.costPerBw
- the new cost per bw to setpublic double getAccumulatedBwCost()
Cloudlet
Cloudlet.getFileSize()
.getAccumulatedBwCost
in interface Cloudlet
protected final void setAccumulatedBwCost(double accumulatedBwCost)
accumulated bw cost
.accumulatedBwCost
- the accumulated bw cost to setpublic double getSubmissionDelay()
Delayable
DatacenterBroker
has to include
when submitting the Cloudlet, in order that it will be assigned
to a VM only after this delay has expired.getSubmissionDelay
in interface Delayable
public final void setSubmissionDelay(double submissionDelay)
Delayable
DatacenterBroker
has to include
when submitting the Cloudlet, in order that it will be assigned
to a VM only after this delay has expired. The delay should be greater or equal to zero.setSubmissionDelay
in interface Delayable
submissionDelay
- the amount of seconds from the current simulation
time that the cloudlet will wait to be submitted to be created and
assigned to a VMpublic boolean isBindToVm()
Cloudlet
DatacenterBroker
doesn'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.isBindToVm
in interface Cloudlet
public final Cloudlet setFileSize(long fileSize)
Cloudlet
setFileSize
in interface Cloudlet
fileSize
- the size to set (in bytes)public final Cloudlet setOutputSize(long outputSize)
Cloudlet
setOutputSize
in interface Cloudlet
outputSize
- the output size to set (in bytes)public boolean isRecordTransactionHistory()
getHistory()
public void setRecordTransactionHistory(boolean recordTransactionHistory)
recordTransactionHistory
- true enables transaction history writing,
false disables.public void assignToDatacenter(Datacenter datacenter)
Cloudlet
NOTE: This method should be called only by a Datacenter
entity.
assignToDatacenter
in interface Cloudlet
datacenter
- the Datacenter where the cloudlet will be executedpublic double registerArrivalInDatacenter()
Cloudlet
registerArrivalInDatacenter
in interface Cloudlet
Cloudlet.NOT_ASSIGNED
if the cloudlet is not assigned to a Datacenterpublic boolean isAssignedToDatacenter()
isAssignedToDatacenter
in interface Cloudlet
public double getLastDatacenterArrivalTime()
Cloudlet
getLastDatacenterArrivalTime
in interface Cloudlet
Cloudlet.NOT_ASSIGNED
if
the cloudlet has never been assigned to a Datacenterpublic String getUid()
UniquelyIdentificable
DatacenterBroker
(representing the User)
and the object id.getUid
in interface UniquelyIdentificable
public Simulation getSimulation()
Cloudlet
getSimulation
in interface Cloudlet
Copyright © 2015–2018 Systems, Security and Image Communication Lab - Instituto de Telecomunicações (IT) - Universidade da Beira Interior (UBI) - Instituto Federal de Educação Ciência e Tecnologia do Tocantins (IFTO). All rights reserved.