Skip to content

feat(operator): reflect GPU sharing readiness status - #2044

Draft
davidLif wants to merge 4 commits into
codex/nvfractions-mode-admissionfrom
codex/nvfractions-readiness-status
Draft

feat(operator): reflect GPU sharing readiness status#2044
davidLif wants to merge 4 commits into
codex/nvfractions-mode-admissionfrom
codex/nvfractions-readiness-status

Conversation

@davidLif

Copy link
Copy Markdown
Collaborator

Description

Stack PR 5/9 for GPU sharing migration.

Base: codex/nvfractions-mode-admission
Head: codex/nvfractions-readiness-status

This adds GPU sharing readiness integration for NvFractions. The scheduler can gate NvFractions allocation on node readiness, and the operator reflects GPU sharing readiness/status with the required RBAC, config, docs, and predicate coverage.

Related Issues

N/A

Checklist

Note: Ensure your PR title follows the Conventional Commits format (e.g., feat(scheduler): add new feature)

  • Self-reviewed
  • Added/updated tests (if needed)
  • Updated documentation (if needed)
  • Added a changelog fragment via make changelog (or applied the skip-changelog label). Do not edit CHANGELOG.md directly — pending fragments are folded into it at release time.

Breaking Changes

None.

Additional Notes

Validation run:

go test ./pkg/scheduler/plugins/gpusharingnodevalidation ./pkg/scheduler/plugins/predicates ./pkg/scheduler/actions/allocate ./pkg/operator/operands/gpu_sharing ./pkg/operator/controller

@davidLif
davidLif force-pushed the codex/nvfractions-readiness-status branch from 75cccf6 to 372bf2c Compare August 10, 2026 10:02
@davidLif
davidLif force-pushed the codex/nvfractions-readiness-status branch from 372bf2c to 4f3b820 Compare August 11, 2026 14:03
@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown

📊 Performance Benchmark Results

Comparing PR (codex/nvfractions-readiness-status) vs main branch — click to expand
goos: linux
goarch: amd64
pkg: github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions
cpu: AMD EPYC 7763 64-Core Processor                
                                    │ main-bench.txt │           pr-bench.txt            │
                                    │     sec/op     │   sec/op     vs base              │
AllocateAction_SmallCluster-4            108.0m ± 0%   107.9m ± 7%       ~ (p=0.699 n=6)
AllocateAction_MediumCluster-4           132.0m ± 0%   132.7m ± 0%  +0.53% (p=0.026 n=6)
AllocateAction_LargeCluster-4            193.6m ± 2%   194.1m ± 1%       ~ (p=0.485 n=6)
ReclaimAction_SmallCluster-4             103.5m ± 0%   103.5m ± 0%       ~ (p=0.310 n=6)
ReclaimAction_MediumCluster-4            106.7m ± 0%   106.9m ± 1%       ~ (p=0.485 n=6)
PreemptAction_SmallCluster-4             104.3m ± 0%   104.6m ± 0%       ~ (p=0.065 n=6)
PreemptAction_MediumCluster-4            115.6m ± 1%   116.1m ± 0%       ~ (p=0.310 n=6)
ConsolidationAction_SmallCluster-4       122.4m ± 1%   122.0m ± 1%       ~ (p=0.132 n=6)
ConsolidationAction_MediumCluster-4      262.8m ± 1%   260.5m ± 1%       ~ (p=0.310 n=6)
FullSchedulingCycle_SmallCluster-4       105.8m ± 0%   105.9m ± 0%       ~ (p=0.394 n=6)
FullSchedulingCycle_MediumCluster-4      118.7m ± 0%   119.1m ± 0%       ~ (p=0.132 n=6)
FullSchedulingCycle_LargeCluster-4       153.4m ± 1%   154.8m ± 1%       ~ (p=0.132 n=6)
ManyQueues_MediumCluster-4               136.1m ± 1%   136.0m ± 1%       ~ (p=0.699 n=6)
GangScheduling_MediumCluster-4           151.7m ± 1%   153.0m ± 2%  +0.85% (p=0.015 n=6)
geomean                                  131.7m        131.9m       +0.19%

                                    │ main-bench.txt │            pr-bench.txt            │
                                    │      B/op      │     B/op      vs base              │
AllocateAction_SmallCluster-4           2.086Mi ± 1%   2.083Mi ± 1%       ~ (p=0.699 n=6)
AllocateAction_MediumCluster-4          9.903Mi ± 0%   9.914Mi ± 0%       ~ (p=0.065 n=6)
AllocateAction_LargeCluster-4           31.26Mi ± 0%   31.29Mi ± 0%  +0.08% (p=0.002 n=6)
ReclaimAction_SmallCluster-4            951.9Ki ± 0%   957.2Ki ± 1%  +0.56% (p=0.026 n=6)
ReclaimAction_MediumCluster-4           3.102Mi ± 0%   3.112Mi ± 0%  +0.30% (p=0.004 n=6)
PreemptAction_SmallCluster-4            1.343Mi ± 0%   1.348Mi ± 1%       ~ (p=0.093 n=6)
PreemptAction_MediumCluster-4           5.934Mi ± 0%   5.942Mi ± 0%  +0.14% (p=0.002 n=6)
ConsolidationAction_SmallCluster-4      8.203Mi ± 0%   8.206Mi ± 0%       ~ (p=0.699 n=6)
ConsolidationAction_MediumCluster-4     67.76Mi ± 0%   67.77Mi ± 0%  +0.03% (p=0.041 n=6)
FullSchedulingCycle_SmallCluster-4      1.405Mi ± 1%   1.408Mi ± 1%       ~ (p=0.132 n=6)
FullSchedulingCycle_MediumCluster-4     6.140Mi ± 0%   6.150Mi ± 0%  +0.16% (p=0.002 n=6)
FullSchedulingCycle_LargeCluster-4      18.36Mi ± 0%   18.38Mi ± 0%  +0.11% (p=0.002 n=6)
ManyQueues_MediumCluster-4              13.13Mi ± 0%   13.14Mi ± 0%  +0.07% (p=0.002 n=6)
GangScheduling_MediumCluster-4          15.33Mi ± 0%   15.35Mi ± 0%  +0.12% (p=0.002 n=6)
geomean                                 6.542Mi        6.552Mi       +0.16%

                                    │ main-bench.txt │           pr-bench.txt            │
                                    │   allocs/op    │  allocs/op   vs base              │
AllocateAction_SmallCluster-4            31.49k ± 0%   31.60k ± 0%  +0.34% (p=0.002 n=6)
AllocateAction_MediumCluster-4           245.8k ± 0%   246.2k ± 0%  +0.18% (p=0.002 n=6)
AllocateAction_LargeCluster-4            1.007M ± 0%   1.008M ± 0%  +0.11% (p=0.002 n=6)
ReclaimAction_SmallCluster-4             8.936k ± 0%   8.997k ± 0%  +0.68% (p=0.002 n=6)
ReclaimAction_MediumCluster-4            28.12k ± 0%   28.37k ± 0%  +0.89% (p=0.002 n=6)
PreemptAction_SmallCluster-4             15.27k ± 0%   15.35k ± 0%  +0.57% (p=0.002 n=6)
PreemptAction_MediumCluster-4            55.29k ± 0%   55.64k ± 0%  +0.63% (p=0.002 n=6)
ConsolidationAction_SmallCluster-4       109.7k ± 0%   109.7k ± 0%  +0.07% (p=0.002 n=6)
ConsolidationAction_MediumCluster-4      1.020M ± 0%   1.021M ± 0%  +0.04% (p=0.002 n=6)
FullSchedulingCycle_SmallCluster-4       19.63k ± 0%   19.72k ± 0%  +0.42% (p=0.002 n=6)
FullSchedulingCycle_MediumCluster-4      136.3k ± 0%   136.6k ± 0%  +0.25% (p=0.002 n=6)
FullSchedulingCycle_LargeCluster-4       537.7k ± 0%   538.5k ± 0%  +0.16% (p=0.002 n=6)
ManyQueues_MediumCluster-4               274.0k ± 0%   274.5k ± 0%  +0.16% (p=0.002 n=6)
GangScheduling_MediumCluster-4           455.3k ± 0%   456.2k ± 0%  +0.18% (p=0.002 n=6)
geomean                                  109.0k        109.3k       +0.33%

pkg: github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/integration_tests/reclaim
                                                          │ main-bench.txt │            pr-bench.txt            │
                                                          │     sec/op     │    sec/op     vs base              │
ReclaimLargeJobs_10Node-4                                      136.3m ± 0%   136.4m ±  1%       ~ (p=0.485 n=6)
ReclaimLargeJobs_50Node-4                                      311.2m ± 8%   313.3m ±  7%       ~ (p=0.589 n=6)
ReclaimLargeJobs_100Node-4                                     623.4m ± 8%   624.2m ±  1%       ~ (p=0.699 n=6)
ReclaimLargeJobs_200Node-4                                      1.595 ± 1%    1.606 ±  1%  +0.69% (p=0.026 n=6)
ReclaimLargeJobs_500Node-4                                      7.340 ± 1%    7.423 ±  1%       ~ (p=0.093 n=6)
ReclaimLargeJobs_1000Node-4                                     32.16 ± 0%    32.45 ±  1%  +0.90% (p=0.002 n=6)
ReclaimManySingleGPUJobsFullCycle_10Node-4                     157.2m ± 1%   157.5m ±  1%       ~ (p=0.310 n=6)
ReclaimManySingleGPUJobsFullCycle_50Node-4                     965.4m ± 1%   983.0m ±  1%  +1.82% (p=0.004 n=6)
ReclaimManySingleGPUJobsFullCycle_100Node-4                     3.374 ± 2%    3.428 ±  1%  +1.61% (p=0.009 n=6)
ReclaimManySingleGPUJobsFullCycle_200Node-4                     13.34 ± 1%    13.75 ±  2%  +3.02% (p=0.002 n=6)
ReclaimManySingleGPUJobsFullCycle_500Node-4                     91.55 ± 5%    93.72 ± 14%       ~ (p=0.180 n=6)
ReclaimManySingleGPUJobsFullCycleWithMinRuntime_500Node-4       91.02 ± 5%    94.21 ±  4%       ~ (p=0.065 n=6)
geomean                                                         3.016         3.056        +1.34%

                                                          │ main-bench.txt │            pr-bench.txt            │
                                                          │      B/op      │     B/op      vs base              │
ReclaimLargeJobs_10Node-4                                     17.21Mi ± 1%   17.21Mi ± 1%       ~ (p=0.937 n=6)
ReclaimLargeJobs_50Node-4                                     91.89Mi ± 0%   91.94Mi ± 0%       ~ (p=0.394 n=6)
ReclaimLargeJobs_100Node-4                                    204.3Mi ± 0%   204.3Mi ± 0%       ~ (p=0.699 n=6)
ReclaimLargeJobs_200Node-4                                    486.2Mi ± 0%   486.2Mi ± 0%       ~ (p=1.000 n=6)
ReclaimLargeJobs_500Node-4                                    1.698Gi ± 0%   1.698Gi ± 0%       ~ (p=0.132 n=6)
ReclaimLargeJobs_1000Node-4                                   5.142Gi ± 0%   5.141Gi ± 0%       ~ (p=0.937 n=6)
ReclaimManySingleGPUJobsFullCycle_10Node-4                    14.80Mi ± 0%   14.81Mi ± 0%       ~ (p=0.310 n=6)
ReclaimManySingleGPUJobsFullCycle_50Node-4                    145.0Mi ± 0%   145.0Mi ± 0%       ~ (p=0.937 n=6)
ReclaimManySingleGPUJobsFullCycle_100Node-4                   470.7Mi ± 0%   470.7Mi ± 0%       ~ (p=0.310 n=6)
ReclaimManySingleGPUJobsFullCycle_200Node-4                   1.630Gi ± 0%   1.630Gi ± 0%       ~ (p=0.818 n=6)
ReclaimManySingleGPUJobsFullCycle_500Node-4                   10.34Gi ± 0%   10.34Gi ± 0%       ~ (p=0.589 n=6)
ReclaimManySingleGPUJobsFullCycleWithMinRuntime_500Node-4     10.34Gi ± 0%   10.35Gi ± 0%  +0.02% (p=0.015 n=6)
geomean                                                       504.5Mi        504.6Mi       +0.02%

                                                          │ main-bench.txt │           pr-bench.txt            │
                                                          │   allocs/op    │  allocs/op   vs base              │
