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

TAS: Optimize Workload object size by listing only hostname values in .status.TopologyAssignment field #3671

Open
PBundyra opened this issue Nov 27, 2024 · 1 comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@PBundyra
Copy link
Contributor

What would you like to be added:
Optimization to list only hostname values in TopologyAssignment if a user

Why is this needed:
To optimize Workload object size. Currently etcd object size is limited to 1,5MB and on large scale this can be a blocker for us to support big hero workloads

@PBundyra PBundyra added the kind/feature Categorizes issue or PR as related to a new feature. label Nov 27, 2024
@mimowo
Copy link
Contributor

mimowo commented Nov 27, 2024

cc @tenzen-y the reason is that if user specifies the kubernetes.io/hostname as the lowest level, then we don't need to pass the entire list of values in the TopologyAssignment.domain[].values, because the last value already identifies the node in the cluster. So, having just this in the nodeSelector for the pod is enough. In case "subblock" or "block" being the lowest level we still need to pass the entire path, because they could not be unique in the cluster.

So, assuming 50bytes per level, 4 levels, and 1Mi for the topology assignment, then we could only have 5k domains, as : 4 * 50 bytes * 5000 domains = 10^6 bytes. By setting only the lowest level we can assign 20k domains, which is good enough for most big clusters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

2 participants