Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] func estimatedUsedByResource calculates the estimated value for prod resources and non-prod resources. #2319

Open
ditingdapeng opened this issue Jan 10, 2025 · 0 comments
Labels
area/koord-scheduler kind/bug Create a report to help us improve

Comments

@ditingdapeng
Copy link

ditingdapeng commented Jan 10, 2025

What happened:
When the estimatedUsedByResource function estimates the resource usage of a pod:

  • For non-prod pods, if the pod's request is less than its limit, the estimation uses limit * scalingFactor as the predicted value (scalingFactor is a preset value, and in this example, the default scaling factor for CPU is 85%).

  • For prod pods, even when the pod's request is equal to its limit, the estimation still uses limit * scalingFactor as the predicted value.

code link

This design affects the filter stage in the load_aware process:

  • Prod Resources
    Node Estimation = Resources of the prod pod to be scheduled + Estimated pod usage for abnormal pods on the node (when metrics cannot be obtained) + Actual metrics that can be retrieved for the node.

For prod resources during scheduling, stability is critical, and the estimated value needs to be on the higher side. Therefore, the limit value of the prod pod should be used for estimation instead of limit * scalingFactor (default is 0.85).

  • Non-Prod Resources
    Node Estimation = Actual metrics of the node - Estimated pod usage for abnormal pods on the node (when metrics cannot be obtained).

For non-prod resources during scheduling, since it involves the estimation of resources on the node, to improve accuracy, the limit value should be used for prod resources, while limit * scalingFactor (default is 0.85) should be used for non-prod resources.

Environment:
Koordinator version: - latest
Kubernetes version (use kubectl version): v1.21.3

@ditingdapeng ditingdapeng added the kind/bug Create a report to help us improve label Jan 10, 2025
@ditingdapeng ditingdapeng changed the title [BUG] [BUG] func estimatedUsedByResource calculates the estimated value for prod resources and non-prod resources. Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/koord-scheduler kind/bug Create a report to help us improve
Projects
None yet
Development

No branches or pull requests

2 participants