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

Allow job weights to be set manually #3937

Open
jonathanmetzman opened this issue Apr 10, 2024 · 5 comments
Open

Allow job weights to be set manually #3937

jonathanmetzman opened this issue Apr 10, 2024 · 5 comments

Comments

@jonathanmetzman
Copy link
Collaborator

Android and Chrome have both expressed interest in getting more cycles for their engine fuzzers. But it appears impossible to change this manually because our cron job resets weights. Let's figure out a nice way to make the cron job respect the user's wish

@jonathanmetzman
Copy link
Collaborator Author

CC @marktefftech @letitz

@jonathanmetzman jonathanmetzman changed the title Improve manual changes to weight Allow job weights to be set manually Apr 10, 2024
alhijazi pushed a commit that referenced this issue Apr 16, 2024
Simple script to allow querying fuzzer/job weights and computing some
simple stats on them.

To do in followup PRs:
 
- support editing weights once
#3937 is fixed
- support `FuzzTargetJob` weights
@letitz
Copy link
Collaborator

letitz commented Apr 19, 2024

If I read the code correctly, the cron job only mutates FuzzerJob.multiplier values, not FuzzerJob.weight values. Can we simply manually set FuzzerJob.weight instead?

@letitz
Copy link
Collaborator

letitz commented May 2, 2024

Ah, I misread the issue. This is about engine fuzzers. There is indeed no way to manually set weights for libfuzzer and afl fuzz targets, since the weights are clobbered by a cron job. It currently works for centipede targets because there is no support in the cron job for other fuzzing engines.

@letitz
Copy link
Collaborator

letitz commented May 2, 2024

It seems to me the most straightforward solution here would be to introduce the weight/multiplier distinction for fuzz targets as is done for fuzzers, and have the cron job adjusts multipliers instead of weights. It's pretty simple, and that way it would work just like fuzzer weights for consistency.

@marktefftech
Copy link
Collaborator

I don't have any input on the existing logic for assigning weights and multipliers. Generally speaking I have found it confusing in the past.

The core issue here (at least, for Android) are our host jobs are not running basically at all.

In a design discussion yesterday, it was decided to create a new pool of hosts dedicated specifically for running our jobs.

I just wanted to leave this note in case this decision affects the work items in this ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants