Skip to content

[feat] Filter SimpleStorage nodes by custom resource - #151

Merged
0oshowero0 merged 2 commits into
Ascend:mainfrom
nataliekung:feat/simple-storage-node-resource
Aug 12, 2026
Merged

[feat] Filter SimpleStorage nodes by custom resource#151
0oshowero0 merged 2 commits into
Ascend:mainfrom
nataliekung:feat/simple-storage-node-resource

Conversation

@nataliekung

@nataliekung nataliekung commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add optional backend.SimpleStorage.node_resource placement filtering.
  • Keep the existing hard round-robin behavior across all alive Ray nodes when the option is unset.
  • When set, schedule only on alive nodes with a positive value for that custom resource and fail fast with an actionable ValueError when none match.
  • Keep the default and performance-test configs aligned and add focused scheduling coverage.

Compatibility

node_resource defaults to null, so existing configurations and placement behavior are unchanged. The filter only affects SimpleStorage; other storage backends are unchanged.

Closes #150

Tests

  • RAY_ADDRESS=local uv run python -m pytest -q tests/test_simple_storage_scheduling.py tests/test_simple_storage_unit.py tests/test_async_simple_storage_manager.py tests/e2e/test_e2e_lifecycle_consistency.py tests/e2e/test_kv_interface_e2e.py (109 passed, 2 skipped)
  • uv run pre-commit run --all-files --show-diff-on-failure --color=never
  • uv run python -m compileall -q transfer_queue tutorial tests

Allow SimpleStorage to restrict hard round-robin placement to alive Ray
nodes with a positive custom resource while preserving the all-alive-node
default when the option is unset.

Closes Ascend#150

Signed-off-by: nataliekung <4054699+nataliekung@users.noreply.github.com>
@nataliekung

Copy link
Copy Markdown
Contributor Author

Could a maintainer please approve the pending workflows for this fork PR? The focused local suite passed (6 tests), and an independent review found no blockers.

@nataliekung
nataliekung marked this pull request as draft August 12, 2026 01:02
# Recommended: >= 2 x number of nodes so each node hosts multiple units.
num_data_storage_units: 16
# Optional Ray custom resource required on storage nodes. null keeps all alive nodes eligible.
node_resource: null

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest we rename the config as required_node_resource

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed it to required_node_resource throughout the config, implementation, error message, and tests. Thanks for the suggestion.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed it to required_node_resource throughout the config, implementation, error message, and tests. Thanks for the suggestion.

Signed-off-by: nataliekung <4054699+nataliekung@users.noreply.github.com>
@0oshowero0

Copy link
Copy Markdown
Collaborator

I have no further comments. You can turn the PR as ready for review if you have no more further changes.

@nataliekung
nataliekung marked this pull request as ready for review August 12, 2026 08:53
@0oshowero0
0oshowero0 merged commit 3c3704c into Ascend:main Aug 12, 2026
8 checks passed
@ascend-robot

Copy link
Copy Markdown

CLA Signature Guide

@nataliekung , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
[d2d9ca4 [feat] Filter SimpleStorage nod...](d2d9ca4) the email used in the commit is an invalid email!
please check all commits.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

1 similar comment
@ascend-robot

Copy link
Copy Markdown

CLA Signature Guide

@nataliekung , thanks for your pull request.

The following commit(s) are not associated with a signed Contributor License Agreement (CLA).

Commit Reason
[d2d9ca4 [feat] Filter SimpleStorage nod...](d2d9ca4) the email used in the commit is an invalid email!
please check all commits.

To sign CLA, click here.

To check if your email is configured correctly, refer to the FAQs.

Once you've signed the CLA or updating your email, please comment /check-cla to revalidate CLA status.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Allow SimpleStorage placement to target eligible Ray nodes

3 participants