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

Reduce ITP with number of active tests per user #1747

Merged
merged 1 commit into from
Jul 12, 2023

Conversation

vondele
Copy link
Member

@vondele vondele commented Jul 12, 2023

given some excessive number of active tests by some users, this patch reduces itp based on the number of active tests.

The formula used is itp *= 36.0 / (36.0 + count * count)

This reduces slowly the itp for a number of tests smaller than 6, and rapidly afterwards. For 3 active tests, the itp is 80%, for 6 active tests, the itp is 50%, for 15 active tests it is down to 13%.

For a maximum share of fishtest... have 6 tests in queue.

given some excessive number of active tests by some users, this patch reduces itp based on the number of active tests.

The formula used is `itp *= 36.0 / (36.0 + count * count)`

This reduces slowly the itp for a number of tests smaller than 6, and rapidly afterwards.
For 3 active tests, the itp is 80%, for 6 active tests, the itp is 50%, for 15 active tests it is down to 13%.

For a maximum share of fishtest... have 6 tests in queue.
@ppigazzini ppigazzini added enhancement server server side changes labels Jul 12, 2023
@ppigazzini
Copy link
Collaborator

DEV updated.

@ppigazzini
Copy link
Collaborator

ppigazzini commented Jul 12, 2023

EDIT_000: updated values and screenshot
user01 has 9 active tests with IT=36.33
user02 has 1 active test with ITP=97.30

image

@vondele
Copy link
Member Author

vondele commented Jul 12, 2023

The precise numbers might need some time to establish, i.e. once the itp has been recomputed. With 9 tests, it should be around 30%

@vondele
Copy link
Member Author

vondele commented Jul 12, 2023

which it is now:
image
user 2 is close to the 98%
image

@ppigazzini
Copy link
Collaborator

I updated the previous post, now the ITPs seem to be correct.

@cj5716
Copy link

cj5716 commented Jul 12, 2023

I have a question, can we regard tests already set to lower throughput such as 50% as something like 0.5 tests
So that we can transfer throughput to 1 test over another that we have

@vondele
Copy link
Member Author

vondele commented Jul 12, 2023

no, not easily. To transfer throughput, one should be able to pause the others (i.e. use prio -1)

@vondele
Copy link
Member Author

vondele commented Jul 12, 2023

I think this is working as intended

Copy link
Collaborator

@ppigazzini ppigazzini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LG on DEV

@ppigazzini ppigazzini merged commit c1f29c0 into official-stockfish:master Jul 12, 2023
17 checks passed
@ppigazzini
Copy link
Collaborator

PROD updated, thank you @vondele :)

ps: nitpicking, 36.0 was mandatory in python2

XInTheDark added a commit to XInTheDark/fishtest that referenced this pull request Oct 8, 2023
This distributes the number of cores more fairly between users, and allows for an effective way to transfer/split TP between runs. (See official-stockfish#1747 (comment))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement server server side changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants