lablup / lablup/backend.ai

Process all workloads in a single tick regardless of priority in Sokovan sequencer

Open Beginner friendly
#12,667 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.