You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature] Allow SimpleStorage placement to target eligible Ray nodes #150
Since #144, SimpleStorage hard round-robins storage units across every alive Ray node. This preserves even distribution on a homogeneous cluster, but it also places storage units across unrelated node groups in a shared heterogeneous cluster.
A public two-node reproduction is:
# Node A
ray start --head --resources='{"storage_pool": 1}'# Node B
ray start --address='<head-address>' --resources='{"compute_pool": 1}'
With both nodes alive, initializing SimpleStorage schedules units across both nodes even when only nodes advertising storage_pool should host storage.
Proposed behavior
Add an optional SimpleStorage placement filter based on a Ray custom resource, for example an eligible custom-resource name or equivalent node filter.
When the option is unset, keep the current behavior exactly: round-robin across all alive Ray nodes.
When set, include only alive nodes whose matching custom resource has a positive capacity.
Keep hard NodeAffinitySchedulingStrategy placement and round-robin only within the eligible set.
If no alive node matches, fail during initialization with a clear error instead of creating actors that cannot satisfy the intended placement.
Dead nodes must never be eligible.
This should only filter the node list used by SimpleStorage; it should not monkeypatch Ray scheduling or change other storage backends.
Activity
[feat] Filter SimpleStorage nodes by custom resource (Ascend#151)