Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Core feature] Allow different resource configs to ray worker and head #4377

Open
2 tasks done
ByronHsu opened this issue Nov 7, 2023 · 6 comments
Open
2 tasks done
Assignees
Labels
backlogged For internal use. Reserved for contributor team workflow. enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@ByronHsu
Copy link
Contributor

ByronHsu commented Nov 7, 2023

Motivation: Why do you think this is important?

Currently, ray workers and head both use the same pod template so that they will be launched with the same pod resources at runtime. However, in some cases, users only want GPU on the worker nodes but not the head. Other times, users want to create two groups: one with CPUd and another with GPUs.

Goal: What should the final outcome look like, ideally?

Users can pass different configs to the ray worker and head.

For example:

ray_config = RayJobConfig(
    head_node_config=HeadNodeConfig(
        requests=Resources(mem="64Gi", cpu="4"),
        limits=Resources(mem="64Gi", cpu="4")
    ),
    worker_node_config=[
        WorkerNodeConfig(
            group_name="cpu-group",
            replicas=4,
            requests=Resources(mem="256Gi", cpu="64"),
            limits=Resources(mem="256Gi", cpu="64"),
        ),
        WorkerNodeConfig(
            group_name="gpu-group",
            replicas=2,
            requests=Resources(mem="480Gi", cpu="60", gpu="2"),
            limits=Resources(mem="480Gi", cpu="60", gpu="2")
        )
    ],
)

Describe alternatives you've considered

no alternative

Propose: Link/Inline OR Additional context

No response

Are you sure this issue hasn't been raised already?

  • Yes

Have you read the Code of Conduct?

  • Yes
@ByronHsu ByronHsu added enhancement New feature or request untriaged This issues has not yet been looked at by the Maintainers labels Nov 7, 2023
@eapolinario eapolinario removed the untriaged This issues has not yet been looked at by the Maintainers label Nov 9, 2023
@eapolinario eapolinario self-assigned this Nov 9, 2023
@eapolinario
Copy link
Contributor

This looks like a reasonable feature. Thanks for raising it, @ByronHsu !

This would be a great first issue to work on.

@eapolinario eapolinario added the good first issue Good for newcomers label Nov 9, 2023
@ByronHsu
Copy link
Contributor Author

Me or @troychiu will be on it

@jeevb
Copy link
Contributor

jeevb commented Nov 15, 2023

This is relevant to other plugins that follow a driver-worker pattern (e.g. ray, spark, kfoperator).

@vkaiser-mb
Copy link

FYI: created an additional issue wich is very related to this one:
#4674

Its extending the idea by also allowing pod specifications.

@vkaiser-mb
Copy link

@ByronHsu Any updates? What do you think about my extension?

@eapolinario
Copy link
Contributor

We'll regroup in re-prioritize this feature in the coming sprints.

@eapolinario eapolinario added the backlogged For internal use. Reserved for contributor team workflow. label Apr 29, 2024
@eapolinario eapolinario added the help wanted Extra attention is needed label May 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlogged For internal use. Reserved for contributor team workflow. enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants