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

Applied control and queueing algorithms #6

Open
kriskowal opened this issue Jul 29, 2024 · 1 comment
Open

Applied control and queueing algorithms #6

kriskowal opened this issue Jul 29, 2024 · 1 comment

Comments

@kriskowal
Copy link
Member

Please consider exercising some well-known control algorithms. I offer a couple and invite others.

I believe CoDel is straight-forward to implement as proposed.

AIMD requires the ability to observe whether a particular iteration failed, or rather, was retried. That might require a callback (e.g., the “mapback” for map) to hold a facet of the governor that reports that an error was observed and to cut the “congestion window” (concurrency limit) in half or some other multiplier/divisor.

These would be interesting and compelling use cases to illustrate.

@kriskowal
Copy link
Member Author

It’s also worth looking at the duality of “token bucket” and “leaky bucket”. Some control algorithms are considerably more precise when you flip the numerator and denominator (tokens / time vs time / tokens), where the control system proposes a time to wait before calling next(). It’s likely that there’s an illustrative example in there somewhere, with a governor that adapts such a signal to timed delays.

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

1 participant