Process all workloads in a single tick regardless of priority in Sokovan sequencer
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 17h 7m
- Merged PRs (30d)
- 358
Description
## Summary
The Sokovan SchedulingSequencer currently keeps only the highest-priority workloads and drops all lower-priority workloads from the current scheduling pass. Change it so that all workloads are processed within a single tick, ordered by descending priority instead of being filtered out.
## Current behavior
SchedulingSequencer.sequence() computes the top priority via max() and passes only the workloads matching that top priority to the underlying workload sequencer. Lower-priority sessions are excluded from the pass and must wait for a later tick.
## Desired behavior
Group all workloads by priority and concatenate them in descending priority order, passing the full ordered set to the underlying workload sequencer. No workload is dropped; priority only determines ordering, so higher-priority sessions are still attempted first while lower-priority ones remain eligible in the same tick.
## Scope
src/ai/backend/manager/sokovan/scheduler/provisioner/sequencers/sequencer.py
JIRA Issue: BA-6788
Contributor guide
Research direction
Start in src/ai/backend/manager/sokovan/scheduler/provisioner/sequencers/sequencer.py and inspect SchedulingSequencer.sequence(). Trace how workloads are currently selected and passed to the underlying workload sequencer. Done means every workload is included in one tick, ordered by descending priority, with no lower-priority workload filtered out.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100