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

Paritionable model with grouped resources #29

Merged
merged 7 commits into from
Jun 15, 2024

Conversation

johnbelamaric
Copy link
Contributor

This is another alternative to the partitionable model.

The PR is a delta on top of #27.

Rather than flattening the individual physical GPU named resources into a single array, this is closer to Kevin's original, and keeps each physical GPU's shared resources in a separate struct. The individual devices then consume from those structs, by name. It is also possible for a device to consume from multiple shared resource groups, though that is not shown in the example.

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: johnbelamaric

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jun 14, 2024
//
// +listType=atomic
// +optional
SharedCapacity []SharedCapacity `json:"sharedCapacity,omitempty"`
Copy link
Contributor

@klueska klueska Jun 14, 2024

Choose a reason for hiding this comment

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

Maybe items is a better name so it's not stuttering so much.

Suggested change
SharedCapacity []SharedCapacity `json:"sharedCapacity,omitempty"`
Items []SharedCapacity `json:"items,omitempty"`

I'd also say that its not optional. If you have one of these, it should have at least one item in it.

Comment on lines +62 to +70
// SharedCapacity defines the sets of shared capacity consumable by
// devices in this ResourceSlice.
//
// Must not have more than 16 entries.
//
// +listType=atomic
// +optional
SharedCapacity []SharedCapacityGroup `json:"sharedCapacity,omitempty"`

Copy link
Contributor

Choose a reason for hiding this comment

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

Does it make sense to double down on this PR and add the notion of SharedAttributes with a similar structure (i.e. a named group of attributes)? Then we can create groups of common attributes that individual devices can reference by name to include (in addition to their own local attributes, which would take precedence on nameing conflicts).

Copy link
Contributor

Choose a reason for hiding this comment

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

I had this in some proposal somewhere, but I an't seem to find it anymore.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's combining this with option 3. I am working through various options, see #20

Let's see all the options before we decide which to iterate on.

@thockin
Copy link

thockin commented Jun 15, 2024

Since this is "what's in the KEP" I think we should merge it and rebase all the options on it, so they appear as diffs.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 15, 2024
@k8s-ci-robot k8s-ci-robot merged commit 09d5d83 into kubernetes-sigs:main Jun 15, 2024
2 checks passed
@thockin
Copy link

thockin commented Jun 15, 2024

Shoot, I screwed up and approved the wrong one! I meant to LGTM #27 !!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants