Skip to content

feat: Support Portional Limit Annotation for nvFractions - #2072

Open
davidLif wants to merge 1 commit into
codex/gpu-sharing-docs-pr152from
DavidL/supportPortionalLimitAnnotation
Open

feat: Support Portional Limit Annotation for nvFractions#2072
davidLif wants to merge 1 commit into
codex/gpu-sharing-docs-pr152from
DavidL/supportPortionalLimitAnnotation

Conversation

@davidLif

Copy link
Copy Markdown
Collaborator

Description

Support Portional Limit Annotation for nvFractions

Related Issues

Fixes #

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

Additional Notes

@github-actions

Copy link
Copy Markdown

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

Merging this branch will increase overall coverage

Impacted Packages Coverage Δ 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/nvfractions 73.02% (+73.02%) 🌟
github.com/kai-scheduler/KAI-scheduler/pkg/common/constants 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/common/resources 67.70% (+11.07%) 🎉

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/nvfractions/nv_fractions.go 73.02% (+73.02%) 63 (+63) 46 (+46) 17 (+17) 🌟
github.com/kai-scheduler/KAI-scheduler/pkg/common/constants/constants.go 0.00% (ø) 2 0 2
github.com/kai-scheduler/KAI-scheduler/pkg/common/resources/gpu_memory_portion_limit.go 100.00% (+100.00%) 9 (+9) 9 (+9) 0 🌟
github.com/kai-scheduler/KAI-scheduler/pkg/common/resources/gpu_sharing_nvfractions.go 93.02% (+93.02%) 43 (+43) 40 (+40) 3 (+3) 🌟
github.com/kai-scheduler/KAI-scheduler/pkg/common/resources/gpu_sharing_validation.go 30.00% (+30.00%) 100 (+100) 30 (+30) 70 (+70) 🌟

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/binder/plugins/nvfractions/nv_fractions_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/common/resources/gpu_sharing_validation_test.go

@davidLif
davidLif force-pushed the DavidL/supportPortionalLimitAnnotation branch from e4aea15 to f17e5c5 Compare August 16, 2026 19:24
@github-actions

Copy link
Copy Markdown

📊 Performance Benchmark Results

Comparing PR (DavidL/supportPortionalLimitAnnotation) 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            107.6m ± 0%   108.0m ± 6%  +0.31% (p=0.015 n=6)
AllocateAction_MediumCluster-4           134.6m ± 1%   134.9m ± 0%       ~ (p=0.485 n=6)
AllocateAction_LargeCluster-4            195.7m ± 2%   195.7m ± 2%       ~ (p=0.699 n=6)
ReclaimAction_SmallCluster-4             103.1m ± 0%   103.1m ± 1%       ~ (p=0.699 n=6)
ReclaimAction_MediumCluster-4            106.2m ± 0%   106.9m ± 0%  +0.63% (p=0.009 n=6)
PreemptAction_SmallCluster-4             104.0m ± 0%   104.4m ± 0%       ~ (p=0.093 n=6)
PreemptAction_MediumCluster-4            115.4m ± 1%   115.9m ± 1%       ~ (p=0.310 n=6)
ConsolidationAction_SmallCluster-4       121.7m ± 0%   122.2m ± 1%       ~ (p=0.132 n=6)
ConsolidationAction_MediumCluster-4      260.1m ± 2%   260.4m ± 2%       ~ (p=0.818 n=6)
FullSchedulingCycle_SmallCluster-4       105.8m ± 0%   106.0m ± 0%  +0.14% (p=0.041 n=6)
FullSchedulingCycle_MediumCluster-4      119.5m ± 2%   120.0m ± 1%       ~ (p=0.485 n=6)
FullSchedulingCycle_LargeCluster-4       154.1m ± 2%   155.0m ± 2%       ~ (p=0.180 n=6)
ManyQueues_MediumCluster-4               138.1m ± 1%   137.4m ± 1%       ~ (p=0.699 n=6)
GangScheduling_MediumCluster-4           155.2m ± 2%   155.1m ± 2%       ~ (p=0.699 n=6)
geomean                                  132.1m        132.4m       +0.22%

                                    │ main-bench.txt │            pr-bench.txt            │
                                    │      B/op      │     B/op      vs base              │
AllocateAction_SmallCluster-4           2.080Mi ± 0%   2.082Mi ± 1%       ~ (p=0.180 n=6)
AllocateAction_MediumCluster-4          9.903Mi ± 0%   9.917Mi ± 0%  +0.14% (p=0.002 n=6)
AllocateAction_LargeCluster-4           31.27Mi ± 0%   31.29Mi ± 0%  +0.08% (p=0.002 n=6)
ReclaimAction_SmallCluster-4            953.9Ki ± 1%   957.8Ki ± 0%  +0.41% (p=0.009 n=6)
ReclaimAction_MediumCluster-4           3.106Mi ± 0%   3.114Mi ± 0%  +0.27% (p=0.002 n=6)
PreemptAction_SmallCluster-4            1.347Mi ± 1%   1.349Mi ± 0%       ~ (p=0.132 n=6)
PreemptAction_MediumCluster-4           5.936Mi ± 0%   5.942Mi ± 0%  +0.11% (p=0.002 n=6)
ConsolidationAction_SmallCluster-4      8.206Mi ± 0%   8.217Mi ± 0%       ~ (p=0.132 n=6)
ConsolidationAction_MediumCluster-4     67.75Mi ± 0%   67.77Mi ± 0%  +0.03% (p=0.009 n=6)
FullSchedulingCycle_SmallCluster-4      1.404Mi ± 0%   1.408Mi ± 1%  +0.28% (p=0.026 n=6)
FullSchedulingCycle_MediumCluster-4     6.141Mi ± 0%   6.152Mi ± 0%  +0.18% (p=0.041 n=6)
FullSchedulingCycle_LargeCluster-4      18.35Mi ± 0%   18.38Mi ± 0%  +0.17% (p=0.002 n=6)
ManyQueues_MediumCluster-4              13.13Mi ± 0%   13.15Mi ± 0%  +0.12% (p=0.002 n=6)
GangScheduling_MediumCluster-4          15.33Mi ± 0%   15.35Mi ± 0%  +0.17% (p=0.002 n=6)
geomean                                 6.543Mi        6.555Mi       +0.18%

                                    │ main-bench.txt │           pr-bench.txt            │
                                    │   allocs/op    │  allocs/op   vs base              │
AllocateAction_SmallCluster-4            31.49k ± 0%   31.60k ± 0%  +0.35% (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.937k ± 0%   8.997k ± 0%  +0.67% (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.08% (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.44% (p=0.002 n=6)
FullSchedulingCycle_MediumCluster-4      136.3k ± 0%   136.7k ± 0%  +0.27% (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.17% (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.34%

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 ± 1%   135.9m ± 1%       ~ (p=0.818 n=6)
ReclaimLargeJobs_50Node-4                                      322.2m ± 4%   315.5m ± 5%       ~ (p=0.485 n=6)
ReclaimLargeJobs_100Node-4                                     634.6m ± 1%   630.7m ± 1%  -0.61% (p=0.026 n=6)
ReclaimLargeJobs_200Node-4                                      1.591 ± 1%    1.598 ± 1%       ~ (p=0.699 n=6)
ReclaimLargeJobs_500Node-4                                      7.298 ± 2%    7.268 ± 1%       ~ (p=0.310 n=6)
ReclaimLargeJobs_1000Node-4                                     32.08 ± 1%    31.86 ± 1%       ~ (p=0.065 n=6)
ReclaimManySingleGPUJobsFullCycle_10Node-4                     158.1m ± 1%   157.9m ± 1%       ~ (p=0.699 n=6)
ReclaimManySingleGPUJobsFullCycle_50Node-4                     968.2m ± 0%   974.2m ± 1%       ~ (p=0.240 n=6)
ReclaimManySingleGPUJobsFullCycle_100Node-4                     3.364 ± 1%    3.375 ± 1%       ~ (p=0.240 n=6)
ReclaimManySingleGPUJobsFullCycle_200Node-4                     13.29 ± 0%    13.28 ± 1%       ~ (p=0.310 n=6)
ReclaimManySingleGPUJobsFullCycle_500Node-4                     89.81 ± 4%    89.71 ± 4%       ~ (p=0.699 n=6)
ReclaimManySingleGPUJobsFullCycleWithMinRuntime_500Node-4       88.35 ± 4%    87.51 ± 4%       ~ (p=0.818 n=6)
geomean                                                         3.015         3.005       -0.33%

                                                          │ main-bench.txt │            pr-bench.txt            │
                                                          │      B/op      │     B/op      vs base              │
ReclaimLargeJobs_10Node-4                                     17.22Mi ± 1%   17.23Mi ± 1%       ~ (p=0.485 n=6)
ReclaimLargeJobs_50Node-4                                     91.90Mi ± 0%   91.94Mi ± 0%       ~ (p=0.310 n=6)
ReclaimLargeJobs_100Node-4                                    204.3Mi ± 0%   204.3Mi ± 0%       ~ (p=0.589 n=6)
ReclaimLargeJobs_200Node-4                                    486.2Mi ± 0%   486.4Mi ± 0%       ~ (p=0.093 n=6)
ReclaimLargeJobs_500Node-4                                    1.698Gi ± 0%   1.699Gi ± 0%  +0.03% (p=0.015 n=6)
ReclaimLargeJobs_1000Node-4                                   5.141Gi ± 0%   5.142Gi ± 0%  +0.01% (p=0.041 n=6)
ReclaimManySingleGPUJobsFullCycle_10Node-4                    14.80Mi ± 0%   14.83Mi ± 0%  +0.20% (p=0.009 n=6)
ReclaimManySingleGPUJobsFullCycle_50Node-4                    145.0Mi ± 0%   145.0Mi ± 0%       ~ (p=0.699 n=6)
ReclaimManySingleGPUJobsFullCycle_100Node-4                   470.6Mi ± 0%   470.8Mi ± 0%  +0.04% (p=0.026 n=6)
ReclaimManySingleGPUJobsFullCycle_200Node-4                   1.630Gi ± 0%   1.630Gi ± 0%       ~ (p=0.589 n=6)
ReclaimManySingleGPUJobsFullCycle_500Node-4                   10.35Gi ± 0%   10.34Gi ± 0%  -0.01% (p=0.041 n=6)
ReclaimManySingleGPUJobsFullCycleWithMinRuntime_500Node-4     10.35Gi ± 0%   10.35Gi ± 0%       ~ (p=0.485 n=6)
geomean                                                       504.6Mi        504.7Mi       +0.03%

                                                          │ 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.041 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.741M ± 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.699 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.14M ± 56%                     56.13M ± 56%  ~ (p=0.818 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      714.3µ ± 1%   716.4µ ± 7%  ~ (p=0.240 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                   145.3m ± 1%   145.7m ±  1%       ~ (p=0.065 n=6)
ReclaimUnschedulableDistributedJob_50Node-4                    3.471 ± 2%    3.456 ±  1%       ~ (p=0.589 n=6)
ReclaimUnschedulableDistributedJob_100Node-4                   16.45 ± 1%    16.32 ±  0%  -0.82% (p=0.026 n=6)
ReclaimUnschedulableDistributedJob_AntiAffinity100Node-4       15.34 ± 1%    15.18 ±  2%  -1.05% (p=0.002 n=6)
ReclaimWithMissingPVCJobs-4                                   2.503m ± 7%   2.496m ± 21%       ~ (p=1.000 n=6)
geomean                                                       795.5m        791.8m        -0.46%

                                                         │ main-bench.txt │            pr-bench.txt            │
                                                         │      B/op      │     B/op      vs base              │
ReclaimUnschedulableDistributedJob_10Node-4                  20.90Mi ± 3%   20.93Mi ± 3%       ~ (p=0.818 n=6)
ReclaimUnschedulableDistributedJob_50Node-4                  1.154Gi ± 0%   1.155Gi ± 0%       ~ (p=0.240 n=6)
ReclaimUnschedulableDistributedJob_100Node-4                 5.560Gi ± 0%   5.560Gi ± 0%       ~ (p=0.589 n=6)
ReclaimUnschedulableDistributedJob_AntiAffinity100Node-4     5.159Gi ± 0%   5.159Gi ± 0%       ~ (p=0.699 n=6)
ReclaimWithMissingPVCJobs-4                                  8.992Ki ± 1%   9.086Ki ± 2%       ~ (p=0.364 n=6)
geomean                                                      91.81Mi        92.04Mi       +0.24%

                                                         │ 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.041 n=6)
ReclaimUnschedulableDistributedJob_50Node-4                   27.77M ± 0%   27.77M ± 0%       ~ (p=0.310 n=6)
ReclaimUnschedulableDistributedJob_100Node-4                  169.0M ± 0%   169.0M ± 0%       ~ (p=0.485 n=6)
ReclaimUnschedulableDistributedJob_AntiAffinity100Node-4      146.8M ± 0%   146.8M ± 0%       ~ (p=0.485 n=6)
ReclaimWithMissingPVCJobs-4                                    169.5 ± 0%    170.0 ± 1%       ~ (p=0.364 n=6)
geomean                                                       2.045M        2.046M       +0.07%

                                                         │ 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	 114365534 ns/op	 2202160 B/op	   31607 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107702858 ns/op	 2187667 B/op	   31609 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108250688 ns/op	 2190464 B/op	   31593 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107906980 ns/op	 2175835 B/op	   31595 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108029960 ns/op	 2179202 B/op	   31594 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107899767 ns/op	 2175970 B/op	   31598 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 135061278 ns/op	10414485 B/op	  246231 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 134355855 ns/op	10398280 B/op	  246250 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 135233601 ns/op	10406724 B/op	  246257 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 134689306 ns/op	10397556 B/op	  246229 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 134635144 ns/op	10398617 B/op	  246170 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 135035384 ns/op	10399125 B/op	  246213 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 197502713 ns/op	32812252 B/op	 1008327 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 195462170 ns/op	32808777 B/op	 1008284 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 193099814 ns/op	32812830 B/op	 1008228 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 195945308 ns/op	32809192 B/op	 1008226 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 198253146 ns/op	32840794 B/op	 1008272 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 192311334 ns/op	32810266 B/op	 1008322 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103060375 ns/op	  979626 B/op	    8995 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103130994 ns/op	  984504 B/op	    8998 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103451533 ns/op	  980855 B/op	    8998 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103126833 ns/op	  980797 B/op	    8997 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103671929 ns/op	  980751 B/op	    8997 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103048233 ns/op	  980474 B/op	    8996 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106900430 ns/op	 3260027 B/op	   28369 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106991752 ns/op	 3272676 B/op	   28371 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106484134 ns/op	 3267626 B/op	   28370 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 107266511 ns/op	 3264193 B/op	   28370 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106896105 ns/op	 3260078 B/op	   28369 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106567849 ns/op	 3267273 B/op	   28370 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104191980 ns/op	 1415015 B/op	   15355 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104654867 ns/op	 1411010 B/op	   15353 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104383677 ns/op	 1415805 B/op	   15356 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104215531 ns/op	 1411388 B/op	   15353 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104353980 ns/op	 1414900 B/op	   15354 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104348397 ns/op	 1415272 B/op	   15355 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 116305065 ns/op	 6232521 B/op	   55641 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115657757 ns/op	 6229611 B/op	   55645 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 116462666 ns/op	 6228360 B/op	   55640 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 116204495 ns/op	 6237211 B/op	   55643 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115256927 ns/op	 6228676 B/op	   55641 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 114942060 ns/op	 6232944 B/op	   55641 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 122209389 ns/op	 8615086 B/op	  109752 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 122119796 ns/op	 8631141 B/op	  109754 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 122335813 ns/op	 8619138 B/op	  109725 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 122883205 ns/op	 8603687 B/op	  109734 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	 107696459 ns/op	 2172724 B/op	   31491 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107226931 ns/op	 2171463 B/op	   31480 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107519803 ns/op	 2187565 B/op	   31481 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107605519 ns/op	 2175308 B/op	   31491 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107919168 ns/op	 2187363 B/op	   31488 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107660036 ns/op	 2186283 B/op	   31483 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 134320335 ns/op	10383105 B/op	  245803 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 133478445 ns/op	10385573 B/op	  245749 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 134563778 ns/op	10384336 B/op	  245792 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 135551773 ns/op	10385200 B/op	  245791 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 134785473 ns/op	10383958 B/op	  245748 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 134718323 ns/op	10383237 B/op	  245765 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 196736234 ns/op	32784713 B/op	 1007216 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 195132065 ns/op	32776437 B/op	 1007188 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 191820814 ns/op	32769700 B/op	 1007151 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 196259533 ns/op	32795061 B/op	 1007161 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 196330202 ns/op	32799980 B/op	 1007168 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 192894682 ns/op	32783866 B/op	 1007194 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103095487 ns/op	  980519 B/op	    8935 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103030228 ns/op	  974509 B/op	    8936 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103526120 ns/op	  978484 B/op	    8938 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102939723 ns/op	  978660 B/op	    8938 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103138966 ns/op	  975008 B/op	    8938 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103165974 ns/op	  970304 B/op	    8933 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106210647 ns/op	 3258499 B/op	   28120 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106587261 ns/op	 3256752 B/op	   28120 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106461956 ns/op	 3253525 B/op	   28119 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106056182 ns/op	 3253607 B/op	   28117 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106252188 ns/op	 3256980 B/op	   28121 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105898471 ns/op	 3257098 B/op	   28121 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103953015 ns/op	 1403837 B/op	   15266 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103893277 ns/op	 1408340 B/op	   15267 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104452529 ns/op	 1412148 B/op	   15270 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104234278 ns/op	 1412316 B/op	   15271 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 104109086 ns/op	 1411752 B/op	   15268 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103984227 ns/op	 1414504 B/op	   15268 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115420250 ns/op	 6224836 B/op	   55295 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115747571 ns/op	 6224464 B/op	   55294 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115403508 ns/op	 6223836 B/op	   55292 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115676400 ns/op	 6224301 B/op	   55293 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115100014 ns/op	 6215352 B/op	   55288 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 114584882 ns/op	 6224324 B/op	   55292 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 121828649 ns/op	 8600532 B/op	  109651 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 121827501 ns/op	 8613487 B/op	  109659 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 121518785 ns/op	 8606853 B/op	  109705 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 121163569 ns/op	 8601644 B/op	  109660 allocs/op

@davidLif
davidLif force-pushed the DavidL/supportPortionalLimitAnnotation branch from f17e5c5 to 2a3f0a6 Compare August 17, 2026 06:39
Signed-off-by: davidLif <davidshani12@gmail.com>
@davidLif
davidLif force-pushed the DavidL/supportPortionalLimitAnnotation branch from 2a3f0a6 to ca53e65 Compare August 17, 2026 11:01
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