Why util**3 when calculating util score in autoscaler?

Here, we use v * (util**3) to calculate a node’s utilization score. I was wondering why util ** 3.
Any document to explain that?

@ericl sorry to bother you. I was wondering why not just use util or util ** 2 as score?

Cc also @Alex, I think I recall you or @ericl explaining this once, but I forgot.

I took another look at the score, which is

v * u^3

where v is the node’s total resource quantity and u is the utilization fraction.

Will try to conceptualize this. We could equivalently rank by the cube root of the expression above

v^(1/3) * u

That’s utilization times a slowly growing factor of the node’s size. 3, as opposed to 2 or 4, is to-taste.

So we care most about utilization, but we give a slight preference to larger nodes that will do a better job of satisfying resource requests.

The idea of preferring nodes that will fulfill more of the resource demands also motivated a recent change to the ranking strategy that favors nodes that satisfy /more resource types/.

1 Like