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

Implement pacing #180

Closed
Ralith opened this issue Jan 6, 2019 · 4 comments · Fixed by #852
Closed

Implement pacing #180

Ralith opened this issue Jan 6, 2019 · 4 comments · Fixed by #852
Labels
bug Something isn't working

Comments

@Ralith
Copy link
Collaborator

Ralith commented Jan 6, 2019

As discussed in the recovery document.

@Ralith
Copy link
Collaborator Author

Ralith commented Feb 12, 2019

Of interest is the recently introduced Linux SO_TXTIME cmsg, which allows pacing to be offloaded to the kernel or even network hardware on a correctly configured system.

@Ralith Ralith added the enhancement New feature or request label Feb 12, 2019
@Ralith
Copy link
Collaborator Author

Ralith commented Oct 17, 2019

An efficient software implementation could work by packets in regular bursts of at most a certain size, rather than attempting to space individual packets out perfectly.

@Ralith
Copy link
Collaborator Author

Ralith commented Nov 18, 2019

As of draft 24 this is now required:

Sending multiple packets into the network without any delay between them creates a packet burst that might cause short-term congestion and losses. Implementations MUST either use pacing or limit such bursts to the initial congestion window

@Ralith Ralith added bug Something isn't working and removed enhancement New feature or request labels Nov 18, 2019
@Ralith
Copy link
Collaborator Author

Ralith commented May 22, 2020

The draft now further requires that bursts be limited specifically to the size of the initial congestion window, and suggests pacing by providing a burst budget that can reach at most the initial congestion window, refills continuously at the pacing rate, and starts full.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant