-
Notifications
You must be signed in to change notification settings - Fork 115
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
ack-frequency #319
ack-frequency #319
Conversation
@janaiyengar I think the PR is ready for review. PTAL. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! A couple of comments.
if (packet_tolerance > QUICLY_MAX_PACKET_TOLERANCE) | ||
packet_tolerance = QUICLY_MAX_PACKET_TOLERANCE; | ||
s->dst = quicly_encode_ack_frequency_frame(s->dst, conn->egress.ack_frequency.sequence++, packet_tolerance, | ||
conn->super.peer.transport_params.max_ack_delay * 1000, 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be set to some fraction of RTT, probably 1/8th also, but we can do this later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, one minor comment, but LGTM. Thanks for working on this!
Thank you for the review. Confirmed interoperability with picoquic. Merging. |
I simulated a server and a client connected to a switch through mininet, the topology is similar: client-------swith-------server, client: I keep adjusting the value of the -f parameter, but the number of acks and the ratio of data packets are always approximately 1:2, there is no obvious change, I don't know why this is the case, is my command written incorrectly or what? , hope to get your help, thank you! |
@larryliu2018 I'm only guessing, but presumably, there is no loss being observed. Until a loss is observed (and therefore the connection exits slow start), frequency of acks are controlled to be 2:1. The rationale is that during slow start, timely receipt of acks are essential for growing CWND at 2x per RTT. |
Thank you very much for your reply, I understand why, Tested topology: client-------switch1------------switch2------------server Among them, the link between swith1 and swith2 is set to 1000Mbps, the RTT is 1ms, |
The aim of this PR to build the framework of using ACK Frequency frames.
Specifically, the PR implements the following:
We can look into expanding / improving the use of ACK Frequency in follow-up PRs.