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

Supported job frameworks with TAS #3886

Open
kerthcet opened this issue Dec 19, 2024 · 7 comments
Open

Supported job frameworks with TAS #3886

kerthcet opened this issue Dec 19, 2024 · 7 comments
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt.

Comments

@kerthcet
Copy link
Contributor

What would you like to be cleaned:

What's the current supported job frameworks with TAS, batch job etc., it will be great to list them under https://kueue.sigs.k8s.io/docs/concepts/topology_aware_scheduling/.

Why is this needed:

@kerthcet kerthcet added the kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. label Dec 19, 2024
@kerthcet kerthcet changed the title Support jobs with TAS Supported job frameworks with TAS Dec 19, 2024
@mimowo
Copy link
Contributor

mimowo commented Dec 19, 2024

Good idea! We could also elaborate a bit more on how to use it for Pod Groups with rank-based ordering.
cc @mwysokin @PBundyra

@kerthcet
Copy link
Contributor Author

Can you give a short summary about the job framework support right now? @mimowo

@mimowo
Copy link
Contributor

mimowo commented Dec 19, 2024

Sure, the baseline TAS is supported in all Jobs which call jobframework.PodSetTopologyRequest: https://github.com/search?q=repo%3Akubernetes-sigs%2Fkueue+jobframework.PodSetTopologyRequest&type=code. AFAIK this are all workloads: Job, JobSet, Kubeflow, Ray, Pod Groups.

The rank-based ordering is an enhancement on top of that available for Jobs which call this function with the label indexing the pods, such as here for Kubeflow. To make rank-based ordering for PodGroups we introduced a dedicated label called "pod-group-pod-index". Moreover, for more flexibility we have "pod-group-pod-index-label" which indicates another third-party label which might be indexing the pods.

I think RayJob and RayCluster currently don't support rank-based ordering, but it might be an omission.

@mimowo
Copy link
Contributor

mimowo commented Dec 19, 2024

cc @andrewsykim are the pods created by RayJob or RayCluster indexed by a label or annotation?

@kerthcet
Copy link
Contributor Author

Thanks, we mostly want to try this with Kubeflow jobs.

@andrewsykim
Copy link
Member

cc @andrewsykim are the pods created by RayJob or RayCluster indexed by a label or annotation?

No, is this required for TAS?

@PBundyra
Copy link
Contributor

No, is this required for TAS?

It is not required to use TAS in general. However if pods are indexed, TAS will place neighbouring pods next to each other if properly configured

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt.
Projects
None yet
Development

No branches or pull requests

4 participants