Skip to content

Allow submission of VMs and Cloudlets to an already existing DatacenterBroker in runtime #43

@manoelcampos

Description

@manoelcampos

FEATURE:

Such a feature will allow the creation of new VMs and Cloudlets after the simulation has already started, without requiring the creation of a new DatacenterBroker. The requirement of creating a new broker to enable dynamic creation of VMs and Cloudlets is not obvious and causes confusion since when calling the submitVmList and submitCloudletList methods from DatacenterBroker has no effect after the simulation has started.

Detailed information about how the feature should work

The submitVmList and submitCloudletList methods from DatacenterBroker implementations just works before the simulation has started. All the process to request a Datacenter to create VMs and Cloudlets is performed just in the startEntity method (inherited from the SimEntity), that is just executed once when the simulation starts.

When VMs are submitted, the DatacenterBroker has to check if it was already started and then immediately request the creation of such VMs. When Cloudlets are submitted after the DatacenterBroker has started, the broker has to check if there are VMs waiting to be created. If so, the new submitted cloudlets have to wait in the queue. If all VMs were already created, the request to create the new cloudlets has to be sent immediately.

An example scenario where this feature should be used

This will allow creation of VMs and Cloudlets dynamically (during simulation execution) for the same cloud customers (DatacenterBroker), allowing simulation of dynamic workload (cloudlets arriving dynamically) and the on-demand provisioning of new VMs.

A brief explanation of why you think this feature is useful

It is a long waited feature and will make the DatacenterBroker submission methods to work as expected during simulation execution.

Included Examples

Related Issues

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions