Hi all, I have a questions about defining prioriti...
# ask-metaflow
l
Hi all, I have a questions about defining priorities for using different nodes in K8s for different types of compute. For example I have 3 nodes and I’d like to run CPU loads on nodes in this order node1, node2, node3 but GPU loads run on node3, node2, node1. Is there a way to set these priorities using Metaflow or K8? I found this switch but not sure if this will allow to use more then one node, if default one is busy, will it run on another?
Copy code
# Default node selectors to use by K8S jobs created by Metaflow - foo=bar,baz=bab
KUBERNETES_NODE_SELECTOR = from_conf("KUBERNETES_NODE_SELECTOR", "")
Another question, what happens if there are no resources in the cluster at the moment? Will it wait until resources will be available or just fails? Will queue work if I use Argo? And last one, can I set priorities for jobs so Argo manages which job to start first? Thanks!
āœ… 1
a
šŸ‘‹šŸ¼ this is an interesting scenario. Mind sharing the context behind it?
if you don't have available resources, the job will wait till the resources are made available
we will be introducing the notion of priorities soon within Metaflow - that will allow you to control pod scheduling
we can look into exposing node affinities that will allow prioritizing certain workloads on certain node groups over others
l
My nodes and not the same. Nodes with slower gpus should be prioritized for cpu only loads to keep nodes with faster gpu available for gpu loads.
s
makes sense - we have plans to prioritize certain types of nodes over others for specific workloads. That should be able to cover your use case.
l
Hi @ancient-application-36103 any idea on when this might be implemented?