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

alexandredias3d opened this issue Aug 28, 2018 · 5 comments

Power consumption inconsistency #153

alexandredias3d opened this issue Aug 28, 2018 · 5 comments


Copy link

@alexandredias3d 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.


Check the new introduced after the issue was fixed.

@manoelcampos manoelcampos added the bug label Aug 29, 2018
@manoelcampos manoelcampos added this to the CloudSim Plus 4.0 milestone Aug 29, 2018
@manoelcampos manoelcampos self-assigned this Aug 29, 2018
Copy link

@manoelcampos manoelcampos commented Aug 30, 2018

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.

Copy link

@manoelcampos manoelcampos commented Aug 30, 2018

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

Copy link

@manoelcampos 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.

Copy link

@alexandredias3d alexandredias3d commented Sep 3, 2018

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.

Copy link

@manoelcampos 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?

@manoelcampos manoelcampos added the power 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

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 <>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.