Join GitHub today
Allow submission of cloudlets with a specific delay #11
Create an overloaded version of the DatacenterBroker.submitCloudlets method to receive a delay parameter in order to postpone the creation of the submitted cloudlets inside some VM.
Detailed information about how the feature should work
An example scenario where this feature should be used
If you are creating a simulation scenario from a workload trace file, where the applications (cloudlets) start executing in a specific time, this feature will allow you to define when the applications have to start.
If you are creating a simulation scenario where the cloudlets have to arrive dynamically in a random way (such as using a Poison arrival process) along the time, you can simply create each cloudlet prior to start the simulation, defining the delay of each one. Thus, when you submit the cloudlet list to the broker, it can delay the creation of each cloudlet based on the Cloudlet.delay attribute. By this way, you can instantiate all the cloudlets you want previously and start the simulation after that, making the simulator take care of delaying the cloudlet creation inside some VM.
This ease the process of defining dynamic cloudlet arrival, relieving you to use listeners or threads to perform such a task. The simulation code, in this case, will be simpler. However, if the number of cloudlets is too huge, it can cause your simulation to use a lot of memory, once you create all the cloudlets in advance. Thus, this resource has to be used carefully to delay the submission of short sets of cloudlets at a time. However, currently, without this resource, instantiating all cloudlets in advance is the default way used by the simulator.
Other situation in which this feature may be used it to ensure that a given cloudlet will be executed only after a specific time after another cloudlet starts executing, stimulating some parallel process that is triggered by the first cloudlet.
A brief explanation of why you think this feature is useful
This allows the simulation of dynamic arrival of cloudlets into the Cloud provider infrastructure.