ReclaimLargeJobs_10Node-4                                      242.0k ± 0%   242.2k ± 0%  +0.06% (p=0.037 n=6)
ReclaimLargeJobs_50Node-4                                      1.482M ± 0%   1.482M ± 0%  +0.05% (p=0.002 n=6)
ReclaimLargeJobs_100Node-4                                     3.741M ± 0%   3.743M ± 0%  +0.04% (p=0.002 n=6)
ReclaimLargeJobs_200Node-4                                     10.52M ± 0%   10.52M ± 0%  +0.03% (p=0.002 n=6)
ReclaimLargeJobs_500Node-4                                     45.58M ± 0%   45.58M ± 0%  +0.02% (p=0.002 n=6)
ReclaimLargeJobs_1000Node-4                                    159.5M ± 0%   159.5M ± 0%  +0.01% (p=0.002 n=6)
ReclaimManySingleGPUJobsFullCycle_10Node-4                     279.9k ± 0%   280.3k ± 0%  +0.12% (p=0.041 n=6)
ReclaimManySingleGPUJobsFullCycle_50Node-4                     3.742M ± 0%   3.743M ± 0%  +0.04% (p=0.002 n=6)
ReclaimManySingleGPUJobsFullCycle_100Node-4                    13.33M ± 0%   13.34M ± 0%  +0.02% (p=0.002 n=6)
ReclaimManySingleGPUJobsFullCycle_200Node-4                    50.07M ± 0%   50.07M ± 0%  +0.01% (p=0.002 n=6)
ReclaimManySingleGPUJobsFullCycle_500Node-4                    300.6M ± 0%   300.6M ± 0%  +0.01% (p=0.002 n=6)
ReclaimManySingleGPUJobsFullCycleWithMinRuntime_500Node-4      300.6M ± 0%   300.6M ± 0%  +0.01% (p=0.002 n=6)
geomean                                                        11.69M        11.69M       +0.03%

                                                          │ main-bench.txt │              pr-bench.txt              │
                                                          │ full_cycles/op │ full_cycles/op  vs base                │
ReclaimManySingleGPUJobsFullCycle_10Node-4                      1.000 ± 0%       1.000 ± 0%       ~ (p=1.000 n=6) ¹
ReclaimManySingleGPUJobsFullCycle_50Node-4                      1.000 ± 0%       1.000 ± 0%       ~ (p=1.000 n=6) ¹
ReclaimManySingleGPUJobsFullCycle_100Node-4                     1.000 ± 0%       1.000 ± 0%       ~ (p=1.000 n=6) ¹
ReclaimManySingleGPUJobsFullCycle_200Node-4                     1.000 ± 0%       1.000 ± 0%       ~ (p=1.000 n=6) ¹
ReclaimManySingleGPUJobsFullCycle_500Node-4                     1.000 ± 0%       1.000 ± 0%       ~ (p=1.000 n=6) ¹
ReclaimManySingleGPUJobsFullCycleWithMinRuntime_500Node-4       1.000 ± 0%       1.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                                         1.000            1.000       +0.00%
¹ all samples are equal

                                            │          main-bench.txt           │                     pr-bench.txt                     │
                                            │ fit_error_tasks_after_allocate/op │ fit_error_tasks_after_allocate/op  vs base           │
ReclaimManySingleGPUJobsFullCycle_500Node-4                         4.000k ± 0%                         4.000k ± 0%  ~ (p=1.000 n=6) ¹
¹ all samples are equal

                                            │          main-bench.txt           │                    pr-bench.txt                    │
                                            │ heap_live_after_allocate_bytes/op │ heap_live_after_allocate_bytes/op  vs base         │
ReclaimManySingleGPUJobsFullCycle_500Node-4                        41.55M ± 76%                        41.55M ± 76%  ~ (p=0.937 n=6)

                                            │         main-bench.txt         │                  pr-bench.txt                   │
                                            │ heap_live_after_cycle_bytes/op │ heap_live_after_cycle_bytes/op  vs base         │
ReclaimManySingleGPUJobsFullCycle_500Node-4                     56.12M ± 56%                     56.15M ± 56%  ~ (p=0.937 n=6)

pkg: github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/preempt
                                  │ main-bench.txt │           pr-bench.txt            │
                                  │     sec/op     │   sec/op     vs base              │
OrderedVictimsQueueConstruction-4      717.6µ ± 1%   735.2µ ± 4%  +2.45% (p=0.002 n=6)

                                  │ main-bench.txt │          pr-bench.txt           │
                                  │      B/op      │     B/op      vs base           │
OrderedVictimsQueueConstruction-4     114.9Ki ± 0%   114.9Ki ± 0%  ~ (p=1.000 n=6) ¹
¹ all samples are equal

                                  │ main-bench.txt │          pr-bench.txt          │
                                  │   allocs/op    │  allocs/op   vs base           │
OrderedVictimsQueueConstruction-4      4.033k ± 0%   4.033k ± 0%  ~ (p=1.000 n=6) ¹
¹ all samples are equal

pkg: github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/reclaim
                                                         │ main-bench.txt │           pr-bench.txt            │
                                                         │     sec/op     │   sec/op     vs base              │
ReclaimUnschedulableDistributedJob_10Node-4                   146.8m ± 2%   146.6m ± 1%       ~ (p=0.818 n=6)
ReclaimUnschedulableDistributedJob_50Node-4                    3.343 ± 3%    3.332 ± 1%       ~ (p=0.589 n=6)
ReclaimUnschedulableDistributedJob_100Node-4                   16.17 ± 1%    16.12 ± 2%       ~ (p=0.485 n=6)
ReclaimUnschedulableDistributedJob_AntiAffinity100Node-4       15.63 ± 2%    14.88 ± 2%  -4.78% (p=0.002 n=6)
ReclaimWithMissingPVCJobs-4                                   2.558m ± 4%   2.535m ± 5%       ~ (p=0.589 n=6)
geomean                                                       794.9m        784.5m       -1.30%

                                                         │ main-bench.txt │            pr-bench.txt            │
                                                         │      B/op      │     B/op      vs base              │
ReclaimUnschedulableDistributedJob_10Node-4                  20.91Mi ± 3%   20.90Mi ± 4%       ~ (p=0.818 n=6)
ReclaimUnschedulableDistributedJob_50Node-4                  1.154Gi ± 0%   1.155Gi ± 0%       ~ (p=0.394 n=6)
ReclaimUnschedulableDistributedJob_100Node-4                 5.560Gi ± 0%   5.560Gi ± 0%       ~ (p=0.937 n=6)
ReclaimUnschedulableDistributedJob_AntiAffinity100Node-4     5.159Gi ± 0%   5.159Gi ± 0%       ~ (p=0.937 n=6)
ReclaimWithMissingPVCJobs-4                                  9.086Ki ± 2%   9.055Ki ± 2%       ~ (p=0.567 n=6)
geomean                                                      92.02Mi        91.95Mi       -0.08%

                                                         │ main-bench.txt │           pr-bench.txt            │
                                                         │   allocs/op    │  allocs/op   vs base              │
ReclaimUnschedulableDistributedJob_10Node-4                   306.1k ± 3%   306.3k ± 3%  +0.06% (p=0.037 n=6)
ReclaimUnschedulableDistributedJob_50Node-4                   27.77M ± 0%   27.77M ± 0%       ~ (p=0.937 n=6)
ReclaimUnschedulableDistributedJob_100Node-4                  169.0M ± 0%   169.0M ± 0%       ~ (p=0.699 n=6)
ReclaimUnschedulableDistributedJob_AntiAffinity100Node-4      146.8M ± 0%   146.8M ± 0%       ~ (p=0.818 n=6)
ReclaimWithMissingPVCJobs-4                                    170.0 ± 1%    170.0 ± 1%       ~ (p=1.000 n=6)
geomean                                                       2.046M        2.046M       +0.01%

                                                         │ main-bench.txt │             pr-bench.txt             │
                                                         │  duplicate/op  │ duplicate/op  vs base                │
ReclaimUnschedulableDistributedJob_10Node-4                  0.000 ± 0%       0.000 ± 0%       ~ (p=1.000 n=6) ¹
ReclaimUnschedulableDistributedJob_50Node-4                  366.0 ± 0%       366.0 ± 0%       ~ (p=1.000 n=6) ¹
ReclaimUnschedulableDistributedJob_100Node-4                1.020k ± 0%      1.020k ± 0%       ~ (p=1.000 n=6) ¹
ReclaimUnschedulableDistributedJob_AntiAffinity100Node-4    1.020k ± 0%      1.020k ± 0%       ~ (p=1.000 n=6) ¹
geomean                                                                 ²                 +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                                         │ main-bench.txt │             pr-bench.txt             │
                                                         │  simulated/op  │ simulated/op  vs base                │
ReclaimUnschedulableDistributedJob_10Node-4                    18.00 ± 0%     18.00 ± 0%       ~ (p=1.000 n=6) ¹
ReclaimUnschedulableDistributedJob_50Node-4                    178.0 ± 0%     178.0 ± 0%       ~ (p=1.000 n=6) ¹
ReclaimUnschedulableDistributedJob_100Node-4                   378.0 ± 0%     378.0 ± 0%       ~ (p=1.000 n=6) ¹
ReclaimUnschedulableDistributedJob_AntiAffinity100Node-4       378.0 ± 0%     378.0 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                                        146.3          146.3       +0.00%
¹ all samples are equal

Legend

  • 📉 Negative delta = Performance improvement (faster)
  • 📈 Positive delta = Performance regression (slower)
  • p-value < 0.05 indicates statistically significant change
Raw benchmark data

PR branch:

goos: linux
goarch: amd64
pkg: github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions
cpu: AMD EPYC 7763 64-Core Processor                
BenchmarkAllocateAction_SmallCluster-4         	       9	 115432541 ns/op	 2196552 B/op	   31612 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108124421 ns/op	 2194448 B/op	   31605 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107979134 ns/op	 2179211 B/op	   31600 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107913214 ns/op	 2174375 B/op	   31590 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107916068 ns/op	 2189176 B/op	   31601 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107827365 ns/op	 2175588 B/op	   31595 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 132218400 ns/op	10395930 B/op	  246232 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 132239375 ns/op	10394517 B/op	  246231 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 132773513 ns/op	10396546 B/op	  246208 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 132692054 ns/op	10395539 B/op	  246228 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 133278017 ns/op	10395894 B/op	  246248 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 133224622 ns/op	10395818 B/op	  246256 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 195932202 ns/op	32801972 B/op	 1008294 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 193601356 ns/op	32811198 B/op	 1008338 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 192931282 ns/op	32808494 B/op	 1008305 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 195122739 ns/op	32799064 B/op	 1008272 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 192411792 ns/op	32807274 B/op	 1008286 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 194680486 ns/op	32829396 B/op	 1008278 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103550068 ns/op	  975199 B/op	    8992 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103184142 ns/op	  980205 B/op	    8997 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103525366 ns/op	  976874 B/op	    8998 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103382386 ns/op	  980583 B/op	    8997 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103606248 ns/op	  980098 B/op	    8996 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103574962 ns/op	  980613 B/op	    8998 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 107142427 ns/op	 3258516 B/op	   28370 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106904438 ns/op	 3267121 B/op	   28369 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106217844 ns/op	 3262227 B/op	   28370 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106926226 ns/op	 3262481 B/op	   28368 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106484923 ns/op	 3263027 B/op	   28369 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 107212184 ns/op	 3266099 B/op	   28371 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104335806 ns/op	 1406837 B/op	   15354 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104260490 ns/op	 1414021 B/op	   15353 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104623626 ns/op	 1409850 B/op	   15351 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104665715 ns/op	 1414517 B/op	   15352 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104575462 ns/op	 1415055 B/op	   15357 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104618493 ns/op	 1413936 B/op	   15354 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 116072512 ns/op	 6233744 B/op	   55642 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115815017 ns/op	 6230770 B/op	   55642 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 116083945 ns/op	 6230866 B/op	   55644 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 116204887 ns/op	 6230658 B/op	   55642 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 116234086 ns/op	 6238779 B/op	   55643 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 116424339 ns/op	 6230763 B/op	   55643 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 122126930 ns/op	 8600329 B/op	  109712 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 122564553 ns/op	 8600800 B/op	  109718 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 122060993 ns/op	 8601422 B/op	  109714 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 122024250 ns/op	 8607805 B/op	  109776 allocs/op

