nokia/CPU-Pooler

Support containers asking for resources from multiple Pooler managed pools

Closed this issue · 3 comments

Is your feature request related to a problem? Please describe.
Currently a container can only ask CPU pool managed resources from exactly one pool.
Theoretically it could be possible join a container to multiple pools.
This would benefit Pods which are used to supervise their own CPUs, and/or put multiple, different kind of processes into the same container for whatever reason.

Describe the solution you'd like
An easy and straightforward solution would be simply joining the CPU sets of all requested pools into the final one.
Obviously this only works if the application knows about the drawbacks, and is actively managing the related risks itself.
For backward compatibility reasons a new config flag could be introduced to control this feature.

This would be really useful for us

Is it enough to only support a use case where container asks cpus from one shared pool and from one exclusive pool ? That should be quite easy to implement and I can see use case(s) for that. Supporting multiple pools of same type is a bit more trickier. I think that during allocation the device plugin sees requests for one pool only and does not know if there were allocations already for other pools. So combining the CPU allocations to one is probably not possible in the plugin.

yeah, I had the same thought yesterday :) I also think we should support combining 1 shared + 1 exclusive, but it should be enough
@cliffburdick , would it satisfy your use-case? could you elaborate on it a little bit more?