Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data duplication inside VmAllocationPolicy implementations #107

Open
manoelcampos opened this issue Jun 6, 2017 · 0 comments
Open

Data duplication inside VmAllocationPolicy implementations #107

manoelcampos opened this issue Jun 6, 2017 · 0 comments

Comments

@manoelcampos
Copy link
Collaborator

manoelcampos commented Jun 6, 2017

VmAllocationPolicy implementations use lots of Maps to associate the number of free PEs for each Host and Lists of these PEs which are free.

After CloudSim Plus, all this information can be got from the direct association between classes. For instance, it's possible to make a call such as cloudlet.getVm().getHost().getDatacenter() which allow navigating between the entire logical and physical infrastructure to get any information you want.

However, these Maps and Lists are used yet in some classes. They are just duplicating data which can be got from the source objects. Further, the use of Maps reduces the performance of allocation of Hosts to VMs for large simulation scenarios.

Unnecessary Maps and Lists should be removed and the data they were storing must be got directly from the source object. For instance, the List of free PEs must be got directly from the Host.

@manoelcampos manoelcampos self-assigned this Jun 6, 2017
manoelcampos added a commit that referenced this issue Jun 16, 2017
---------------------------

Added multiple PE Lists into the Host implementations
and added a Host.setPeStatus to manage the PEs into each list.
The Pe status must not be changed directly, only
using the Host method.

It is used multiple lists instead of only one, which can be filtered
to find the PEs according to a given Status, because
there are lots of access to methods which returns PEs with specific status.
For large scale simulations, filtering a global List of PEs all the time
drastically impacts performance.
The previous version was really using a single List and after profiling,
proved to hamper performance.
@manoelcampos manoelcampos changed the title High number of data duplication inside VmAllocationPolicy and VmScheduler implementations High number of data duplication inside VmAllocationPolicy implementations Apr 21, 2018
@manoelcampos manoelcampos changed the title High number of data duplication inside VmAllocationPolicy implementations Data duplication inside VmAllocationPolicy implementations Apr 21, 2018
@manoelcampos manoelcampos added this to the CloudSim Plus 4.0 milestone Jun 28, 2018
@manoelcampos manoelcampos removed this from the CloudSim Plus 4.0 milestone Aug 1, 2018
@manoelcampos manoelcampos removed their assignment Aug 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant