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

Power consumption inconsistency #153

Closed
alexandredias3d opened this issue Aug 28, 2018 · 5 comments
Closed

Power consumption inconsistency #153

alexandredias3d opened this issue Aug 28, 2018 · 5 comments
Assignees
Labels
bug power Issues related to the Power Module

Comments

@alexandredias3d
Copy link

alexandredias3d commented Aug 28, 2018

Expected behavior

Power consumption should be the same, or at least very close, even when changing the scheduling interval.

Actual behavior

Power consumption is varying way too much for some values of scheduling interval.

Example

Check the new PowerExampleSchedulingInterval.java introduced after the issue was fixed.

@manoelcampos manoelcampos added this to the CloudSim Plus 4.0 milestone Aug 29, 2018
@manoelcampos manoelcampos self-assigned this Aug 29, 2018
@manoelcampos manoelcampos added the in-progress Someone has started to work on the issue. The progress may be available at the dev branch. label Aug 29, 2018
@manoelcampos
Copy link
Collaborator

Hello @alexandredias3d

Could you please try the new version available at the dev branch with the new PowerExampleSchedulingInterval example and give me some feedback?

Thanks for your contributions.

@manoelcampos
Copy link
Collaborator

You can check the messages in the last 2 commits and the new comments in the code for more details.

@manoelcampos
Copy link
Collaborator

manoelcampos commented Aug 31, 2018

Btw, realize that power consumption is computed in a different way now.
But it gives you new possibilities. Check the Host.getUtilizationHistory() documentation for new details.

@manoelcampos manoelcampos removed the in-progress Someone has started to work on the issue. The progress may be available at the dev branch. label Aug 31, 2018
@alexandredias3d
Copy link
Author

Hi @manoelcampos,

Sorry for the late reply. I have tested out the new features and they are working perfectly. I believe that using the DoubleSummaryStatistics from the UtilizationHistory will ease a lot the development of new heuristics for VM consolidation.

Thanks for your hard work.

@manoelcampos
Copy link
Collaborator

manoelcampos commented Sep 3, 2018

Don't worry. And great that it's working as expected.
Could you please mark the discussion at the Google Group as completed?
Thanks.

@manoelcampos manoelcampos added the power Issues related to the Power Module label Mar 20, 2019
manoelcampos added a commit that referenced this issue May 13, 2019
…SING events

The CloudletSchedulerAbstract.updateProcessing may return 0
to indicate that all running Cloudlets finished but there are
Cloudlets into the waiting list (instead of retuning Double.MAX_VALUE
to indicate there isn't any Cloudlet at all).

In such situation, this value was not being considered and
since zero is smaller than the Simulation's minTimeBetweenEvents,
the value of this attribute was being added to the value
returned by the mentioned method.

The return value indicates the time the next event should be processed,
while, in the mentioned scenario, it was not needed to send
one more VM_UPDATE_CLOUDLET_PROCESSING event.

Furthermore, finished Cloudlets were just being removed from the
execList after updating the processing of Cloudlets in such a List.
The addCloudletsToFinishedList() was called earlier to enable moving
those Cloudlets to the finishedList, then just update the processing
of Cloudlets actually running.

Finally, when the Double.MAX_VALUE was returned
from the VmSimple.updateProcessing,
the decimal places from the current simulation clock were being removed
from the mentioned value (that was required to fix issue #153).
This way, after the method call, when checking
if the returned value was equal to Double.MAX_VALUE,
to indicate there are no more Cloudlets, it wasn't in fact.

Subtracting the simulation's clock decimal places from the returned value
was causing more events to be sent. This was the major performance issue.

Signed-off-by: Manoel Campos <manoelcampos@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug power Issues related to the Power Module
Projects
None yet
Development

No branches or pull requests

2 participants