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

Add a section on flow control performance #3793

Merged
merged 6 commits into from
Jul 14, 2020
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions draft-ietf-quic-transport.md
Original file line number Diff line number Diff line change
Expand Up @@ -968,6 +968,17 @@ signal before advertising additional credit, since doing so will mean that the
peer will be blocked for at least an entire round trip, and potentially for
longer if the peer chooses to not send STREAMS_BLOCKED frames.

## Flow Control Performance

An endpoint that is unable to ensure that a peer has flow control credit in the
martinthomson marked this conversation as resolved.
Show resolved Hide resolved
order of the current BDP will have receive throughput limited by flow control
and not other limiting factors like congestion control. Timely sending of
martinthomson marked this conversation as resolved.
Show resolved Hide resolved
updates to flow control limits can improve performance, however an excessive
martinthomson marked this conversation as resolved.
Show resolved Hide resolved
rate of updates can also adversely affect performance.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not if I agree with this statement. You'd really have to take it to the extreme to affect performance. MAX_STREAM_DATA frames are small, and even if you bundle one of them with every ACK you send, this would likely not be a significant overhead.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tend to agree, the present working sounds like a "significant" warning, but the penalty of updating too infrequently is also severe - perhaps and example of frequently might help? such as 1/8 RTT?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tend to agree, the present working sounds like a "significant" warning, but the penalty of updating too infrequently is also severe - perhaps and example of frequently might help? such as 1/8 RTT?

Can the example of frequently lead to SWS?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd also like to understand why you're saying it's going to adversely affect performance. MsQuic bundles FC updates with ACKs and as far as I have seen, we've been able to reach some of the highest perf numbers in testing out there.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect "excessive" means "more frequently than ACKs and/or in their own packets." Should we say that?


This document does not specify techniques for tuning flow control performance
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this paragraph is necessary, but that's me.

where resources allocated to receiving data are limited.


# Connections {#connections}

Expand Down