volcano icon indicating copy to clipboard operation
volcano copied to clipboard

Increase the default weights of several arguments in nodeorder plugin

Open kerthcet opened this issue 3 years ago • 5 comments

What would you like to be added:

Currently in plugin nodeorder, we have default weights for these kubernetes upstream plugins, but the weights seem problematic.

The default weights of these plugins are all equal to 1, but actually they should not. Imagine that, an end-user explicitly prefer the pod1 to be allocated on nodeA to couple with pod2 for podAffinity policy, but due to the lower utilization of nodeB, pod1 will be scheduled to nodeB then, it's not as expected.

So I'd like to increase the default weights for several upstream plugins:

  1. nodeAffinity weight 1 -> 2
  2. podAffinity weight 1 -> 2
  3. tainttoleration.weight 1 -> 3
//  - plugins:
//    - name: nodeorder
//      arguments:
//        leastrequested.weight: 1
//        mostrequested.weight: 0
//        nodeaffinity.weight: 1
//        podaffinity.weight: 1
//        balancedresource.weight: 1
//        tainttoleration.weight: 1
//        imagelocality.weight: 1

The risk is it's a break change which will result in the different scheduling results, but I think it's more reasonable. By the way, the idea is accepted by the upstream Kubernetes.

Why is this needed:

Better scheduling results.

kerthcet avatar Aug 22 '22 03:08 kerthcet

/assign

kerthcet avatar Aug 22 '22 03:08 kerthcet

cc @Thor-wl for thoughts.

kerthcet avatar Aug 22 '22 03:08 kerthcet

Thanks for your report. It seems reasonable to do this change.

The risk is it's a break change which will result in the different scheduling results, but I think it's more reasonable. By the way, the idea is accepted by the upstream Kubernetes.

Is there any reference for this?

william-wang avatar Aug 26 '22 04:08 william-wang

No documents but we can refer to the code here https://github.com/kubernetes/kubernetes/blob/6dd8b86124e7e4f36f4a3d1939b6ee616ad40c58/pkg/scheduler/apis/config/v1/default_plugins.go#L28-L57

kerthcet avatar Aug 26 '22 15:08 kerthcet

Any thoughts @william-wang

kerthcet avatar Sep 15 '22 09:09 kerthcet

Hello 👋 Looks like there was no activity on this issue for last 90 days. Do you mind updating us on the status? Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! 🤗 If there will be no activity for 60 days, this issue will be closed (we can always reopen an issue if we need!).

stale[bot] avatar Dec 21 '22 00:12 stale[bot]

@kerthcet Thanks for the invitation. I think that's reasonable to optimize the weights of the parameters. BTW, can you give more advice about the values of others' argument according to the real scenarios?

Thor-wl avatar Jan 10 '23 06:01 Thor-wl

Keep them consistent with upstream kubernetes is more convinced to me, that will not surprise users too much when migrating from kubernetes to volcano. So the changes are great enough to me.

kerthcet avatar Jan 10 '23 07:01 kerthcet