-
-
Notifications
You must be signed in to change notification settings - Fork 402
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
Congestion window grows without bound when CPU-bound #1126
Comments
When implementing #1127 I noticed that cwnd growth depends heavily on the setting of the new Some examples: MAX_TRANSMIT_DATAGRAMS = 20:
MAX_TRANSMIT_DATAGRAMS = 30:
MAX_TRANSMIT_DATAGRAMS = 50:
MAX_TRANSMIT_DATAGRAMS = 100:
While this benchmark looks like Overall I think the way |
What if we maintain a separate |
Interesting thought. But it kind of relies on whether the application does call The other question is whether this would already been improved upon if #1131 gets addressed by merging tasks. I'm not sure, haven't thought too deeply about this. |
So long as the polling pattern is consistent, I think the behavior would be correct wrt. the amount of CPU time being given. If polling is arbitrarily erratic I don't think we can hope to guarantee good behavior regardless.
I don't think so; the fundamental problem is that the current construction of |
If throughput is limited by CPU resources, then every non-app-limited transmit will, once ACKed, cause the congestion window to grow. If CPU resources abruptly increase (e.g. due to reduced contention from other tasks and/or processes) then we risk flooding the link. The congestion controller interface/implementation should be modified such that success with N in-flight bytes is interpreted as license to grow the congestion window by at most a constant multiple of N.
The text was updated successfully, but these errors were encountered: