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
Mitigate wind-up problem in AP&F: prevent queue virtualStart lag #95986
Conversation
c89af44
to
fd889ec
Compare
/retest |
/assign @lavalamp |
This is a partial mitigation of the problem (#95979). This mitigation addresses one of the two sides of the imbalance. This is better than nothing. The other side of the imbalance is that queues using more than the even allocation build up a disadvantage in their |
How about changing the title of this PR from speaking about a "fix" to speaking about "mitigation"? Perhaps something like "Mitigate wind-up problem in API Priority and Fairness"? Or perhaps something more specific, such as "Prevent queue virtualStart lag in API Priority and Fairness"? |
/milestone v1.20 |
/LGTM |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: lavalamp, yue9944882 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/kind bug |
/priority important-soon |
here is simpler simulation how the max-min fairness issue happens for the wind-up test where the global virtual time proceeds 1.5/s because
rate = ConcurrencyLimit/NEQ
hence1.5 = 3/2
and at the beginning of the test Q1 demands 2/s and Q2 demands 1/s, at the middle of test, we double the demand for Q2 to 2/s:then let's generalize the ratio of demanding concurrency of Q1:Q2 from
2:1
ton:1
, if the credit accumulates for a period of real timeT
, then Q2 will takeT/n
real time to catch up with Q1's VSE. hence the bigger burst of credit accumulation we have, the shorter period of time it takes to ease the burst.btw the tests are adjusted to introduce a margin value for evaluating fairness.