Skip to content

Experiment with nonlinear probability update functions #50

@satmihir

Description

@satmihir

Today, fair adds and subtracts a constant amount of probability to all failed/passed requests - an approach consistent with SFB.

Unlike SFB though, we are not dealing with TCP's rules. We are in the messy land of HTTP where everything is optional. When a client starts getting throttled, they should be sent a retry-after header which they should respect and back off. Sadly, many clients don't and rather keep hammering the server.

In this situation, and if the resource is not fully exhausted but rather just available at a lower throughput, we may see that a heavy-hitter is never truly shut down as it'll have a higher probability of seeing success as well. If we make it too easy to get to 1, we may over-punish.

What might help is to make the probability adjustment not just linear. There may be a potential to use a different algorithm that makes it a function of time as well.

This is largely an exploratory task at this point.

Metadata

Metadata

Assignees

Labels

designRequires a design doc and that generates more tasks

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions