Hi Jasmine (again, hehe),
I gave a fast looked in CloudSim API to investigate your specific doubt and what I found was:
- RAM Size of VMs and Hosts are related as the follow: If you create a certain group of Hosts, for instance, 10 Hosts with 8.000 MIPS, 4 PEs and 8000 MB of RAM and other params... then when you program the VM List Creating and submit VMs to broker, it will process VM Creating and here it's our goal:
"It's a requirement that each VM instatiated with a "rrrrr" RAM Size respect the Host Max RAM Size. To be more didactic, suppose that you want to create four VMs for each one of that 10 created hosts in Datacenter. The VMs configuration could be the following:
- VM configuration: VM Mips 2000 | PEs 1 | RAM 2000 MB | ... other parameters ...
Pay attention that we are respecting the Host limits and when you load this 4 VMs on each Host it will be totally busy in terms of CPU and Memory usage. =)
So... complementing my response to: Does memory demand of an application affect the execution time of the Cloudlets?
I was not encountered any evidence of this in Datacenter, Host, HostDynamicWorkload and RAMProvisionerSimple (that are involved in this process). So, when you instantiate cloudlets percept you don't specify a RAM used amount. You just set the Utilization Model for RAM that will cause the effect of the task memory usage when its in execution time on VM.
There is a error reported when you setup you VMs capabilities exceeding Host configuration limits. The message you get will be: [VmScheduler.addMigratingInVm] Allocation of VM # XX to Host # YY failed by RAM
This is what I know about this subject for while. Maybe some colleague can add other more details.
Good luck for you!
Regards!
Mário Pardo
ICMC-USP / São Carlos / Brazil