Optimise scheduling based on expected run duration
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 13
- Forks
- 21
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 8
Description
On the first run of a regression we don't know how long it's going to take to run each job type. However on subsequent runs we can estimate the duration of each job. Which means that we could schedule the longest running jobs first and infill with the fast running jobs.
The intention is to reduce the overall time it takes to run the regressions by making better use of compute resources. At the moment, there are often a few long running regression run jobs that take significantly longer than the rest. Which means runners are fully utilised for the initial part of the run and then many are idle. By making sure the longer running jobs are started first, the overall runner utilisation should be improved.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by tracing how DVSim schedules regression jobs and where durations from prior runs are stored or read. Done means subsequent regressions prioritize longer-running job types while preserving first-run behavior and improving runner utilization.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100