Skip to content

Virtual memory and BW oversubscription implementation: when a Cloudlet requests more RAM or BW than there is available, its execution should be delayed #170

@manoelcampos

Description

@manoelcampos

An UtilizationModel defines how a Cloudlet will use Vm's RAM. When a Cloudlet requests more RAM than the Vm has available at the moment, it's shown a warning message, but the Cloudlet execution finishes at the expected time.

WARN: CloudletSchedulerTimeShared: Cloudlet 12 requested 1000 MB of Bandwidth but no amount is available.

Virtual Memory

In operating systems, when this situation happens, the OS uses virtual memory to swap data belonging to idle processes from the RAM to the disk. This opens up RAM space for the requesting application. However, since the disk is a very slow device compared to RAM, this swapping process will slow down application execution, since the app will have to wait for the SO to perform this process and then allocate the requested memory.

CloudSim Plus has classes such as HarddriveStorage that simulates an HD/SSD and enables defining some parameters, namely: transfer rate, seek time and latency time. Using such devices from a Host, we could delay the execution of the Cloudlet when it requests more RAM than there is available.

This way, instead of just printing a warning message informing that there isn't enough RAM, we could print a message informing that virtual memory will be used and delay Cloudlet's execution.

If the cloudlet also requires a given amount of BW which isn't available, just the available amount is allocated, but that should delay the cloudlet processing too.
For instance, if the required bandwidth is 10mbps, that means the cloudlet is willing to transfer 10 mbits in one second. If just 8 mbps is allocated to the cloudlet, to transfer the same 10 mbits it will take 0,25 second more.

BW oversubscription

Concerning BW allocation, when a Cloudlets requests more BW than there is available, only the capacity available will be allocated, which must slow down cloudlet data transfer and consequently, increase cloudlet finish time. Consider the following table with sample data:

required bw (mbps) allocated bw additional delay total tranfer time
10 10 0 1
10 8 0,25 1,25

The additional delay should be computed as required/allocated - 1 and the total transfer time as 1 + additional delay.

A brief explanation of why you think this feature is useful

This will enable more accurate and realistic simulations.

References

Examples

Metadata

Metadata

Assignees

Labels

enhancementgood-first-issueA good issue to start contributing to the projectresource-utilizationFeatures related to the utilization of resources by a Host, VM or Cloudlet

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions