lowRISC / lowRISC/dvsim

Make the scheduler resource aware

Open
#23 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

The regression runs require different tools, and those tools have differing number of available licenses. Those licenses are part of a shared pool of licenses, and it would be useful to limit the number of jobs depending on the type of resource they require (for example Tool A, and Tool B). At the moment the only configuration that can be used to influence resource usage is "max parallel jobs".

- [ ] Limit the number of concurrent jobs the scheduler will deploy per resource type. For example, max of X jobs using Tool A, max of Y jobs using Tool B.
- [ ] Limit the number of jobs in the build phase independent of the run phase?
- [ ] Limit the total number of jobs - retain the max parallel functionality
- [ ] Allow for changes in resource availability over time - for example limit license usage in the day, and increase the limits over night?
- [ ] Fully dynamic resource aware scheduling by polling an external service to get the instantaneous resource usage (allow definitions such as use up to 80% of available resources).

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

Start by reading the scheduler implementation and the existing "max parallel jobs" configuration in the Python project. Clarify which resource-limit scope is intended first: per-resource limits, build/run limits, total limits, time-varying availability, or external-service polling. Done should include a specific, testable scheduling behavior and configuration for the selected scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.