lowRISC / lowRISC/dvsim

Optimise scheduling based on expected run duration

Open
#24 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.