acsicuib / YAFS

Yet Another Fog Simulator (YAFS)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Regarding mobility simulation

kannonical opened this issue · comments

Can the mobile nodes (users) in the simulation be used to deploy services?

Yes. A node can host users and services at the same time.

Thank you so much. I have another question regarding the 'node utilization' measure, mentioned in the IEEE access paper. But I could not find the means to measure it.
Also I found a slide set related to YAFS which was very useful. But I cannot find it now. Could you let me know a link for it?

You can compute the utilization of a node using the csv file. (https://yafs.readthedocs.io/en/latest/introduction/basic.html#results) It can be performed during the simulation or at the end.
There are different ways. Perhaps, the most simple one is considering the accumulated busy time of a specific node (topo.src csv-column) so: utilization_node = sum_busy_times_node/ simulation_time. You can use the Pandas library to perform the analysis.

Thank you for your help. I defined two applications in appDefinition.json but get the following result. What is unusual is it registers a single message information (M.USER.APP.2) and has a fixed service time for all id. Could you suggest what I am doing wrong?
Screenshot from 2019-11-19 17-16-21

There was an issue in my app definition and I could resolve it.
However I still have a doubt about being able to record the entries for only source messages?
Is there a way to trace intermediate messages?

In this file, all the messages that are attended by a service are registered. If your app have multiples services, each "service" generates one log line. How many services do you have in each app?
On the other hand, in the csv file (x**_link**.csv), the communication messages are recorded.

No worries.
In your appDefinition.json, I recommend you keep unique the names of the entities. For example, you have the next code:

{
"name": "3",
"transmission": [
{
"module": "2_22",
"message_in": "M.USER.APP.3"
}
],
"module": [
{
"RAM": 3,
"type": "MODULE",
"id": 22,
"name": "2_22"
}
],

The right thing is:

{
"name": "3",
"transmission": [
{
"module": "3_22",
"message_in": "M.USER.APP.3"
}
],
"module": [
{
"RAM": 3,
"type": "MODULE",
"id": 22,
"name": "3_22"
}
],

And it's better to define different name messages for each app. It means, the applications do not share messages between them.

How is your "allocDefinition.json"? Do all the services (json "modules") have a placement?