Main branch:

goos: linux
goarch: amd64
pkg: github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions
cpu: AMD EPYC 7763 64-Core Processor                
BenchmarkAllocateAction_SmallCluster-4         	      10	 108227411 ns/op	 2190012 B/op	   31497 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107847629 ns/op	 2195103 B/op	   31494 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107529087 ns/op	 2187924 B/op	   31494 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108039507 ns/op	 2171727 B/op	   31486 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107907881 ns/op	 2186336 B/op	   31488 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107999559 ns/op	 2172272 B/op	   31492 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 132061754 ns/op	10403894 B/op	  245772 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 132014358 ns/op	10384649 B/op	  245789 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 132565843 ns/op	10384671 B/op	  245782 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 131977355 ns/op	10384237 B/op	  245765 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 131611900 ns/op	10384357 B/op	  245773 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 132349355 ns/op	10383713 B/op	  245790 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 194857251 ns/op	32778465 B/op	 1007213 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 192898722 ns/op	32775549 B/op	 1007147 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 190674954 ns/op	32775882 B/op	 1007117 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 195258556 ns/op	32788798 B/op	 1007192 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 191435450 ns/op	32785910 B/op	 1007176 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 194341652 ns/op	32787825 B/op	 1007196 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103533405 ns/op	  977731 B/op	    8936 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103527348 ns/op	  970122 B/op	    8934 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103548570 ns/op	  974495 B/op	    8935 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103092889 ns/op	  974464 B/op	    8936 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103167618 ns/op	  978618 B/op	    8939 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103436273 ns/op	  974943 B/op	    8936 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106579261 ns/op	 3260664 B/op	   28120 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106722454 ns/op	 3253112 B/op	   28119 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106938080 ns/op	 3249761 B/op	   28120 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106546226 ns/op	 3256892 B/op	   28120 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106774392 ns/op	 3250049 B/op	   28119 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106341828 ns/op	 3252976 B/op	   28119 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104498512 ns/op	 1412076 B/op	   15268 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104309018 ns/op	 1407957 B/op	   15267 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104518623 ns/op	 1412354 B/op	   15270 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104264175 ns/op	 1407789 B/op	   15267 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104189590 ns/op	 1404180 B/op	   15267 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104157683 ns/op	 1407842 B/op	   15267 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115672434 ns/op	 6219835 B/op	   55290 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115536984 ns/op	 6215704 B/op	   55291 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 116272767 ns/op	 6224282 B/op	   55294 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115351019 ns/op	 6224232 B/op	   55292 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 116875671 ns/op	 6215364 B/op	   55289 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115190246 ns/op	 6224176 B/op	   55293 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 122803879 ns/op	 8601555 B/op	  109647 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 123234469 ns/op	 8600381 B/op	  109647 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 122427590 ns/op	 8599722 B/op	  109639 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 122350060 ns/op	 8603576 B/op	  109681 allocs/op

