Capacity of unused VM resources being set to 0

30 views
Skip to first unread message

Alexandre Dias

unread,
Sep 28, 2020, 10:11:32 AM9/28/20
to CloudSim Plus
Hi there,

I've been trying to understand the behavior of the simulator during the migration of a VM.
When the simulator fires the event to finish the VM migration, it calls the HostSimple.allocateResourcesForVm() as seen in the figure below:


My question is: is it supposed to work this way? I have a scenario where I have not defined RAM and bandwidth utilization models, and when the simulator calls the VmSimple.getCurrentRequestdRam(), it returns 0.

The problem is that the method ResourceProvisionerSimple.allocateResourceForVm() expects a new capacity and set the capacity of the resource to the given one, which for the unused resources, is 0.



Therefore, this is changing the capacity of all VMs in my scenario to zero. 

I will prevent this from happening in my tests by using an UtilizationModelFull for RAM and bandwidth. I just reported this because I am not sure this is the expected behavior of the simulator.

Thanks,
Alexandre.

Alexandre Dias

unread,
Sep 28, 2020, 10:15:02 AM9/28/20
to CloudSim Plus
For some reason the images were not uploaded.
Figure1.png
Figure2.png

Manoel Campos

unread,
Oct 16, 2020, 8:50:11 AM10/16/20
to clouds...@googlegroups.com
Hello Alexandre,

Sorry for the late reply.
 
When the simulator fires the event to finish the VM migration, it calls the HostSimple.allocateResourcesForVm() as seen in the figure below:
My question is: is it supposed to work this way?

This VM migration process is inherited from CloudSim.
I've refactored the code and fixed some bugs, but the code is poorly designed
and would need a complete review.
Unfortunately, I don't have time for that. 

This method is called when migration starts to reserve resources on the target Host
and is called again to finish the migration. The second time it's called,
it doesn't allocate resources twice, because it removes any previously
reserved resources. But that wouldn't need to be this way.

There was an issue here, which describes this process a bit.
There is an bigger open issue here: https://github.com/manoelcampos/cloudsim-plus/issues/94

But about your scenario, could you open an issue and provide a minimal simulation for that?
 


 
I have a scenario where I have not defined RAM and bandwidth utilization models, and when the simulator calls the VmSimple.getCurrentRequestdRam(), it returns 0.

The problem is that the method ResourceProvisionerSimple.allocateResourceForVm() expects a new capacity and set the capacity of the resource to the given one, which for the unused resources, is 0.



Therefore, this is changing the capacity of all VMs in my scenario to zero. 

I will prevent this from happening in my tests by using an UtilizationModelFull for RAM and bandwidth. I just reported this because I am not sure this is the expected behavior of the simulator.

Thanks,
Alexandre.

--
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/5342fe74-da63-477b-98b3-9b3dea75445fn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages