How to submit cloudlet to be executed on a particular list of VMs

23 views
Skip to first unread message

Chigozie Asikaburu

unread,
Mar 25, 2020, 4:36:39 PM3/25/20
to CloudSim Plus
Hi, I know we can submit cloudlets to the broker and bind them to a particular Vm for execution with submitCloudletList() but can we bind them to a specific list of Vms as well. Say I have two data centers each with a few VMs. I'd like it so that each data center has it's own pool of incoming cloudlets where any one of the VMs in that data center can execute that cloudlet. Is there also a way to bind cloudlets to a data center? I'd like to avoid dividing up the cloudlet list into small pieces and binding them to each Vm individually as it wouldn't work with my scenario. 

Manoel Campos

unread,
Apr 2, 2020, 7:10:43 PM4/2/20
to clouds...@googlegroups.com
If you don't bind a Cloudlet to a VM, the broker will choose any available VM from its list for you.
If you want to submit VMs to a specific Datacenter, you need to provide a
Function that implements the policy to define how to select a Datacenter to run a VM.
Check DatacenterBroker.setDatacenterMapper().
If you want some Cloudlets to be submitted to a datacenter and other to another datacenter,
you may create two brokers. In each broker um provide a different implementation for the DatacenterBroker.setDatacenterMapper()
to select the datacenter where the VMs (and consequently Cloudlets) will be submitted.

Manoel Campos da Silva Filho Software Engineer

Computer Science and Engineering Ph.D. Student at University of Beira Interior (Portugal)

Professor at Federal Institute of Education, Science and Technology of Tocantins (Brazil)

http://manoelcampos.com


 about.me


On Wed, Mar 25, 2020 at 5:36 PM Chigozie Asikaburu <chigozie....@gmail.com> wrote:
Hi, I know we can submit cloudlets to the broker and bind them to a particular Vm for execution with submitCloudletList() but can we bind them to a specific list of Vms as well. Say I have two data centers each with a few VMs. I'd like it so that each data center has it's own pool of incoming cloudlets where any one of the VMs in that data center can execute that cloudlet. Is there also a way to bind cloudlets to a data center? I'd like to avoid dividing up the cloudlet list into small pieces and binding them to each Vm individually as it wouldn't work with my scenario. 

--
If you received an answer that worked for you, please be kind and reply to let everybody knows it worked.
http://cloudsimplus.org
---
You received this message because you are subscribed to the Google Groups "CloudSim Plus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cloudsim-plu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cloudsim-plus/bcf52cb8-5466-4fd9-8f80-31c77f3a616c%40googlegroups.com.

Chigozie Asikaburu

unread,
Apr 2, 2020, 7:49:02 PM4/2/20
to CloudSim Plus
I ended up just creating a new DatacenterBroker and used the vmMapper() method to assign cloudlets to Vms. I made cloudlets either have a jobID of 1 or 2 and then mapped them to the corresponding datacenter (datacenter 1 or 2) in the vmMapper() method. For the Vms I will just use setHost() to bind them to specific hosts then have those hosts be created in their respective datacenters with createDatacenter(CloudSim simulation, List<Host> hostList). Thanks anyway, I learned more about CloudSim Plus! 


On Thursday, April 2, 2020 at 7:10:43 PM UTC-4, Manoel Campos wrote:
If you don't bind a Cloudlet to a VM, the broker will choose any available VM from its list for you.
If you want to submit VMs to a specific Datacenter, you need to provide a
Function that implements the policy to define how to select a Datacenter to run a VM.
Check DatacenterBroker.setDatacenterMapper().
If you want some Cloudlets to be submitted to a datacenter and other to another datacenter,
you may create two brokers. In each broker um provide a different implementation for the DatacenterBroker.setDatacenterMapper()
to select the datacenter where the VMs (and consequently Cloudlets) will be submitted.

Manoel Campos da Silva Filho Software Engineer

Computer Science and Engineering Ph.D. Student at University of Beira Interior (Portugal)

Professor at Federal Institute of Education, Science and Technology of Tocantins (Brazil)

http://manoelcampos.com


 about.me


On Wed, Mar 25, 2020 at 5:36 PM Chigozie Asikaburu <chigozie...@gmail.com> wrote:
Hi, I know we can submit cloudlets to the broker and bind them to a particular Vm for execution with submitCloudletList() but can we bind them to a specific list of Vms as well. Say I have two data centers each with a few VMs. I'd like it so that each data center has it's own pool of incoming cloudlets where any one of the VMs in that data center can execute that cloudlet. Is there also a way to bind cloudlets to a data center? I'd like to avoid dividing up the cloudlet list into small pieces and binding them to each Vm individually as it wouldn't work with my scenario. 

--
If you received an answer that worked for you, please be kind and reply to let everybody knows it worked.
http://cloudsimplus.org
---
You received this message because you are subscribed to the Google Groups "CloudSim Plus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clouds...@googlegroups.com.

Manoel Campos

unread,
Apr 2, 2020, 8:34:34 PM4/2/20
to clouds...@googlegroups.com
Great. But you don't have to call setHost directly. Let the VmAllocstionPolicy do that. Calling setHost, is won't allocate resources for VM. The method is public just because some design issues.

To unsubscribe from this group and stop receiving emails from it, send an email to cloudsim-plu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cloudsim-plus/d7cd2773-52be-4989-8069-920f81262786%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages