Skip to content

Close #170: Support for delaying cloudlet execution when virtual memory (vem / swap) is used or BW is oversubscribed#312

Merged
manoelcampos merged 7 commits intomasterfrom
issue-170
Jun 15, 2021
Merged

Close #170: Support for delaying cloudlet execution when virtual memory (vem / swap) is used or BW is oversubscribed#312
manoelcampos merged 7 commits intomasterfrom
issue-170

Conversation

@manoelcampos
Copy link
Copy Markdown
Collaborator

@manoelcampos manoelcampos commented Jun 15, 2021

Close #170

  • When requested BW is not available too, only available resource is allocated but the cloudlet execution is also delayed.

Redesign Host storage to use an actual HarddriveStorage
instead of just a Storage (which is now called SimpleStorage).
This way, we can define disk parameters such as reading speed
that is considered when virtual memory is required
by Cloudlets running inside a VM on the Host.

The FileStorage interface implemented by HarddriveStorage
is now simpler, since we don't want to simulate individual file storage
for hard drive, only for SanStorage.

Adds new Host constructor to accept a HarddriveStorage instead of a long
for defining the storage device.

Since VM and Host have different storage devices now
(SimpleStorage and HarddriveStorage, respectively),
the AbstractMachine interface now is generic,
to indicate the kind of storage to be used by
subclasses.

Signed-off-by: Manoel Campos <[email protected]>
- Changes performed after Host storage redesign
- Fix test failures

Signed-off-by: Manoel Campos <[email protected]>
@manoelcampos manoelcampos self-assigned this Jun 15, 2021
@manoelcampos manoelcampos changed the title Close #170 Close #170: Support for virtual (swap) memory - delay cloudlet execution when virtual memory is used Jun 15, 2021
@manoelcampos manoelcampos added the resource-utilization Features related to the utilization of resources by a Host, VM or Cloudlet label Jun 15, 2021
@manoelcampos manoelcampos marked this pull request as draft June 15, 2021 14:42
…wap) delay

- Introduces cloudlet processing delay when a cloudlet
  requires more RAM than there is freely available.
- As a simplification, there is no pre-defined swap partition to define
  the maximum amount of virtual memory to use.
  The virtual memory required just needs to be smaller than the
  RAM capacity.
- Updates used VM resources for each processed cloudlet,
  instead of iterating over the cloudlets execution list
  at the end of the updateProcessing method.
  This improves simulation performance and accuracy,
  since for each processed cloudlet, VM resource utilization
  is updated right-away.
- Since using VMem requires some portion of the RAM to be swapped between the disk
  to open up RAM space, the required RAM cannot be higher then the RAM capacity
  neither than the available disk space.
- Adds important notes about the simplified implementation of Virtual Memory (VMem / memory swapping)

Signed-off-by: Manoel Campos <[email protected]>
- When a cloudlet request more BW than there is available,
  just the available amount is allocated.
  This way, its processing is delayed too.

Signed-off-by: Manoel Campos <[email protected]>
to check the processing delay caused by the use of Virtual Memory.

Signed-off-by: Manoel Campos <[email protected]>
Signed-off-by: Manoel Campos <[email protected]>
@manoelcampos manoelcampos changed the title Close #170: Support for virtual (swap) memory - delay cloudlet execution when virtual memory is used Close #170: Support for virtual (swap) memory to delay cloudlet execution when virtual memory is used Jun 15, 2021
@manoelcampos manoelcampos marked this pull request as ready for review June 15, 2021 21:28
Signed-off-by: Manoel Campos <[email protected]>
@manoelcampos manoelcampos merged commit c69ca2d into master Jun 15, 2021
@manoelcampos manoelcampos deleted the issue-170 branch June 15, 2021 21:41
@manoelcampos manoelcampos changed the title Close #170: Support for virtual (swap) memory to delay cloudlet execution when virtual memory is used Close #170: Support for delaying cloudlet execution when virtual memory (vem / swap) is used or BW is oversubscribed Aug 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature resource-utilization Features related to the utilization of resources by a Host, VM or Cloudlet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

1 participant