Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
GitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Power consumption should be the same, or at least very close, even when changing the scheduling interval.
Power consumption is varying way too much for some values of scheduling interval.
Check the new PowerExampleSchedulingInterval.java introduced after the issue was fixed.
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.
…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 <firstname.lastname@example.org>