Some cloudlets don't finish executing

135 views
Skip to first unread message

Santiago Serantes

unread,
Mar 25, 2023, 4:53:48 PM3/25/23
to CloudSim Plus: Cloud Simulation Framework
Hello everyone, 

I am using CloudSim Plus to simulate a scalable datacenter and use a reinforcement learning controller to manage scaling.

I made quite a few changes/extensions to accommodate for my use case but I kept coming across the same issue, where cloudlets wouldn't finish. At some point in the simulation, it seems that cloudlets stop executing, while the simulation clock keeps on going until the end. 
I tried many combinations for the simulation: undoing my changes, not using my custom schedulers, different scaler, different loads, disabling scaling, but eventually the issue would appear.

Thinking it might be something that I broke, I started with a clean version of CloudSim Plus (7.3.3), and started adding my changes until it broke. However, I found that I could get the same behavior without making a single modification.
I have spent a quite some time trying to figure out what was going on but I am still quite new to CloudSim Plus and I can't quite pin the issue.

I attach a Java file with a simulation I find that consistently has this issue. No other extra files are necessary to run the simulation.

This simulation is relatively simple, it is just 1 datacenter with 1 host with 8 PEs and one vm with plenty of ram and bandwidth (the limitation is the cpu resources).
It uses a SpaceShared cloudlet scheduler and a VerticalVmScalingSimple scaler for Cpu scaling.
It does execute quite a few cloudlets: 18391, and all of which have a submission delay (hardcoded), but are submitted to the broker at the start of the simulation.
(I can get the same behavior even without using scaling).

With this simulation only 5904 cloudlets finish.
I get the following message:
WARN  50963.10: DatacenterSimple: Vm 0 destroyed on Host 0/DC 1. It had a total of 12487 cloudlets (running + waiting). Some events may have been missed. You can try:
(a) decreasing CloudSim's minTimeBetweenEvents and/or Datacenter's schedulingInterval attribute;
(b) increasing broker's Vm destruction delay for idle VMs if you set it to zero;
(c) defining Cloudlets with smaller length (your Datacenter's scheduling interval may be smaller than the time to finish some Cloudlets).


I've tried all those things, and the only thing that would work was significantly reducing the length of cloudlets. However, that doesn't work for me because I want to get to a point in the simulation where more cloudlets arrive than the VM can handle to make scaling happen. If I reduce the amount of time each cloudlet takes to execute, then I need to increase the number of cloudlets and I have the same problem where cloudlets don't finish.

This issue seems to occur when the cloudlet load is heavy for the available resources, though I can't confirm that and it might only be my impression.

The behavior I see is that everything is executing just fine, and at some point in the simulation (in the example I include it's around the 18495s mark), the simulation starts running at a much faster pace (based on the printInfo logs), which coincides with the time where cloudlets are no longer being finished.
I have been using the debugger to try to understand the issue and what I found is that in the "CloudSim" class, the "FutureQueue" which contains future events, it reaches a point in the simulation where all future events have the tag "CLOUDLET_SUBMISSION", and from that point onwards all future events exclusively have this tag. There are no longer any "VM_UPDATE_CLOUDLET_PROCESSING" or "VM_VERTICAL_SCALING" events that I see up to that point. The last "VM_UPDATE_CLOUDLET_PROCESSING" event is at time 18497.75 s.

I am a bit stuck with the issue, so if anyone has any idea as to what might be going on, or any suggestions as to where I could look into further detail I would really appreciate it.

PD: I am running using IntelliJ in macOS.

Thanks in advance,
S

simulation_v3.java

Manoel Campos

unread,
Mar 25, 2023, 9:46:14 PM3/25/23
to clouds...@googlegroups.com
Hello Santiago,
There are discussions about this issue already.
I don't know if it's the same issue, but take a look at previous messages.

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


 about.me


--
If you received an answer that worked for you, please be kind and reply to let everybody knows it worked.
http://cloudsimplus.org
---
You received this message because you are subscribed to the Google Groups "CloudSim Plus: Cloud Simulation Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cloudsimplus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cloudsimplus/e69f4436-6055-4074-928a-05e8cee0fdc6n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages