cloudsimplus / cloudsimplus

State-of-the-art Framework 🏗 for Cloud Computing ⛅️ Simulation: a modern, full-featured, easier-to-use, highly extensible 🧩, faster 🚀 and more accurate ☕️ Java 17+ tool for cloud computing research 🎓. Examples: https://github.com/cloudsimplus/cloudsimplus-examples

Home Page:https://cloudsimplus.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Allow submission of cloudlets with a specific delay

manoelcampos opened this issue · comments

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.

Included Examples

Related Issues

Thanks for the explanation but I can't find the attached example. Can you please upload them again?

I've just fixed the broken links.

Thank you so much, have you done similar thing for VMs also? I mean I needed code for dynamic VM requests submission (like real time stimulation data for VM allocation) urgently, have you already done that?

I found the 'DynamicCreationOfVmsAndCloudletsExample.java' example of yours. Sorry for bothering you and thank you again for your help.