Manoel Campos da Silva Filho Software Engineer
Computer Science and Engineering Ph.D. Student at University of Beira Interior (Portugal)
Professor at Federal Institute of Education, Science and Technology of Tocantins (Brazil)
http://manoelcampos.com
--
http://cloudsimplus.org
---
You received this message because you are subscribed to the Google Groups "CloudSim Plus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cloudsim-plus+unsubscribe@googlegroups.com.
To post to this group, send email to clouds...@googlegroups.com.
Visit this group at https://groups.google.com/group/cloudsim-plus.
To view this discussion on the web visit https://groups.google.com/d/msgid/cloudsim-plus/73e3737e-26c1-47fd-86fe-b550f8c7c86e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to cloudsim-plu...@googlegroups.com.
thanks for the answer but probably I didn't make myself clear. What I meant was that I find peculiar that every Cloudlet finishes exactly at "x.1" time units. For example, in the real life, finish times times like 1.320, 2.102, 4.569, 5.734 would seem more reasonable.
But then I dug a little inside the simulation implementation and the whole event processing machine and, to my understanding, this happens because CloudSim aggregates the events and processes them all together on every "tick", which coincides with 1 time unit (or 1 sec? I'm not sure).
This results in integer-like execution times, meaning that a Cloudlet taking 600ms to execute will probably appear with 1s execution time, another taking 1700ms appears like 2s etc.
To unsubscribe from this group and stop receiving emails from it, send an email to cloudsim-plus+unsubscribe@googlegroups.com.
To post to this group, send email to clouds...@googlegroups.com.
Visit this group at https://groups.google.com/group/cloudsim-plus.
To view this discussion on the web visit https://groups.google.com/d/msgid/cloudsim-plus/24f5b98d-2b63-43e3-b3b4-8b5cf4328c7e%40googlegroups.com.
That's incredible! now it works as expected. However, now I'm experiencing another bug, probably occurring due to the changes you made in the timeSpan method;
Sometimes, when running a simulation, although cloudlets continue to submit to the respected Vm for execution, the Vm stops executing them until the end of the simulation. For example, this is a log printing every 30sec, showing info about Vm0:Time 1350.1: | Vm 0 | Average Interval CPU Usage: 17.39% | Average Interval Ram Usage: 4.21% | Average Interval Response Time: 1.00 sTime 1380.1: | Vm 0 | Average Interval CPU Usage: 34.35% | Average Interval Ram Usage: 4.81% | Average Interval Response Time: 1.31 sTime 1410.1: | Vm 0 | Average Interval CPU Usage: 30.43% | Average Interval Ram Usage: 4.56% | Average Interval Response Time: 1.30 sTime 1440.1: | Vm 0 | Average Interval CPU Usage: 0.00% | Average Interval Ram Usage: 1.95% | Average Interval Response Time: 0.00 sTime 1470.1: | Vm 0 | Average Interval CPU Usage: 0.00% | Average Interval Ram Usage: 1.95% | Average Interval Response Time: 0.00 sand from that point on, the CPU Usage stays 0.00% until the simulation exits. Two things to clear out though:1. This does not happen every time I perform a simulation, but clearly most of the times. In the above scenario, I create cloudlets with random rate, length, PES, as well as, every 30s the VM is randomly scaled up or down. Maybe a combination of these configurations triggers it?2. This never happens when I use the old timeSpan method.
Have you got any insight on this?
Thanks again for the quick responses and addressing of the issues.
To unsubscribe from this group and stop receiving emails from it, send an email to cloudsim-plus+unsubscribe@googlegroups.com.
To post to this group, send email to clouds...@googlegroups.com.
Visit this group at https://groups.google.com/group/cloudsim-plus.
To view this discussion on the web visit https://groups.google.com/d/msgid/cloudsim-plus/aa5398a8-0108-44f0-a026-e2fff23447f9%40googlegroups.com.
int numberOfPesForScaling = ThreadLocalRandom.current().nextInt(VM_PES_LOWER_BOUND, VM_PES_UPPER_BOUND);
Vm vm = vmList.get(0);
vm.getHost().getVmScheduler().deallocatePesFromVm(vm);
List<Double> PEsList = new ArrayList<>();
PEsList.addAll(Collections.nCopies(numberOfPesForScaling, (double) VM_MIPS_CAPACITY));
vm.getHost().getVmScheduler().allocatePesForVm(vm, PEsList);
vm.getProcessor().setCapacity(numberOfPesForScaling);
vm.getHost().getVmScheduler().deallocatePesFromVm(vm);
return currentTime - cl.getLastProcessingTime();
return Math.floor(currentTime) - Math.floor(cl.getLastProcessingTime());
Manoel Campos da Silva Filho Software Engineer
Computer Science and Engineering Ph.D. Student at University of Beira Interior (Portugal)
Professor at Federal Institute of Education, Science and Technology of Tocantins (Brazil)
http://manoelcampos.com
To unsubscribe from this group and stop receiving emails from it, send an email to cloudsim-plus+unsubscribe@googlegroups.com.
To post to this group, send email to clouds...@googlegroups.com.
Visit this group at https://groups.google.com/group/cloudsim-plus.
To view this discussion on the web visit https://groups.google.com/d/msgid/cloudsim-plus/91dedcc3-d206-4c27-a5ed-e116ef301a49%40googlegroups.com.
redefining the datacenter scheduling interval actually seems to do the trick.
As for the scaling process, I understand the simulation flow you described, however I find it lacking the freedom needed for this kind of work (model building); what I mean, for example, is that we want to scale a Vm up/down randomly, rather than defining an overload/underload threshold.
Nonetheless I will continue stretching and testing the capabilities of CloudSim Plus and report back anytime something comes up!
Once more, thanks for your time and patience going through my code and doing some explaining.