From 66b1bc9951a11ae479d74fd1dd12a5d6c000132e Mon Sep 17 00:00:00 2001 From: Morten Torkildsen Date: Tue, 7 Oct 2025 20:44:14 +0000 Subject: [PATCH 1/4] [KEP-4816] Simple scoring for DRA Prioritized List feature --- .../4816-dra-prioritized-list/README.md | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/keps/sig-scheduling/4816-dra-prioritized-list/README.md b/keps/sig-scheduling/4816-dra-prioritized-list/README.md index 3cbe5895213..26268997315 100644 --- a/keps/sig-scheduling/4816-dra-prioritized-list/README.md +++ b/keps/sig-scheduling/4816-dra-prioritized-list/README.md @@ -91,6 +91,7 @@ tags, and then generate with `hack/update-toc.sh`. - [Risks and Mitigations](#risks-and-mitigations) - [Design Details](#design-details) - [Scheduler Implementation](#scheduler-implementation) + - [Scoring](#scoring) - [Test Plan](#test-plan) - [Prerequisite testing updates](#prerequisite-testing-updates) - [Unit tests](#unit-tests) @@ -899,6 +900,27 @@ would need a higher score, which currently is planned for beta of this feature. For alpha, the scheduler may still pick a node with a less preferred device, if there are nodes with each type of device available. +#### Scoring + +Full support for scoring in DRA is not in scope for this feature, but we will +implement limited scoring to make sure that nodes which can satisfy claims with +higher ranked subrequests are preferred over others. + +We will implement this by letting the dynamicresources scheduler plugin implement +the `Score` interface. + +The allocation result for each node will be given a score based on the ranking of +the chosen subrequests across all requests using the `FirstAvailable` field across +all claims referenced by the Pod. Since the number of subrequests for each request +is capped at 8, we will compute a score between 1 and 8 for each request, with 8 +being the best (i.e. the first option was chosen) and 1 if the 8th subrequest was +chosen. We save the score of 0 in case we want to implement optional requests. Since +the score for every node is computed based on the same claims, we end up with a +ranking of the results from all nodes. + +We don't see a need to normalize the scores for now, but this might be needed when +we implement more complicated scoring in the future. + ### Test Plan