Should we abandon the current 1 demand == 1 CPU constraint? #210
maxfischer2781
started this conversation in
Ideas
Replies: 1 comment 7 replies
-
I think one problem with |
Beta Was this translation helpful? Give feedback.
7 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is triggered by #209, where I started writing it. But it's not really a "we shouldn't do #209!", it's more of a "what does #209 tell us?".
I'm not sure the way we translate
demand
to "CPU Cores" right now is the correct approach.As a reminder, COBalD doesn't care whether a Drone has 1, 2, 4, 8, … CPU Cores, just as it doesn't care whether a Drone has 1, 2, 3, … GB RAM/Core. COBalD doesn't care that a Drone has CPU Cores or RAM.
In fact, COBalD doesn't even care about Drones. In fact, COBalD doesn't even care about
demand
beyond it being a number.So equating "1
demand
" to "1 CPU Core" to "1 Drone / n CPU Cores" and trying to make things fit to that equality is a non sequitur. "1demand
" can mean whatever we want it to, and that is kind of the point.If we get stuck in goose chases because we enforce this equality, perhaps we should just abandon it?
As I see it, Option 1 is that we stick to
demand
~ Cores and Option 2 is that we don't.For Option 1, if we want COBalD to increase/decrease in "integer Drones" only we must set the Controller to do so. E.g. for the
LinearController
that meansinterval * rate
== n CPU/Drone.If we stick with 8 CPU Drones, that's 1s * 8, 8s * 1, 16s * 1, 16s * 0.5 or whatever. Standardizing that to multiples of 8 helps with rounding errors but isn't strictly needed (as #209 shows, actually).
For Option 2, we can choose whatever
demand
actually means. E.g. we can say that "1demand
" means "1 Drone" and things are pretty straightforward. Or we can say that "1demand
" means "1 CPU x 1 GB RAM" and numbers are huge but comparable.Especially if we do abandon granularity, I think that would actually be helpful. E.g. for the outstanding idea of probing empty pools, we just care that there is "more than 0" (every now and then) but the details of what that means are more of a backend decision.
Beta Was this translation helpful? Give feedback.
All reactions