@davidLif
davidLif force-pushed the codex/nvfractions-readiness-status branch 3 times, most recently from 0adcfcc to 9aa96a5 Compare August 11, 2026 21:18
@davidLif
davidLif force-pushed the codex/nvfractions-readiness-status branch 2 times, most recently from 5961b27 to 14f20f4 Compare August 11, 2026 22:11
@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown

Total coverage: 54.6% -> 54.9% (delta 0.30%)

Merging this branch changes the coverage (2 decrease, 4 increase)

Impacted Packages Coverage Δ 🤖
github.com/kai-scheduler/KAI-scheduler/cmd/scheduler/app 36.81% (-1.05%) 👎
github.com/kai-scheduler/KAI-scheduler/cmd/scheduler/app/options 90.91% (+0.21%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/common/constants 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/operator/controller 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/operator/operands/gpu_sharing 69.70% (+69.70%) 🌟
github.com/kai-scheduler/KAI-scheduler/pkg/operator/operands/scheduler 82.43% (+0.15%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/allocate 94.87% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/conf 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/plugins/gpusharingnodevalidation 34.00% (+34.00%) 🌟
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/plugins/predicates 72.14% (-2.11%) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/test_utils 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/test_utils/nodes_fake 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/kai-scheduler/KAI-scheduler/cmd/scheduler/app/options/options.go 90.91% (+0.21%) 44 (+1) 40 (+1) 4 👍
github.com/kai-scheduler/KAI-scheduler/cmd/scheduler/app/server.go 4.49% (-0.21%) 89 (+4) 4 85 (+4) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/common/constants/constants.go 0.00% (ø) 2 0 2
github.com/kai-scheduler/KAI-scheduler/pkg/operator/controller/config_controller.go 0.00% (ø) 50 (+1) 0 50 (+1)
github.com/kai-scheduler/KAI-scheduler/pkg/operator/operands/gpu_sharing/gpu_sharing.go 69.70% (+69.70%) 33 (+33) 23 (+23) 10 (+10) 🌟
github.com/kai-scheduler/KAI-scheduler/pkg/operator/operands/scheduler/resources_for_shard.go 85.80% (+0.16%) 176 (+2) 151 (+2) 25 👍
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/conf/scheduler_conf.go 0.00% (ø) 15 0 15
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/plugins/gpusharingnodevalidation/gpusharingnodevalidation.go 34.00% (+34.00%) 50 (+50) 17 (+17) 33 (+33) 🌟
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/plugins/predicates/predicates.go 72.14% (-2.11%) 140 (-27) 101 (-23) 39 (-4) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/test_utils/nodes_fake/nodes.go 0.00% (ø) 141 (+4) 0 141 (+4)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/test_utils/test_utils.go 0.00% (ø) 159 0 159
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/test_utils/test_utils_builder.go 0.00% (ø) 164 (+3) 0 164 (+3)

Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code.

Changed unit test files

  • github.com/kai-scheduler/KAI-scheduler/pkg/operator/operands/gpu_sharing/gpu_sharing_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/operator/operands/scheduler/resources_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/allocate/allocateFractionalGpu_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/plugins/gpusharingnodevalidation/gpusharingnodevalidation_test.go

@davidLif
davidLif force-pushed the codex/nvfractions-readiness-status branch from 14f20f4 to b124188 Compare August 13, 2026 11:30
@davidLif
davidLif force-pushed the codex/nvfractions-readiness-status branch from b124188 to 81eb01b Compare August 17, 2026 06:39
Signed-off-by: davidLif <davidshani12@gmail.com>
Signed-off-by: davidLif <davidshani12@gmail.com>
Signed-off-by: davidLif <davidshani12@gmail.com>
Signed-off-by: davidLif <davidshani12@gmail.com>
@davidLif
davidLif force-pushed the codex/nvfractions-readiness-status branch from 81eb01b to 4b251ea Compare August 17, 2026 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant