Skip to content

docs(proposal): add SchedulerProfile design proposal - #1926

Merged
volcano-sh-bot merged 8 commits into
volcano-sh:mainfrom
0xjasoncao:docs/scheduler-profile-proposal
Nov 6, 2026
Merged

volcano-sh-bot merged 8 commits into
volcano-sh:mainfrom
0xjasoncao:docs/scheduler-profile-proposal

Conversation

@0xjasoncao

Copy link
Copy Markdown
Contributor

What type of PR is this?

/kind documentation

What this PR does / why we need it:

Adds the design proposal for SchedulerProfile — per-ModelServer scheduler
plugin combinations. A SchedulerProfile holds a complete scheduler plugin
combination (filter and score plugins with weights and args); ModelServers
reference a profile by name, with fallback to the global scheduler config.

The design was discussed in #1899 and the 2026-10-27 community meeting;
direction confirmed by @YaoZengzeng. Implementation will follow in a
separate PR.

Which issue(s) this PR fixes:

Part of #1899

Bug evidence (required for bug-related PRs):

N/A

Special notes for your reviewer:

  • Docs-only change (one new file under docs/proposal/), no code impact.

Does this PR introduce a user-facing change?:

NONE

Comment thread docs/proposal/scheduler-profile.md Resolved
Comment thread docs/proposal/scheduler-profile.md Resolved
Comment thread docs/proposal/scheduler-profile.md Resolved
Comment thread docs/proposal/scheduler-profile.md Resolved
@0xjasoncao
0xjasoncao force-pushed the docs/scheduler-profile-proposal branch 3 times, most recently from f660977 to 471fdaa Compare October 31, 2026 12:23
@0xjasoncao
0xjasoncao force-pushed the docs/scheduler-profile-proposal branch from 471fdaa to 5c24c75 Compare November 2, 2026 08:19
Comment thread docs/proposal/scheduler-profile.md Resolved
Comment thread docs/proposal/scheduler-profile.md Resolved
@0xjasoncao
0xjasoncao force-pushed the docs/scheduler-profile-proposal branch from 848dd97 to 7934060 Compare November 2, 2026 10:37
Signed-off-by: jasoncao <w_caoyu@kingsoft.com>
Signed-off-by: jasoncao <w_caoyu@kingsoft.com>
Signed-off-by: jasoncao <w_caoyu@kingsoft.com>
Signed-off-by: jasoncao <w_caoyu@kingsoft.com>
Signed-off-by: jasoncao <w_caoyu@kingsoft.com>
@0xjasoncao
0xjasoncao force-pushed the docs/scheduler-profile-proposal branch from 7934060 to 8655b81 Compare November 2, 2026 12:19
…ht gating

Signed-off-by: jasoncao <w_caoyu@kingsoft.com>
Comment thread docs/proposal/scheduler-profile.md Outdated

Users migrating from the global config must copy every plugin and arg
they rely on into the profile — nothing carries over. This differs from
the semantics discussed for the field-based approach in #1899, where a

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't need to mention these, only add to the confusion.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't need to mention these, only add to the confusion.

Okay, I will modify it

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could keep Users migrating from the global config must copy every plugin and arg they rely on into the profile — nothing carries over.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could keep Users migrating from the global config must copy every plugin and arg they rely on into the profile — nothing carries over.

OK👌

Comment thread docs/proposal/scheduler-profile.md Outdated
weight ranges.
- *Plugin-dependent*: plugin names must be registered, args must pass
each plugin's validator, plugins must support their declared role
(filter vs score), and the random plugin must be the only score

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why the random plugin must be the only score plugin?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why the random plugin must be the only score plugin?

This is the existing logic, which is mentioned in the handleRandomPluginConflicts method of /pkg/kthena-router/scheduler/plugins/conf/conf.go.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, that's ambiguous.

I thought it meant the score plugin could only use random.

We can delete this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, that's ambiguous.

I thought it meant the score plugin could only use random.

We can delete this.

Agreed, it read ambiguously. Removed from the checklist

@YaoZengzeng

Copy link
Copy Markdown
Member

two nits, generally lgtm

Per review feedback.

Signed-off-by: jasoncao <w_caoyu@kingsoft.com>
…otes

Signed-off-by: jasoncao <w_caoyu@kingsoft.com>
@YaoZengzeng

Copy link
Copy Markdown
Member

/lgtm
/approve

@0xjasoncao Thanks for your contribution :)

@volcano-sh-bot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: YaoZengzeng

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@volcano-sh-bot
volcano-sh-bot merged commit ca8d17e into volcano-sh:main Nov 6, 2026
10 checks passed
@github-project-automation github-project-automation Bot moved this from Accepted to Done in Kthena Release Tracking Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved kind/documentation Improvements or additions to documentation lgtm size/L

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants