Hi team, we just upgraded kuberay and ray from `2....
# general
g
Hi team, we just upgraded kuberay and ray from
2.35.0
to
2.53.0
. We are using autoscaling clusters. One thing I am noticing is that the ray cluster is not scaling to the same number of workers after changing, leading to longer runtime. There is more work that could be done by scaling up, but seems like daft doesn't know this? Any way I could get it scale up more workers through some configuration or partitioning upfront? Trying to avoid manual scale up/down.
💡 1
d
Hey Garrett, could you try setting
RAY_enable_autoscaler_v2=0
to see if that helps? It would help us triage what's going on
Daft also triggers ray.autoscaler.sdk.request_resources() when pending_tasks / total_cluster_cpus > 1.25. You can lower this with the env var
DAFT_AUTOSCALING_THRESHOLD=1.0
to make it fire as soon as there's any overflow beyond current capacity.
g
let me give those a try and see what happens
maybe this is an issue on our side, I made the autoscaling threshold lower first and it does seem to scale up a few more workers, but autoscalar is returning the following at some point
No available node types can fulfill cluster constraint: {'CPU': 1.0, 'memory': 0.0, 'GPU': 0.0}*451. Add suitable node types to this cluster to resolve this issue.
how should I interpret
{'CPU': 1.0, 'memory': 0.0, 'GPU': 0.0}*451
?
so I think it wants to go to 10 workers (max for the cluster), but is blocked because we are requesting something that is not available
note, I saw the same thing on v1 and v2 autoscaler
d
Hmm will need to take a closer look at our autoscaler to confirm if this is an issue on our end. As a temporary unblock (and to help us confirm the diagnosis), could you try calling
request_resources
directly from your driver code before running the pipeline? This bypasses Daft's autoscaling logic entirely and tells Ray's autoscaler the full demand upfront:
Copy code
import ray
from ray.autoscaler.sdk import request_resources

# init ray...

# Manually scale
request_resources(num_cpus=TOTAL_CPUS_AT_MAX_SCALE)  # e.g. 10 workers * CPUs per worker

# then run your Daft pipeline as normal
If the cluster scales to 10 workers and runtime matches what you saw on 2.35.0, that confirms the issue is on our end. Would be useful to know either way.
g
will give that a try tomorrow
🙌 1