Time granularity in CloudSIM Plus

38 views
Skip to first unread message

Ramakrishnan S

unread,
Dec 29, 2017, 9:05:22 AM12/29/17
to CloudSim Plus
Hi, 

I am researching on the power & resource management in Cloud based Access network . 
I came across CloudSim & CloudSimPlus tools few days back and am exploring its use as primary simulation tool for my research.
But I had few queries around it -  can you please check if you can help me here?

Queries:
1) I wanted to know what is the minimum granularity w.r.t time with CloudSIM Plus simulator? Is it possible to get 1 millisecond resolution for cloud-let processing with this simulator? 
2) I see in the example code related to Power Model package, there is a "SCHEDULING_INTERVAL" which is eventually used in Datacenter class and cloudletscheduler class as scheduling interval. Is the unit of this variable in millisecond? If yes, I suppose setting this to 1 in Constants.java should work for me? or is this in seconds?

A quick revert would be highly appreciated please.

Thanks
Ramakrishnan

Manoel Campos

unread,
Dec 31, 2017, 4:40:17 PM12/31/17
to clouds...@googlegroups.com
In theory, you can set the scheduling interval  as you want. It's a double value defined in seconds. Check the docs of getSchedulingInterval() method in the Datacenter interface.

I don't remember trying to set a value smaller than one, but it probably works. If you set 0.5, your granularity will be 500 milliseconds. See the issue 121 and it's commit messages. It was related to that.

When creating a Datacenter, you can change the scheduling interval as you want. The Constants.java is used just for some legacy cloudsim examples.

Keep in mind that as smaller is your scheduling interval, slower will be your simulation. The scheduling interval doesn't affect the processing of cloudlets, it just defines how often your simulation execution is updated and how often you get notifications.

You have to try. If you need some help, just keep in touch. If you describe what you are trying to achieve, it will be easier to help you.


Queries:
1) I wanted to know what is the minimum granularity w.r.t time with CloudSIM Plus simulator? Is it possible to get 1 millisecond resolution for cloud-let processing with this simulator? 

2) I see in the example code related to Power Model package, there is a "SCHEDULING_INTERVAL" which is eventually used in Datacenter class and cloudletscheduler class as scheduling interval. Is the unit of this variable in millisecond? If yes, I suppose setting this to 1 in Constants.java should work for me? or is this in seconds?

A quick revert would be highly appreciated please.

Thanks
Ramakrishnan

--
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/7e46da30-e860-4d2e-a22d-8cd1e39cadae%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ramakrishnan S

unread,
Jan 15, 2018, 10:17:57 PM1/15/18
to clouds...@googlegroups.com
Thank you so much for replying to my query. 

I am actually trying to work on Cloud computation with processing resolution requirement of < 100 ms (say 10ms or 1 ms). 
Further I require cloudlets to be expressed in MIPS rather than in Input/Output File sizes. Just wanted to check if it is designed that way. 

I tried changing the the parameter in the example with scheduler interval set to 0.01/0.001 seconds, but I saw repeated logs as shown below - is there an issue here?
>> New resource usage of PowerDatacenter1 for the time frame starting at 0.101:
Is there any other parameter I should update in CloudSim package to make it work for <100ms scheduling interval?

Thanks once again, 
Ramakrishnan 

--
http://cloudsimplus.org
---
You received this message because you are subscribed to a topic in the Google Groups "CloudSim Plus" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cloudsim-plus/Qrt3xbwAZIs/unsubscribe.
To unsubscribe from this group and all its topics, 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.

For more options, visit https://groups.google.com/d/optout.



--
-----------------------------------------
S. Ramakrishnan

Manoel Campos

unread,
Jan 16, 2018, 7:56:54 AM1/16/18
to clouds...@googlegroups.com
I am actually trying to work on Cloud computation with processing resolution requirement of < 100 ms (say 10ms or 1 ms). 
Further I require cloudlets to be expressed in MIPS rather than in Input/Output File sizes. Just wanted to check if it is designed that way. 
The main specification for a Cloudlet is its length, defined in MIPS. The input/output sizes are used just for simulating the delay of transferring the Cloudlet through the network.
  
I tried changing the the parameter in the example with scheduler interval set to 0.01/0.001 seconds, but I saw repeated logs as shown below - is there an issue here?
>> New resource usage of PowerDatacenter1 for the time frame starting at 0.101:

This is just a print from CloudSim original code to show increase in power usage. As you reduce the scheduling interval, you'll see a lot of these prints. It's not an issue.
You can disable logs for some entities such as a PowerDatacenter calling the setLog method to disable PowerDatacenter's log output.
 

Is there any other parameter I should update in CloudSim package to make it work for <100ms scheduling interval?
In fact, trying to set the scheduling interval as a very small value such as 1ms is not working (cloudlets aren't processed).
However, it works for values below 1sec, such as 0.5. It has to to with the CloudSim.minTimeBetweenEvents which has a default value of 0.1 sec.
If you change this to 0.001, it will work. But you can't change this value programatically because there isn't a setter for this field.
If you change CloudSim Plus code directly, you'll end up with a version different from the official one. 
When CloudSim Plus updates are released, you'll have trouble to stay up to date.
Therefore, if you really need this feature, I may add a setter to enable you to change the attribute from your simulation's code.
 
Reply all
Reply to author
Forward
0 new messages