Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only one message can be transferred per host and simulation step #41

Open
kenog opened this issue Dec 22, 2016 · 2 comments
Open

Only one message can be transferred per host and simulation step #41

kenog opened this issue Dec 22, 2016 · 2 comments

Comments

@kenog
Copy link
Contributor

kenog commented Dec 22, 2016

Dear community,

If I understand the code correctly, the tryMessagesToConnections() method in the ActiveRouter class returns once the first message has been transferred. The result is that only one message can be transferred in each simulation step for each node.
This leads to problems in my current simulations because I have a large network with many nodes communicating with one central node. Due to the behavior described above, the central node gets highly congested as the number of messages is in the order of magnitude of the simulation steps. I understand, that I could circumvent this issue by lowering the updateInterval, but this slows down the simulation considerably. Hence this is not a feasible solution for me.
Instead, my suggestion is to change the behavior of the tryMessagesToConnections() method to evaluate the updateInterval and the speed of the connection as well as the sizes of the messages sent. Then it could send as many messages in that interval as are theoretically possible to be sent within the respective simulation slot.
As this might change the simulation results rather severely in some cases, I would like to get some feedback to this before issuing a pull request. Does anyone share my opinion that the suggested behavior would be more realistic and thus suitable to be implemented in the ONE?

Cheers,
Keno

@tk721
Copy link
Collaborator

tk721 commented Jan 9, 2017

I know this issue and would like to get it fixed (and I know some people have done their own fixes to this). The approach to calculate the total capacity during the update interval and passing multiple messages within interval is the right one. So please submit a pull request if you have a fix.

@ezgitetik
Copy link

Thank you for pointing out to this. I am currently faced with concurrency issue, it causes some of messages are dropped because of another connection is up and ActiveRouter does not allow concurrent connection. Could you please explain me about the relation between update interval and this? Why lowering interval can be a solution?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants